]> Dogcows Code - chaz/openbox/blobdiff - openbox/screen.c
use g_[s]list_next/previous consistantly, and check for "it" instead of "it != NULL...
[chaz/openbox] / openbox / screen.c
index 05c292a2bb9f3098177d27e30d2444008b68c97a..5d640a90950e13e0ff111b5dea29e21133e1794c 100644 (file)
@@ -54,7 +54,7 @@ guint    screen_last_desktop;
 Size     screen_physical_size;
 gboolean screen_showing_desktop;
 DesktopLayout screen_desktop_layout;
-char   **screen_desktop_names;
+gchar  **screen_desktop_names;
 Window   screen_support_win;
 
 static Rect  **area; /* array of desktop holding array of xinerama areas */
@@ -64,7 +64,7 @@ static ObPagerPopup *desktop_cycle_popup;
 
 static gboolean replace_wm()
 {
-    char *wm_sn;
+    gchar *wm_sn;
     Atom wm_sn_atom;
     Window current_wm_sn_owner;
     Time timestamp;
@@ -281,9 +281,9 @@ void screen_startup(gboolean reconfig)
         screen_resize();
 
     /* set the names */
-    screen_desktop_names = g_new(char*,
+    screen_desktop_names = g_new(gchar*,
                                  g_slist_length(config_desktops_names) + 1);
-    for (i = 0, it = config_desktops_names; it; ++i, it = it->next)
+    for (i = 0, it = config_desktops_names; it; ++i, it = g_slist_next(it))
         screen_desktop_names[i] = it->data; /* dont strdup */
     screen_desktop_names[i] = NULL;
     PROP_SETSS(RootWindow(ob_display, ob_screen),
@@ -336,8 +336,8 @@ void screen_shutdown(gboolean reconfig)
 
 void screen_resize()
 {
-    static int oldw = 0, oldh = 0;
-    int w, h;
+    static gint oldw = 0, oldh = 0;
+    gint w, h;
     GList *it;
     guint32 geometry[2];
 
@@ -360,7 +360,7 @@ void screen_resize()
     screen_update_areas();
     dock_configure();
 
-    for (it = client_list; it; it = it->next)
+    for (it = client_list; it; it = g_list_next(it))
         client_move_onscreen(it->data, FALSE);
 }
 
@@ -392,7 +392,7 @@ void screen_set_num_desktops(guint num)
     screen_update_desktop_names();
 
     /* move windows on desktops that will no longer exist! */
-    for (it = client_list; it != NULL; it = it->next) {
+    for (it = client_list; it; it = g_list_next(it)) {
         ObClient *c = it->data;
         if (c->desktop >= num && c->desktop != DESKTOP_ALL)
             client_set_desktop(c, num - 1, FALSE);
@@ -646,49 +646,81 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
         case OB_DIRECTION_EAST:
             ++c;
             if (c >= screen_desktop_layout.columns) {
-                if (!wrap) return d = screen_desktop;
-                c = 0;
+                if (wrap) {
+                    c = 0;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
-                if (!wrap) return d = screen_desktop;
-                ++c;
+                if (wrap) {
+                    ++c;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             break;
         case OB_DIRECTION_WEST:
             --c;
             if (c >= screen_desktop_layout.columns) {
-                if (!wrap) return d = screen_desktop;
-                c = screen_desktop_layout.columns - 1;
+                if (wrap) {
+                    c = screen_desktop_layout.columns - 1;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
-                if (!wrap) return d = screen_desktop;
-                --c;
+                if (wrap) {
+                    --c;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             break;
         case OB_DIRECTION_SOUTH:
             ++r;
             if (r >= screen_desktop_layout.rows) {
-                if (!wrap) return d = screen_desktop;
-                r = 0;
+                if (wrap) {
+                    r = 0;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
-                if (!wrap) return d = screen_desktop;
-                ++r;
+                if (wrap) {
+                    ++r;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             break;
         case OB_DIRECTION_NORTH:
             --r;
             if (r >= screen_desktop_layout.rows) {
-                if (!wrap) return d = screen_desktop;
-                r = screen_desktop_layout.rows - 1;
+                if (wrap) {
+                    r = screen_desktop_layout.rows - 1;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
-                if (!wrap) return d = screen_desktop;
-                --r;
+                if (wrap) {
+                    --r;
+                } else {
+                    d = screen_desktop;
+                    goto show_cycle_dialog;
+                }
             }
             break;
         default:
@@ -699,6 +731,7 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
         d = translate_row_col(r, c);
     }
 
+show_cycle_dialog:
     if (dialog) {
         screen_desktop_popup(d, TRUE);
         return d;
@@ -817,7 +850,7 @@ void screen_update_desktop_names()
     else
         i = 0;
     if (i <= screen_num_desktops) {
-        screen_desktop_names = g_renew(char*, screen_desktop_names,
+        screen_desktop_names = g_renew(gchar*, screen_desktop_names,
                                        screen_num_desktops + 1);
         screen_desktop_names[screen_num_desktops] = NULL;
         for (; i < screen_num_desktops; ++i)
@@ -834,28 +867,28 @@ void screen_show_desktop(gboolean show)
     screen_showing_desktop = show;
 
     if (show) {
-       /* bottom to top */
-       for (it = g_list_last(stacking_list); it != NULL; it = it->prev) {
+        /* bottom to top */
+        for (it = g_list_last(stacking_list); it; it = g_list_previous(it)) {
             if (WINDOW_IS_CLIENT(it->data)) {
                 ObClient *client = it->data;
                 if (client->frame->visible && !client_should_show(client))
                     frame_hide(client->frame);
             }
-       }
+        }
     } else {
         /* top to bottom */
-       for (it = stacking_list; it != NULL; it = it->next) {
+        for (it = stacking_list; it; it = g_list_next(it)) {
             if (WINDOW_IS_CLIENT(it->data)) {
                 ObClient *client = it->data;
                 if (!client->frame->visible && client_should_show(client))
                     frame_show(client->frame);
             }
-       }
+        }
     }
 
     if (show) {
         /* focus desktop */
-        for (it = focus_order[screen_desktop]; it; it = it->next)
+        for (it = focus_order[screen_desktop]; it; it = g_list_next(it))
             if (((ObClient*)it->data)->type == OB_CLIENT_TYPE_DESKTOP &&
                 client_focus(it->data))
                 break;
@@ -988,7 +1021,7 @@ void screen_update_areas()
             o = MIN(o, area[i][x].x);
 
         for (x = 0; x < screen_num_monitors; ++x) {
-            for (it = client_list; it; it = it->next) {
+            for (it = client_list; it; it = g_list_next(it)) {
                 ObClient *c = it->data;
                 screen_area_add_strut_left(&c->strut,
                                            &monitor_area[x],
@@ -1010,7 +1043,7 @@ void screen_update_areas()
             o = MIN(o, area[i][x].y);
 
         for (x = 0; x < screen_num_monitors; ++x) {
-            for (it = client_list; it; it = it->next) {
+            for (it = client_list; it; it = g_list_next(it)) {
                 ObClient *c = it->data;
                 screen_area_add_strut_top(&c->strut,
                                            &monitor_area[x],
@@ -1032,7 +1065,7 @@ void screen_update_areas()
             o = MAX(o, area[i][x].x + area[i][x].width - 1);
 
         for (x = 0; x < screen_num_monitors; ++x) {
-            for (it = client_list; it; it = it->next) {
+            for (it = client_list; it; it = g_list_next(it)) {
                 ObClient *c = it->data;
                 screen_area_add_strut_right(&c->strut,
                                            &monitor_area[x],
@@ -1057,7 +1090,7 @@ void screen_update_areas()
             o = MAX(o, area[i][x].y + area[i][x].height - 1);
 
         for (x = 0; x < screen_num_monitors; ++x) {
-            for (it = client_list; it; it = it->next) {
+            for (it = client_list; it; it = g_list_next(it)) {
                 ObClient *c = it->data;
                 screen_area_add_strut_bottom(&c->strut,
                                              &monitor_area[x],
@@ -1093,7 +1126,7 @@ void screen_update_areas()
 
         /* the area has changed, adjust all the maximized 
            windows */
-        for (it = client_list; it; it = it->next) {
+        for (it = client_list; it; it = g_list_next(it)) {
             ObClient *c = it->data; 
             if (i < screen_num_desktops) {
                 if (c->desktop == i)
@@ -1157,10 +1190,10 @@ void screen_set_root_cursor()
                       ob_cursor(OB_CURSOR_POINTER));
 }
 
-gboolean screen_pointer_pos(int *x, int *y)
+gboolean screen_pointer_pos(gint *x, gint *y)
 {
     Window w;
-    int i;
+    gint i;
     guint u;
 
     return !!XQueryPointer(ob_display, RootWindow(ob_display, ob_screen),
This page took 0.031222 seconds and 4 git commands to generate.