summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Attali <jeremy.attali@gmail.com>2020-06-03 08:42:33 -0400
committerGitHub <noreply@github.com>2020-06-03 05:42:33 -0700
commitc822efeda9a0afe87cf3429724732fc8e19a01fb (patch)
tree7ff5d75174b62bdfce1f853a7944974e107df04a
parentfa7ab6aa0f9a4f695e5525db5a113cd21fa93787 (diff)
downloadcpython-git-c822efeda9a0afe87cf3429724732fc8e19a01fb.tar.gz
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.py#L292) Let me know if something doesn't match the PR guidelines. This is my first PR in the python source code.
-rwxr-xr-xLib/webbrowser.py2
-rw-r--r--Misc/NEWS.d/next/Library/2020-05-27-21-27-01.bpo-40767.L5MnVV.rst3
2 files changed, 4 insertions, 1 deletions
diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py
index 9c73bcfb44..3dcf66b659 100755
--- a/Lib/webbrowser.py
+++ b/Lib/webbrowser.py
@@ -545,7 +545,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 0000000000..4bebb311b4
--- /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.