From 1c96a93ac8f55be7867d17f46309b720ac1e836b Mon Sep 17 00:00:00 2001 From: Ollie Date: Sat, 23 May 2026 16:44:00 +0200 Subject: [PATCH] menu: add dock/clip/dock-position menus to findMenu lookup findMenu() only checked root_menu, switch_menu, and window_menu. Dock and clip menus were never found, so pointer motion over them could not highlight entries or activate on release. Add CHECK_MENU calls for scr->dock->menu, scr->clip_menu, and scr->dock_pos_menu. --- src/menu.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/menu.c b/src/menu.c index f40ac8a..4edb1dc 100644 --- a/src/menu.c +++ b/src/menu.c @@ -41,6 +41,7 @@ #include "dialog.h" #include "rootmenu.h" #include "switchmenu.h" +#include "dock.h" #define MOD_MASK wPreferences.modifier_mask @@ -1155,6 +1156,25 @@ static WMenu *findMenu(WScreen * scr, int *x_ret, int *y_ret) } } + /* Check dock menu */ + menu = scr->dock ? scr->dock->menu : NULL; + if (menu) { + CHECK_MENU(menu); + for (int i = 0; i < menu->cascade_no; i++) + CHECK_MENU(menu->cascades[i]); + } + + /* Check clip menu */ + menu = scr->clip_menu; + if (menu) { + CHECK_MENU(menu); + for (int i = 0; i < menu->cascade_no; i++) + CHECK_MENU(menu->cascades[i]); + } + + /* Check dock position menu */ + CHECK_MENU(scr->dock_pos_menu); + #undef CHECK_MENU return NULL; }