Skip to content

Commit d13cfdf

Browse files
committed
webbrowser: Use $XDG_CURRENT_DESKTOP to check desktop
Usage of $GNOME_DESKTOP_SESSION_ID env variable is deprecated since GNOME 3.30.0 [1], so should not be used, while the standard XDG_CURRENT_DESKTOP should be instead preferred. [1] https://gitlab.gnome.org/GNOME/gnome-session/-/commit/00e0e6226371d53f65
1 parent da4e09f commit d13cfdf

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Lib/webbrowser.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -461,16 +461,22 @@ def register_X_browsers():
461461
if shutil.which("xdg-open"):
462462
register("xdg-open", None, BackgroundBrowser("xdg-open"))
463463

464+
xdg_desktop = os.getenv("XDG_CURRENT_DESKTOP", "").split(":")
465+
464466
# The default GNOME3 browser
465-
if "GNOME_DESKTOP_SESSION_ID" in os.environ and shutil.which("gvfs-open"):
467+
if (("GNOME" in xdg_desktop or
468+
"GNOME_DESKTOP_SESSION_ID" in os.environ) and
469+
shutil.which("gvfs-open")):
466470
register("gvfs-open", None, BackgroundBrowser("gvfs-open"))
467471

468472
# The default GNOME browser
469473
if "GNOME_DESKTOP_SESSION_ID" in os.environ and shutil.which("gnome-open"):
470474
register("gnome-open", None, BackgroundBrowser("gnome-open"))
471475

472476
# The default KDE browser
473-
if "KDE_FULL_SESSION" in os.environ and shutil.which("kfmclient"):
477+
if (("KDE" in xdg_desktop or
478+
"KDE_FULL_SESSION" in os.environ) and
479+
shutil.which("kfmclient")):
474480
register("kfmclient", Konqueror, Konqueror("kfmclient"))
475481

476482
if shutil.which("x-www-browser"):

0 commit comments

Comments
 (0)