From 0189b6cd8a2ed39da4398ad410576722672621ea Mon Sep 17 00:00:00 2001 From: Sambhav Kothari Date: Wed, 14 Dec 2016 21:10:11 +0530 Subject: [PATCH 1/2] PICARD-857: Add themeing support for GNOME-3 and remove deprecated checks Gnome 3 recommends using gsettings to get and set values, as a result gconftool-2 does not return a value in gnome3. Also GNOME_SESSION_ID as a variable has been deprecated, so the detection of Gnome as a DE has been changed accordingly. --- picard/util/icontheme.py | 4 ++-- picard/util/webbrowser2.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/picard/util/icontheme.py b/picard/util/icontheme.py index c9ff83b0c..b6ee5c0e6 100644 --- a/picard/util/icontheme.py +++ b/picard/util/icontheme.py @@ -30,8 +30,8 @@ else: '/usr/share/pixmaps', ] -if 'GNOME_DESKTOP_SESSION_ID' in os.environ: - _current_theme = os.popen('gconftool-2 -g /desktop/gnome/interface/icon_theme').read().strip() or None +if 'DESKTOP_SESSION' in os.environ and os.environ['DESKTOP_SESSION'].lower() == 'gnome': + _current_theme = os.popen('gconftool-2 -g /desktop/gnome/interface/icon_theme').read().strip() or os.popen('gsettings get org.gnome.desktop.interface icon-theme').read().strip() or None elif os.environ.get('KDE_FULL_SESSION'): _current_theme = os.popen("kreadconfig --file kdeglobals --group Icons --key Theme --default crystalsvg").read().strip() or None else: diff --git a/picard/util/webbrowser2.py b/picard/util/webbrowser2.py index d1bb0a822..f0c36083e 100644 --- a/picard/util/webbrowser2.py +++ b/picard/util/webbrowser2.py @@ -39,7 +39,7 @@ if sys.version_info >= (2, 5): if 'KDE_FULL_SESSION' in os.environ and os.environ['KDE_FULL_SESSION'] == 'true' and webbrowser._iscommand('kfmclient'): webbrowser.register('kfmclient', None, webbrowser.BackgroundBrowser(["kfmclient", "exec", "%s"]), update_tryorder=-1) # GNOME default browser - if 'GNOME_DESKTOP_SESSION_ID' in os.environ and webbrowser._iscommand('gnome-open'): + if 'DESKTOP_SESSION' in os.environ and os.environ['DESKTOP_SESSION'].lower() == 'gnome' and webbrowser._iscommand('gnome-open'): webbrowser.register('gnome-open', None, webbrowser.BackgroundBrowser(["gnome-open", "%s"]), update_tryorder=-1) @@ -52,7 +52,7 @@ else: else: webbrowser._tryorder.insert(0, 'kfmclient') # GNOME default browser - if 'GNOME_DESKTOP_SESSION_ID' in os.environ and webbrowser._iscommand('gnome-open'): + if 'DESKTOP_SESSION' in os.environ and os.environ['DESKTOP_SESSION'].lower() == 'gnome' and webbrowser._iscommand('gnome-open'): webbrowser.register('gnome-open', None, webbrowser.GenericBrowser("gnome-open '%s' &")) if 'BROWSER' in os.environ: webbrowser._tryorder.insert(len(os.environ['BROWSER'].split(os.pathsep)), 'gnome-open') From d2f078da1dfeb94df796c62ac336cafe9beca43b Mon Sep 17 00:00:00 2001 From: samj1912 Date: Thu, 15 Dec 2016 01:16:25 +0530 Subject: [PATCH 2/2] Remove quotes from theme name --- picard/util/icontheme.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/picard/util/icontheme.py b/picard/util/icontheme.py index b6ee5c0e6..c5eeabe59 100644 --- a/picard/util/icontheme.py +++ b/picard/util/icontheme.py @@ -31,7 +31,7 @@ else: ] if 'DESKTOP_SESSION' in os.environ and os.environ['DESKTOP_SESSION'].lower() == 'gnome': - _current_theme = os.popen('gconftool-2 -g /desktop/gnome/interface/icon_theme').read().strip() or os.popen('gsettings get org.gnome.desktop.interface icon-theme').read().strip() or None + _current_theme = os.popen('gconftool-2 -g /desktop/gnome/interface/icon_theme').read().strip() or os.popen('gsettings get org.gnome.desktop.interface icon-theme').read().strip()[1:-1] or None elif os.environ.get('KDE_FULL_SESSION'): _current_theme = os.popen("kreadconfig --file kdeglobals --group Icons --key Theme --default crystalsvg").read().strip() or None else: