Put current desktop on top of combined client list menu.
authorMikael Magnusson <mikachu@gmail.com>
Fri, 6 Feb 2009 01:16:06 +0000 (02:16 +0100)
committerMikael Magnusson <mikachu@gmail.com>
Sat, 11 Oct 2014 00:17:18 +0000 (02:17 +0200)
This probably needs an option.

openbox/client_list_combined_menu.c

index c26b6fa..28d769c 100644 (file)
@@ -47,13 +47,19 @@ static gboolean self_update(ObMenuFrame *frame, gpointer data)
     ObMenu *menu = frame->menu;
     ObMenuEntry *e;
     GList *it;
     ObMenu *menu = frame->menu;
     ObMenuEntry *e;
     GList *it;
-    guint desktop;
+    guint desktop, desktop_it;
 
     menu_clear_entries(menu);
 
 
     menu_clear_entries(menu);
 
-    for (desktop = 0; desktop < screen_num_desktops; desktop++) {
+    for (desktop_it = 0; desktop_it < screen_num_desktops; desktop_it++) {
         gboolean empty = TRUE;
         gboolean onlyiconic = TRUE;
         gboolean empty = TRUE;
         gboolean onlyiconic = TRUE;
+        
+        desktop = desktop_it;
+        if (desktop == 0)
+            desktop = screen_desktop;
+        else if (desktop <= screen_desktop)
+            desktop -= 1;
 
         menu_add_separator(menu, SEPARATOR, screen_desktop_names[desktop]);
         for (it = focus_order; it; it = g_list_next(it)) {
 
         menu_add_separator(menu, SEPARATOR, screen_desktop_names[desktop]);
         for (it = focus_order; it; it = g_list_next(it)) {