1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-20 04:48:06 +01:00

Shortcuts for moving windows between workspaces.

Added new keyboard shortcuts for moving windows between workspaces.

MoveToWorkspace1Key moves the active window directly to workspace 1.
Similarly for MoveToWorkspace2Key through MoveToWorkspace10Key.

MoveToNextWorkspaceKey moves the window to the next workspace,
MoveToPrevWorkspaceKey moves the window to the previous workspace.
Both keys respect the ws_advance and ws_cycle preferences.

MoveToNextWorkspaceLayerKey moves the window ten workspaces "forward" if
possible.
MoveToPrevWorkspaceLayerKey moves the window ten workspaces "back" if
possible.
This commit is contained in:
Iain Patterson
2013-03-27 22:46:00 +00:00
committed by Carlos R. Mafra
parent cfdf1e92fe
commit ae7235c2df
6 changed files with 132 additions and 3 deletions

View File

@@ -636,6 +636,36 @@ WDefaultEntry optionList[] = {
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"Workspace10Key", "None", (void *)WKBD_WORKSPACE10,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace1Key", "None", (void *)WKBD_MOVE_WORKSPACE1,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace2Key", "None", (void *)WKBD_MOVE_WORKSPACE2,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace3Key", "None", (void *)WKBD_MOVE_WORKSPACE3,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace4Key", "None", (void *)WKBD_MOVE_WORKSPACE4,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace5Key", "None", (void *)WKBD_MOVE_WORKSPACE5,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace6Key", "None", (void *)WKBD_MOVE_WORKSPACE6,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace7Key", "None", (void *)WKBD_MOVE_WORKSPACE7,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace8Key", "None", (void *)WKBD_MOVE_WORKSPACE8,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace9Key", "None", (void *)WKBD_MOVE_WORKSPACE9,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToWorkspace10Key", "None", (void *)WKBD_MOVE_WORKSPACE10,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToNextWorkspaceKey", "None", (void *)WKBD_MOVE_NEXTWORKSPACE,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToPrevWorkspaceKey", "None", (void *)WKBD_MOVE_PREVWORKSPACE,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToLastWorkspaceKey", "None", (void *)WKBD_MOVE_LASTWORKSPACE,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToNextWorkspaceLayerKey", "None", (void *)WKBD_MOVE_NEXTWSLAYER,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"MoveToPrevWorkspaceLayerKey", "None", (void *)WKBD_MOVE_PREVWSLAYER,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"WindowShortcut1Key", "None", (void *)WKBD_WINDOW1,
NULL, getKeybind, setKeyGrab, NULL, NULL},
{"WindowShortcut2Key", "None", (void *)WKBD_WINDOW2,
@@ -1139,6 +1169,10 @@ void wReadDefaults(WScreen * scr, WMPropList * new_dict)
wWorkspaceMenuUpdate(scr, scr->workspace_menu);
if (scr->clip_ws_menu)
wWorkspaceMenuUpdate(scr, scr->clip_ws_menu);
if (scr->workspace_submenu)
scr->workspace_submenu->flags.realized = 0;
if (scr->clip_submenu)
scr->clip_submenu->flags.realized = 0;
}
}
}
@@ -2856,6 +2890,8 @@ static int setKeyGrab(WScreen * scr, WDefaultEntry * entry, WShortKey * shortcut
return REFRESH_WORKSPACE_MENU;
if (widx == WKBD_LASTWORKSPACE)
return REFRESH_WORKSPACE_MENU;
if (widx >= WKBD_MOVE_WORKSPACE1 && widx <= WKBD_MOVE_WORKSPACE10)
return REFRESH_WORKSPACE_MENU;
return 0;
}