all repos — fluxbox @ 5e08a23f6ca77586aa8662ed19d2a6282848e10f

custom fork of the fluxbox windowmanager

reposition visible submenus when changing style

a fixed position of the style menu won't help (the menu geometry changes
*because* the item geometries do) - warping the pointer would likely be
possible, but warping the pointer is cc. "evil"

BUG: 715
Thomas Lübking thomas.luebking@gmail.com
commit

5e08a23f6ca77586aa8662ed19d2a6282848e10f

parent

bccb185cd9e4efd1db2e5244ba1a1956f750f9cd

1 files changed, 4 insertions(+), 1 deletions(-)

jump to
M src/fluxbox.ccsrc/fluxbox.cc

@@ -1269,8 +1269,11 @@ if (!menu || std::find(s_seenMenus.begin(), s_seenMenus.end(), menu) != s_seenMenus.end())

return; s_seenMenus.push_back(menu); menu->reconfigure(); - for (size_t i = 0; i < menu->numberOfItems(); ++i) + for (size_t i = 0; i < menu->numberOfItems(); ++i) { rec_reconfigMenu(menu->find(i)->submenu()); + if (menu->find(i)->submenu() && menu->find(i)->submenu()->isVisible()) + menu->drawSubmenu(i); + } }