]> Dogcows Code - chaz/openbox/blobdiff - openbox/screen.c
Merge branch 'backport' into work
[chaz/openbox] / openbox / screen.c
index 9135353897bef24aac80fbdbbc4a1f1b2b7c36dd..60638a83c6b18832850496b3af2c4e4aceebc9ac 100644 (file)
@@ -55,20 +55,20 @@ static gboolean replace_wm(void);
 static void     screen_tell_ksplash(void);
 static void     screen_fallback_focus(void);
 
-guint    screen_num_desktops;
-guint    screen_num_monitors;
-guint    screen_desktop;
-guint    screen_last_desktop = 1;
-gboolean screen_showing_desktop;
+guint           screen_num_desktops;
+guint           screen_num_monitors;
+guint           screen_desktop;
+guint           screen_last_desktop;
+gboolean        screen_showing_desktop;
 ObDesktopLayout screen_desktop_layout;
-gchar  **screen_desktop_names;
-Window   screen_support_win;
-Time     screen_desktop_user_time = CurrentTime;
+gchar         **screen_desktop_names;
+Window          screen_support_win;
+Time            screen_desktop_user_time = CurrentTime;
 
 static Size     screen_physical_size;
 static guint    screen_old_desktop;
 static gboolean screen_desktop_timeout = TRUE;
-/*! An array of desktops, holding array of areas per monitor */
+/*! An array of desktops, holding an array of areas per monitor */
 static Rect  *monitor_area = NULL;
 /*! An array of desktops, holding an array of struts */
 static GSList *struts_top = NULL;
@@ -330,7 +330,7 @@ static void screen_tell_ksplash(void)
     e.xclient.display = obt_display;
     e.xclient.window = obt_root(ob_screen);
     e.xclient.message_type =
-        XInternAtom(obt_display, "_KDE_SPLASH_PROGRESS", False );
+        XInternAtom(obt_display, "_KDE_SPLASH_PROGRESS", False);
     e.xclient.format = 8;
     strcpy(e.xclient.data.b, "wm started");
     XSendEvent(obt_display, obt_root(ob_screen),
@@ -394,6 +394,10 @@ void screen_startup(gboolean reconfig)
                        NET_NUMBER_OF_DESKTOPS, CARDINAL, &d))
     {
         if (d != config_desktops_num) {
+            /* TRANSLATORS: If you need to specify a different order of the
+               arguments, you can use %1$d for the first one and %2$d for the
+               second one. For example,
+               "The current session has %2$d desktops, but Openbox is configured for %1$d ..." */
             g_warning(_("Openbox is configured for %d desktops, but the current session has %d.  Overriding the Openbox configuration."),
                       config_desktops_num, d);
         }
@@ -525,12 +529,13 @@ void screen_set_num_desktops(guint num)
                 stacking_raise(CLIENT_AS_WINDOW(c));
         }
     }
+    g_list_free(stacking_copy);
 
     /* change our struts/area to match (after moving windows) */
     screen_update_areas();
 
     /* may be some unnamed desktops that we need to fill in with names
-     (after updating the areas so the popup can resize) */
+       (after updating the areas so the popup can resize) */
     screen_update_desktop_names();
 
     /* change our desktop if we're on one that no longer exists! */
@@ -670,6 +675,9 @@ void screen_set_desktop(guint num, gboolean dofocus)
 
     ob_debug("Moving to desktop %d", num+1);
 
+    if (ob_state() == OB_STATE_RUNNING)
+        screen_show_desktop_popup(screen_desktop);
+
     /* ignore enter events caused by the move */
     ignore_start = event_start_ignore_all_enters();
 
@@ -700,9 +708,6 @@ void screen_set_desktop(guint num, gboolean dofocus)
 
     if (event_curtime != CurrentTime)
         screen_desktop_user_time = event_curtime;
-
-    if (ob_state() == OB_STATE_RUNNING)
-        screen_show_desktop_popup(screen_desktop);
 }
 
 void screen_add_desktop(gboolean current)
@@ -780,6 +785,7 @@ void screen_remove_desktop(gboolean current)
             }
         }
     }
+    g_list_free(stacking_copy);
 
     /* fallback focus like we're changing desktops */
     if (screen_desktop < screen_num_desktops - 1) {
This page took 0.023018 seconds and 4 git commands to generate.