diff --git a/Lib/webbrowser.py b/Lib/webbrowser.py --- a/Lib/webbrowser.py +++ b/Lib/webbrowser.py @@ -429,16 +429,23 @@ def register_X_browsers(): # The default GNOME browser if "GNOME_DESKTOP_SESSION_ID" in os.environ and shutil.which("gnome-open"): register("gnome-open", None, BackgroundBrowser("gnome-open")) # The default KDE browser if "KDE_FULL_SESSION" in os.environ and shutil.which("kfmclient"): register("kfmclient", Konqueror, Konqueror("kfmclient")) + # The default XFCE browser + _xdg_current_desktop = os.environ.get("XDG_CURRENT_DESKTOP", "").lower() + _desktop_session = os.environ.get("DESKTOP_SESSION", "").lower() # fallback + if ((_xdg_current_desktop == "xfce" or _desktop_session == "xfce") and + shutil.which("exo-open")): + register("exo-open", None, BackgroundBrowser("exo-open")) + if shutil.which("x-www-browser"): register("x-www-browser", None, BackgroundBrowser("x-www-browser")) # The Mozilla/Netscape browsers for browser in ("mozilla-firefox", "firefox", "mozilla-firebird", "firebird", "iceweasel", "iceape", "seamonkey", "mozilla", "netscape"):