Skip to content

Commit 56b8f0e

Browse files
committed
WM appmenu: disable "Move Window To" on application deactivation to prevent manipulation of active app windows.
1 parent 6fada47 commit 56b8f0e

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

Applications/Workspace/WM/application.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,14 @@ void wApplicationActivate(WApplication *wapp)
605605
kCFAllocatorDefault, 1, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks);
606606
}
607607
wapp->last_focused = scr->focused_window;
608+
609+
if (wapp->app_menu) {
610+
WMenuItem *item;
611+
item = wMenuItemWithTitle(wapp->app_menu, "Move Window To");
612+
if (item) {
613+
wMenuItemSetEnabled(item->menu, item, 1);
614+
}
615+
}
608616
}
609617

610618
if (scr->notificationCenter) {
@@ -621,6 +629,12 @@ void wApplicationDeactivate(WApplication *wapp)
621629
wIconSetHighlited(wapp->app_icon->icon, False);
622630
wAppIconPaint(wapp->app_icon);
623631
}
632+
if (wapp->app_menu) {
633+
WMenuItem *item = wMenuItemWithTitle(wapp->app_menu, "Move Window To");
634+
if (item) {
635+
wMenuItemSetEnabled(item->menu, item, 0);
636+
}
637+
}
624638
if (wapp->app_menu && wapp->app_menu->flags.mapped) {
625639
wApplicationMenuHide(wapp->app_menu);
626640
}

Applications/Workspace/WM/application.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ typedef struct WApplication {
4646
Window main_window; /* ID of the group leader */
4747
struct WWindow *main_wwin; /* main (leader) window */
4848
struct WAppIcon *app_icon;
49+
WMenu *app_menu; /* application menu */
4950
struct WWindow *last_focused; /* focused window before hide or switch to other */
5051
int last_desktop; /* last workspace the app used to work on */
5152

5253
CFMutableArrayRef windows;
5354
struct WWindow *gsmenu_wwin; /* GNUstep application menu window */
54-
WMenu *app_menu; /* application menu */
5555
CFMutableArrayRef menus_state; /* live menu state info */
5656

5757
CFRunLoopTimerRef urgent_bounce_timer;

0 commit comments

Comments
 (0)