]> Dogcows Code - chaz/openbox/blobdiff - openbox/screen.c
but rename ob_pid back to openbox_pid for backwards compatibility. this will go away...
[chaz/openbox] / openbox / screen.c
index 34935f47d6ddc245729e17a35de56aa12f404e35..d71c9eaafd5c039a9d3932f6399ec3d2ed2611fe 100644 (file)
@@ -289,10 +289,10 @@ gboolean screen_annex(const gchar *program_name)
     supported[i++] = prop_atoms.kde_net_wm_frame_strut;
     supported[i++] = prop_atoms.kde_net_wm_window_type_override;
 
-    supported[i++] = prop_atoms.openbox_wm_state_undecorated;
+    supported[i++] = prop_atoms.ob_wm_state_undecorated;
     supported[i++] = prop_atoms.openbox_pid;
-    supported[i++] = prop_atoms.openbox_config;
-    supported[i++] = prop_atoms.openbox_control;
+    supported[i++] = prop_atoms.ob_config;
+    supported[i++] = prop_atoms.ob_control;
     g_assert(i == num_support);
 
     PROP_SETA32(RootWindow(ob_display, ob_screen),
@@ -312,8 +312,13 @@ void screen_startup(gboolean reconfig)
     desktop_cycle_popup = pager_popup_new(FALSE);
     pager_popup_height(desktop_cycle_popup, POPUP_HEIGHT);
 
-    if (reconfig)
+    if (reconfig) {
+        /* update the pager popup's width */
+        pager_popup_text_width_to_strings(desktop_cycle_popup,
+                                          screen_desktop_names,
+                                          screen_num_desktops);
         return;
+    }
 
     /* get the initial size */
     screen_resize();
@@ -658,7 +663,7 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
 {
     guint r, c;
     static guint d = (guint)-1;
-    guint ret;
+    guint ret, oldd;
 
     if (d == (guint)-1)
         d = screen_desktop;
@@ -666,6 +671,7 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
     if ((cancel || done) && dialog)
         goto show_cycle_dialog;
 
+    oldd = d;
     get_row_col(d, &r, &c);
 
     if (linear) {
@@ -691,19 +697,17 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
         case OB_DIRECTION_EAST:
             ++c;
             if (c >= screen_desktop_layout.columns) {
-                if (wrap) {
+                if (wrap)
                     c = 0;
-                } else {
-                    d = screen_desktop;
+                else
                     goto show_cycle_dialog;
-                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
                 if (wrap) {
                     ++c;
                 } else {
-                    d = screen_desktop;
+                    d = oldd;
                     goto show_cycle_dialog;
                 }
             }
@@ -711,19 +715,17 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
         case OB_DIRECTION_WEST:
             --c;
             if (c >= screen_desktop_layout.columns) {
-                if (wrap) {
+                if (wrap)
                     c = screen_desktop_layout.columns - 1;
-                } else {
-                    d = screen_desktop;
+                else
                     goto show_cycle_dialog;
-                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
                 if (wrap) {
                     --c;
                 } else {
-                    d = screen_desktop;
+                    d = oldd;
                     goto show_cycle_dialog;
                 }
             }
@@ -731,19 +733,17 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
         case OB_DIRECTION_SOUTH:
             ++r;
             if (r >= screen_desktop_layout.rows) {
-                if (wrap) {
+                if (wrap)
                     r = 0;
-                } else {
-                    d = screen_desktop;
+                else
                     goto show_cycle_dialog;
-                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
                 if (wrap) {
                     ++r;
                 } else {
-                    d = screen_desktop;
+                    d = oldd;
                     goto show_cycle_dialog;
                 }
             }
@@ -751,19 +751,17 @@ guint screen_cycle_desktop(ObDirection dir, gboolean wrap, gboolean linear,
         case OB_DIRECTION_NORTH:
             --r;
             if (r >= screen_desktop_layout.rows) {
-                if (wrap) {
+                if (wrap)
                     r = screen_desktop_layout.rows - 1;
-                } else {
-                    d = screen_desktop;
+                else
                     goto show_cycle_dialog;
-                }
             }
             d = translate_row_col(r, c);
             if (d >= screen_num_desktops) {
                 if (wrap) {
                     --r;
                 } else {
-                    d = screen_desktop;
+                    d = oldd;
                     goto show_cycle_dialog;
                 }
             }
This page took 0.024125 seconds and 4 git commands to generate.