--- b/arch/linux/common/os.h 2013-09-16 23:12:33.000000000 +0400 +++ b/arch/linux/common/os.h.new 2013-09-16 23:18:31.142851474 +0400 @@ -151,9 +151,19 @@ is defined */ os->desktop = g_strdup("XFCE 4"); } else { + if (g_getenv("XDG_CURRENT_DESKTOP")) { + os->desktop = g_strdup(g_getenv("XDG_CURRENT_DESKTOP")); + if (g_getenv("DESKTOP_SESSION") && + !g_str_equal(os->desktop, g_getenv("DESKTOP_SESSION"))) { + os->desktop = g_strdup_printf("%s (%s)", + g_getenv("XDG_CURRENT_DESKTOP"), + g_getenv("DESKTOP_SESSION")); + } + } else { os->desktop = g_strdup_printf("Unknown (Window Manager: %s)", windowman); } + } } else { os->desktop = g_strdup("Unknown"); }