Allow moving to the current desktop, to show the desktop popup
authorMikael Magnusson <mikael.magnusson@sony.com>
Thu, 10 Oct 2019 09:40:53 +0000 (11:40 +0200)
committerMikael Magnusson <mikachu@gmail.com>
Wed, 13 Apr 2022 22:43:35 +0000 (00:43 +0200)
openbox/actions/desktop.c
openbox/screen.c

index 6f6391a1a564c5b1a721356aae08a6769b6f1641..bf66e3da93adbab9eb3d36dc7051b30d6c589cdd 100644 (file)
@@ -192,9 +192,7 @@ static gboolean run_func(ObActionsData *data, gpointer options)
         g_assert_not_reached();
     }
 
-    if (d < screen_num_desktops &&
-        (d != screen_desktop ||
-         (data->client && data->client->desktop != screen_desktop))) {
+    if (d < screen_num_desktops) {
         gboolean go = TRUE;
 
         actions_client_move(data, TRUE);
index e99328cd44ddd9b46dc6f2ddc850e835b493f9fe..bcedbff86b79f105c6aced66388f66f4539ade7b 100644 (file)
@@ -630,6 +630,9 @@ void screen_set_desktop(guint num, gboolean dofocus)
     previous = screen_desktop;
     screen_desktop = num;
 
+    if (ob_state() == OB_STATE_RUNNING)
+        screen_show_desktop_popup(screen_desktop, FALSE);
+
     if (previous == num) return;
 
     OBT_PROP_SET32(obt_root(ob_screen), NET_CURRENT_DESKTOP, CARDINAL, num);
@@ -704,9 +707,6 @@ 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, FALSE);
-
     /* ignore enter events caused by the move */
     ignore_start = event_start_ignore_all_enters();