I can change the names of workspaces, and presumably simply add more by changing this conststant:
myWorkspaces = ["1","2","3⌂","4","5","6","7✉","8☺","9♫"]
If I add something to the array, there will be more workspaces, but how do I keybind them? Mod-1 through Mod-9 are the default but I can't find documentation for how to change that default.
xmonad uses 'alt', actually mod1, as the default modifier. You may bind to other mod keys by editing your xmonad. hs modMask value, or by using xmodmap to rebind a key to mod1. The apple command key can be rebound to mod1 in this way.
To fully quit xmonad, use mod-shift-q to exit X (don't do that now!).
Press Alt+Shift+Enter to launch a terminal. To launch additional terminals, press the Alt+Shift+Enter shortcut again. Xmonad automatically resizes and arranges the windows on screen, tiling them. This is what a “tiling window manager” does.
I found the answer buried in this example configuration and together with the key names list, it looks like the following:
Defining a tenth workspace:
myExtraWorkspaces = [(xK_0, "0"),(xK_minus, "tmp"),(xK_equal, "swap")]
myWorkspaces = ["1","2","3⌂","4","5","6","7✉","8☺","9♫"] ++ (map snd myExtraWorkspaces)
Then the key binding looks like this:
myKeys =
[ -- ... some more keys ...
] ++ [
((myModMask, key), (windows $ W.greedyView ws))
| (key,ws) <- myExtraWorkspaces
] ++ [
((myModMask .|. shiftMask, key), (windows $ W.shift ws))
| (key,ws) <- myExtraWorkspaces
]
In this example the slash key is used, but any other key from the list above can be used instead.
And finally:
main = do
xmonad $ config {
workspaces = myWorkspaces
} `additionalKeys` (myKeys)
-- | The default number of workspaces (virtual screens) and their names.
-- By default we use numeric strings, but any string may be used as a
-- workspace name. The number of workspaces is determined by the length
-- of this list.
--
-- A tagging example:
--
-- > workspaces = ["web", "irc", "code" ] ++ map show [4..9]
--
workspaces :: [WorkspaceId]
workspaces = map show [1 .. 9 :: Int]
Modify the length of the list in Config.hs
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With