From 6c0395b65eb131789e0fb1066d7bcab1411ad4c5 Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Tue, 8 Feb 2011 19:10:00 +0100 Subject: [PATCH] Use DESKTOP_SESSION variable if set to look for Xfce --- midori/sokoke.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/midori/sokoke.c b/midori/sokoke.c index 1a7a4d29..b772bab5 100644 --- a/midori/sokoke.c +++ b/midori/sokoke.c @@ -970,7 +970,16 @@ sokoke_get_desktop (void) static SokokeDesktop desktop = SOKOKE_DESKTOP_UNTESTED; if (G_UNLIKELY (desktop == SOKOKE_DESKTOP_UNTESTED)) { - /* Are we running in Xfce? */ + desktop = SOKOKE_DESKTOP_UNKNOWN; + + /* Are we running in Xfce >= 4.8? */ + if (!g_strcmp0 (g_getenv ("DESKTOP_SESSION"), "xfce")) + { + desktop = SOKOKE_DESKTOP_XFCE; + } + else + { + /* Are we running in Xfce <= 4.6? */ GdkDisplay* display = gdk_display_get_default (); Display* xdisplay = GDK_DISPLAY_XDISPLAY (display); Window root_window = RootWindow (xdisplay, 0); @@ -984,13 +993,13 @@ sokoke_get_desktop (void) save_mode_atom, 0, (~0L), False, AnyPropertyType, &actual_type, &actual_format, &n_items, &bytes, (unsigned char**)&value); - desktop = SOKOKE_DESKTOP_UNKNOWN; if (status == Success) { if (n_items == 6 && !strncmp (value, "xfce4", 6)) desktop = SOKOKE_DESKTOP_XFCE; XFree (value); } + } } return desktop;