summaryrefslogtreecommitdiff
path: root/hardinfo2/arch/linux
diff options
context:
space:
mode:
authorLeandro A. F. Pereira <leandro@hardinfo.org>2006-12-26 15:18:24 +0000
committerLeandro A. F. Pereira <leandro@hardinfo.org>2006-12-26 15:18:24 +0000
commit2ca2315a3b06f17e65aca09e828ad1448eb84689 (patch)
treee2761378bc11e2c7b0c32a8d5a20295529065bb0 /hardinfo2/arch/linux
parent8b3968f8511d1e8d51ff9fb78d9288a1e88e4b56 (diff)
More fixes.
Diffstat (limited to 'hardinfo2/arch/linux')
-rw-r--r--hardinfo2/arch/linux/common/os.h23
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");
}
}
}