Programmer Dvorak and switching workspaces in XMonad
Mon, Oct 8, 2012Recently I migarted from awesome to xmonad. I’m Programmer Dvorak freak, so I stuck with controlling current workspace from numbers row.
First hack was to use functional keys [F1..F12] like so:
-- mod-[F1..F12] Switch to workspace N
-- mod-shift-[F1..F12] Move client to workspace N
--
[((m .|. modm, k), windows $ f i)
| (i, k) <- zip (XMonad.workspaces conf) [xK_F1 .. xK_F12]
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
But after some research I found that I can detect key symbol using xev command. Here is my latest solution:
-- Programmer Dvorak
-- mod-[1..9] Switch to workspace N
-- mod-shift-[1..9] Move client to workspace N
--
[((m .|. modm, k), windows $ f i)
| (i, k) <- zip (XMonad.workspaces conf) [xK_ampersand, xK_bracketleft, xK_braceleft, xK_braceright, xK_parenleft
,xK_equal, xK_asterisk, xK_parenright, xK_plus, xK_bracketright, xK_exclam]
, (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
Hooray! It works!