mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-19 12:28:22 +01:00
Made the menus be mapped on the center of the screen when invoked with the
keyboard shortcuts.
This commit is contained in:
10
src/event.c
10
src/event.c
@@ -1359,11 +1359,13 @@ handleKeyPress(XEvent *event)
|
|||||||
switch (command) {
|
switch (command) {
|
||||||
#ifndef LITE
|
#ifndef LITE
|
||||||
case WKBD_ROOTMENU:
|
case WKBD_ROOTMENU:
|
||||||
OpenRootMenu(scr, event->xkey.x_root, event->xkey.y_root, True);
|
/*OpenRootMenu(scr, event->xkey.x_root, event->xkey.y_root, True);*/
|
||||||
break;
|
OpenRootMenu(scr, scr->scr_width/2, scr->scr_height/2, True);
|
||||||
|
break;
|
||||||
case WKBD_WINDOWLIST:
|
case WKBD_WINDOWLIST:
|
||||||
OpenSwitchMenu(scr, event->xkey.x_root, event->xkey.y_root, True);
|
/*OpenSwitchMenu(scr, event->xkey.x_root, event->xkey.y_root, True);*/
|
||||||
break;
|
OpenSwitchMenu(scr, scr->scr_width/2, scr->scr_height/2, True);
|
||||||
|
break;
|
||||||
#endif /* !LITE */
|
#endif /* !LITE */
|
||||||
case WKBD_WINDOWMENU:
|
case WKBD_WINDOWMENU:
|
||||||
if (ISMAPPED(wwin) && ISFOCUSED(wwin))
|
if (ISMAPPED(wwin) && ISFOCUSED(wwin))
|
||||||
|
|||||||
@@ -1803,7 +1803,18 @@ OpenRootMenu(WScreen *scr, int x, int y, int keyboard)
|
|||||||
scr->root_menu = menu;
|
scr->root_menu = menu;
|
||||||
}
|
}
|
||||||
if (menu) {
|
if (menu) {
|
||||||
wMenuMapAt(menu, x-menu->frame->core->width/2, y, keyboard);
|
int newx, newy;
|
||||||
|
|
||||||
|
if (keyboard && x==0 && y==0) {
|
||||||
|
newx = newy = 0;
|
||||||
|
} else if (keyboard && x==scr->scr_width/2 && y==scr->scr_height/2) {
|
||||||
|
newx = x - menu->frame->core->width/2;
|
||||||
|
newy = y - menu->frame->core->height/2;
|
||||||
|
} else {
|
||||||
|
newx = x - menu->frame->core->width/2;
|
||||||
|
newy = y;
|
||||||
|
}
|
||||||
|
wMenuMapAt(menu, newx, newy, keyboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scr->flags.root_menu_changed_shortcuts)
|
if (scr->flags.root_menu_changed_shortcuts)
|
||||||
|
|||||||
@@ -123,10 +123,21 @@ OpenSwitchMenu(WScreen *scr, int x, int y, int keyboard)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (switchmenu) {
|
if (switchmenu) {
|
||||||
|
int newx, newy;
|
||||||
|
|
||||||
if (!switchmenu->flags.realized)
|
if (!switchmenu->flags.realized)
|
||||||
wMenuRealize(switchmenu);
|
wMenuRealize(switchmenu);
|
||||||
wMenuMapAt(switchmenu, x-switchmenu->frame->core->width/2, y,
|
|
||||||
keyboard);
|
if (keyboard && x==0 && y==0) {
|
||||||
|
newx = newy = 0;
|
||||||
|
} else if (keyboard && x==scr->scr_width/2 && y==scr->scr_height/2) {
|
||||||
|
newx = x - switchmenu->frame->core->width/2;
|
||||||
|
newy = y - switchmenu->frame->core->height/2;
|
||||||
|
} else {
|
||||||
|
newx = x - switchmenu->frame->core->width/2;
|
||||||
|
newy = y;
|
||||||
|
}
|
||||||
|
wMenuMapAt(switchmenu, newx, newy, keyboard);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user