]> Dogcows Code - chaz/openbox/blobdiff - openbox/screen.c
fallback to transient parents properly
[chaz/openbox] / openbox / screen.c
index 9ed7e057622b8764f2c87044300fb48c9c610758..d97a732b58e3a1dad883a929c48ee0a73cfe709b 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    screen.c for the Openbox window manager
-   Copyright (c) 2004        Mikael Magnusson
+   Copyright (c) 2006        Mikael Magnusson
    Copyright (c) 2003        Ben Jansens
 
    This program is free software; you can redistribute it and/or modify
@@ -156,7 +156,7 @@ gboolean screen_annex()
     XSetWindowAttributes attrib;
     pid_t pid;
     gint i, num_support;
-    guint32 *supported;
+    gulong *supported;
 
     /* create the netwm support window */
     attrib.override_redirect = TRUE;
@@ -204,9 +204,10 @@ gboolean screen_annex()
                window, screen_support_win);
 
     /* set the _NET_SUPPORTED_ATOMS hint */
-    num_support = 51;
+    num_support = 55;
     i = 0;
-    supported = g_new(guint32, num_support);
+    supported = g_new(gulong, num_support);
+    supported[i++] = prop_atoms.net_wm_full_placement;
     supported[i++] = prop_atoms.net_current_desktop;
     supported[i++] = prop_atoms.net_number_of_desktops;
     supported[i++] = prop_atoms.net_desktop_geometry;
@@ -255,8 +256,11 @@ gboolean screen_annex()
     supported[i++] = prop_atoms.net_wm_state_fullscreen;
     supported[i++] = prop_atoms.net_wm_state_above;
     supported[i++] = prop_atoms.net_wm_state_below;
+    supported[i++] = prop_atoms.net_wm_state_demands_attention;
     supported[i++] = prop_atoms.net_moveresize_window;
     supported[i++] = prop_atoms.net_wm_moveresize;
+    supported[i++] = prop_atoms.net_wm_user_time;
+    supported[i++] = prop_atoms.net_frame_extents;
     supported[i++] = prop_atoms.ob_wm_state_undecorated;
     g_assert(i == num_support);
 /*
@@ -296,7 +300,8 @@ void screen_startup(gboolean reconfig)
         screen_num_desktops = 0;
     screen_set_num_desktops(config_desktops_num);
     if (!reconfig) {
-        screen_set_desktop(MIN(config_screen_firstdesk, screen_num_desktops) - 1);
+        screen_set_desktop(MIN(config_screen_firstdesk, screen_num_desktops)
+                           - 1);
 
         /* don't start in showing-desktop mode */
         screen_showing_desktop = FALSE;
@@ -340,7 +345,7 @@ void screen_resize()
     static gint oldw = 0, oldh = 0;
     gint w, h;
     GList *it;
-    guint32 geometry[2];
+    gulong geometry[2];
 
     w = WidthOfScreen(ScreenOfDisplay(ob_display, ob_screen));
     h = HeightOfScreen(ScreenOfDisplay(ob_display, ob_screen));
@@ -368,7 +373,7 @@ void screen_resize()
 void screen_set_num_desktops(guint num)
 {
     guint i, old;
-    guint32 *viewport;
+    gulong *viewport;
     GList *it;
 
     g_assert(num > 0);
@@ -381,7 +386,7 @@ void screen_set_num_desktops(guint num)
                net_number_of_desktops, cardinal, num);
 
     /* set the viewport hint */
-    viewport = g_new0(guint32, num * 2);
+    viewport = g_new0(gulong, num * 2);
     PROP_SETA32(RootWindow(ob_display, ob_screen),
                 net_desktop_viewport, cardinal, viewport, num * 2);
     g_free(viewport);
@@ -460,7 +465,7 @@ void screen_set_desktop(guint num)
 
     event_ignore_queued_enters();
 
-    focus_hilite = focus_fallback_target(OB_FOCUS_FALLBACK_NOFOCUS);
+    focus_hilite = focus_fallback_target(OB_FOCUS_FALLBACK_NOFOCUS, NULL);
     if (focus_hilite) {
         frame_adjust_focus(focus_hilite->frame, TRUE);
 
@@ -969,7 +974,7 @@ screen_area_add_strut_bottom(const StrutPartial *s, const Rect *monitor_area,
 void screen_update_areas()
 {
     guint i, x;
-    long *dims;
+    gulong *dims;
     GList *it;
     gint o;
 
@@ -987,7 +992,7 @@ void screen_update_areas()
         area[i] = g_new0(Rect, screen_num_monitors + 1);
     area[i] = NULL;
      
-    dims = g_new(long, 4 * screen_num_desktops);
+    dims = g_new(gulong, 4 * screen_num_desktops);
 
     for (i = 0; i < screen_num_desktops + 1; ++i) {
         Strut *struts;
This page took 0.023132 seconds and 4 git commands to generate.