[Python-checkins] bpo-40767: Allow pure Wayland to get default XDG web browser (GH-20382)

Miss Islington (bot) webhook-mailer at python.org
Wed Jun 3 09:01:28 EDT 2020


https://github.com/python/cpython/commit/911c35d5d334b8c148202f2a7a32b511958032fc
commit: 911c35d5d334b8c148202f2a7a32b511958032fc
branch: 3.7
author: Miss Islington (bot) <31488909+miss-islington at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2020-06-03T06:01:23-07:00
summary:

bpo-40767: Allow pure Wayland to get default XDG web browser (GH-20382)


Would be nice to backport to python 3.7+. I don't think it's worth the hassle to backport this all the way down to 3.10. But I'll let the maintainers decide.

This is hard to test because the test setup already includes this [environment variable](https://github.com/python/cpython/blob/master/Lib/test/pythoninfo.pyGH-L292)

Let me know if something doesn't match the PR guidelines. This is my first PR in the python source code.
(cherry picked from commit c822efeda9a0afe87cf3429724732fc8e19a01fb)

Co-authored-by: Jeremy Attali <jeremy.attali at gmail.com>

files:
A Misc/NEWS.d/next/Library/2020-05-27-21-27-01.bpo-40767.L5MnVV.rst
M Lib/webbrowser.py

diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 34b86a505c246..b04ec7b65ae3b 100755
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -540,7 +540,7 @@ def register_standard_browsers():
                 register(browser, None, BackgroundBrowser(browser))
     else:
         # Prefer X browsers if present
-        if os.environ.get("DISPLAY"):
+        if os.environ.get("DISPLAY") or os.environ.get("WAYLAND_DISPLAY"):
             try:
                 cmd = "xdg-settings get default-web-browser".split()
                 raw_result = subprocess.check_output(cmd, stderr=subprocess.DEVNULL)
diff --git a/Misc/NEWS.d/next/Library/2020-05-27-21-27-01.bpo-40767.L5MnVV.rst b/Misc/NEWS.d/next/Library/2020-05-27-21-27-01.bpo-40767.L5MnVV.rst
new file mode 100644
index 0000000000000..4bebb311b4d54
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2020-05-27-21-27-01.bpo-40767.L5MnVV.rst
@@ -0,0 +1,3 @@
+:mod:`webbrowser` now properly finds the default browser in pure Wayland
+systems by checking the WAYLAND_DISPLAY environment variable. Patch
+contributed by Jérémy Attali.



More information about the Python-checkins mailing list