Dynamically manage "workspace groups", sets of workspaces being used together for some common task or purpose, to allow switching between workspace groups in a single action. Note that this only makes sense for multi-head setups.
- type WSGroupId = String
- addWSGroup :: WSGroupId -> [WorkspaceId] -> X ()
- addCurrentWSGroup :: WSGroupId -> X ()
- forgetWSGroup :: WSGroupId -> X ()
- viewWSGroup :: WSGroupId -> X ()
- promptWSGroupView :: XPConfig -> String -> X ()
- promptWSGroupAdd :: XPConfig -> String -> X ()
- promptWSGroupForget :: XPConfig -> String -> X ()
You can use this module by importing it into your ~/.xmonad/xmonad.hs file:
Then add keybindings like the following (this example uses XMonad.Util.EZConfig-style keybindings, but this is not necessary):
, ("M-y n", promptWSGroupAdd myXPConfig "Name this group: ") , ("M-y g", promptWSGroupView myXPConfig "Go to group: ") , ("M-y d", promptWSGroupForget myXPConfig "Forget group: ")
Add a new workspace group with the given name.
Delete the named workspace group from the list of workspace groups. Note that this has no effect on the workspaces involved; it simply forgets the given name.
Prompt for a name for the current workspace group.