diff options
author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2006-12-26 15:18:24 +0000 |
---|---|---|
committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2006-12-26 15:18:24 +0000 |
commit | 2ca2315a3b06f17e65aca09e828ad1448eb84689 (patch) | |
tree | e2761378bc11e2c7b0c32a8d5a20295529065bb0 /hardinfo2/arch/linux/common | |
parent | 8b3968f8511d1e8d51ff9fb78d9288a1e88e4b56 (diff) |
More fixes.
Diffstat (limited to 'hardinfo2/arch/linux/common')
-rw-r--r-- | hardinfo2/arch/linux/common/os.h | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/hardinfo2/arch/linux/common/os.h b/hardinfo2/arch/linux/common/os.h index 0f7b59e3..b4404925 100644 --- a/hardinfo2/arch/linux/common/os.h +++ b/hardinfo2/arch/linux/common/os.h @@ -105,18 +105,23 @@ detect_desktop_environment(OperatingSystem * os) if (!g_getenv("DISPLAY")) { os->desktop = g_strdup("Terminal"); } else { - const gchar *windowman; GdkScreen *screen = gdk_screen_get_default(); - - windowman = gdk_x11_screen_get_window_manager_name(screen); - if (g_str_equal(windowman, "Xfwm4")) { - /* FIXME: check if xprop -root | grep XFCE_DESKTOP_WINDOW - is defined */ - os->desktop = g_strdup("XFCE 4"); + if (screen && GDK_IS_SCREEN(screen)) { + const gchar *windowman; + + windowman = gdk_x11_screen_get_window_manager_name(screen); + + if (g_str_equal(windowman, "Xfwm4")) { + /* FIXME: check if xprop -root | grep XFCE_DESKTOP_WINDOW + is defined */ + os->desktop = g_strdup("XFCE 4"); + } else { + os->desktop = g_strdup_printf("Unknown (Window Manager: %s)", + windowman); + } } else { - os->desktop = g_strdup_printf("Unknown (Window Manager: %s)", - windowman); + os->desktop = g_strdup("Unknown"); } } } |