aboutsummaryrefslogtreecommitdiff
path: root/.config/XMonad/lib/DvorakKeybindings.hs
diff options
context:
space:
mode:
Diffstat (limited to '.config/XMonad/lib/DvorakKeybindings.hs')
-rw-r--r--.config/XMonad/lib/DvorakKeybindings.hs104
1 files changed, 104 insertions, 0 deletions
diff --git a/.config/XMonad/lib/DvorakKeybindings.hs b/.config/XMonad/lib/DvorakKeybindings.hs
new file mode 100644
index 0000000..31a0cd4
--- /dev/null
+++ b/.config/XMonad/lib/DvorakKeybindings.hs
@@ -0,0 +1,104 @@
+module DvorakKeybindings where
+
+import XMonad
+import qualified XMonad.StackSet as W
+
+-- actions
+import XMonad.Actions.CopyWindow
+import XMonad.Actions.WithAll
+import XMonad.Actions.CycleWS
+import XMonad.Actions.GridSelect
+import XMonad.Actions.SwapWorkspaces
+
+-- layout modifiers
+import XMonad.Layout.Spacing
+import XMonad.Layout.WindowNavigation as WN
+import XMonad.Layout.Maximize
+
+-- Layouts
+import XMonad.Layout.BinarySpacePartition as BSP
+
+-- hooks
+import XMonad.Hooks.ManageDocks
+
+import Util
+import Defaults
+import Scratchpads
+
+myWorkspaceKeys = [xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9, xK_B]
+--myWorkspaceKeys = [xK_ampersand, xK_bracketleft, xK_braceleft, xK_braceright, xK_parenleft, xK_equal, xK_asterisk, xK_parenright, xK_plus, xK_bracketright]
+myWorkspaces = wsKeys myWorkspaceKeys myWorkspaceNames
+
+myKeybindings :: [((KeyMask, KeySym), X ())]
+myKeybindings = [
+ ((myModMask, xK_Return), spawn myTerminal)
+ , ((myModShiftMask, xK_Return), spawn myLockscreen)
+ , ((myModMask, xK_s), spawn myLauncher)
+
+ -- view prev/next workspaces
+ , ((myModShiftMask, xK_Tab ), prevWS)
+ , ((myModMask, xK_Tab ), nextWS)
+ --, ((myModMask, xK_semicolon ), prevWS)
+ --, ((myModMask, xK_apostrophe), nextWS)
+ --, ((myModMask', xK_h ), prevWS)
+ --, ((myModMask', xK_l ), nextWS)
+
+ -- move to prev/next workspaces
+ --, ((myModShiftMask', xK_h ), shiftToPrev >> prevWS)
+ --, ((myModShiftMask', xK_l ), shiftToNext >> nextWS)
+ --, ((myModShiftMask', xK_semicolon ), shiftToPrev >> prevWS)
+ --, ((myModShiftMask', xK_apostrophe), shiftToNext >> nextWS)
+
+ -- toggle maximize
+ --, ((myModMask, xK_f), withFocused (sendMessage . maximizeRestore))
+
+ -- unfloat windows
+ --, ((myModMask .|. shiftMask, xK_f), withFocused $ windows . W.sink)
+
+ -- cycle through windows
+ --, ((myModMask', xK_j), windows W.focusDown)
+ --, ((myModMask', xK_k), windows W.focusUp)
+
+ -- 2D navigation
+ , ((myModMask, xK_n), sendMessage $ Go R)
+ , ((myModMask, xK_d), sendMessage $ Go L)
+ , ((myModMask, xK_t), sendMessage $ Go U)
+ , ((myModMask, xK_h), sendMessage $ Go D)
+ -- swap windows
+ , ((myModShiftMask, xK_n), sendMessage $ WN.Swap R)
+ , ((myModShiftMask, xK_d), sendMessage $ WN.Swap L)
+ , ((myModShiftMask, xK_t), sendMessage $ WN.Swap U)
+ , ((myModShiftMask, xK_h), sendMessage $ WN.Swap D)
+ -- resize
+ , ((myModMask .|. myModMask', xK_n), sendMessage $ ExpandTowards R)
+ , ((myModMask .|. myModMask', xK_d), sendMessage $ ExpandTowards L)
+ , ((myModMask .|. myModMask', xK_h), sendMessage $ ExpandTowards D)
+ , ((myModMask .|. myModMask', xK_t), sendMessage $ ExpandTowards U)
+ , ((myModMask .|. myModShiftMask', xK_n), sendMessage $ ShrinkFrom R)
+ , ((myModMask .|. myModShiftMask', xK_d), sendMessage $ ShrinkFrom L)
+ , ((myModMask .|. myModShiftMask', xK_h), sendMessage $ ShrinkFrom D)
+ , ((myModMask .|. myModShiftMask', xK_t), sendMessage $ ShrinkFrom U)
+ --, ((myModMask, xK_B), windows $ W.greedyView "十")
+ ] ++ [
+ -- workspace switching
+ ((myModMask, key), windows $ W.greedyView ws) | (key,ws) <- myWorkspaces
+ -- ] ++ [
+ -- -- moving window to workspace
+ -- ((myModShiftMask, key), windows $ W.shift ws) | (key,ws) <- myWorkspaces
+ -- ] ++ [
+ -- -- to swap workspace
+ -- ((myModShiftMask', key), windows $ swapWithCurrent ws) | (key, ws) <- myWorkspaces
+ -- ] ++ [
+ -- -- copy
+ -- ((m .|. myModMask, key), windows $ f ws) | (key, ws) <- myWorkspaces, (f, m) <- [(copy, myModShiftMask')]
+ -- ] ++ [
+ -- -- for not swapping tags while using multihead
+ -- ((m .|. myModMask, key), windows $ f ws) | (key, ws) <- myWorkspaces, (f, m) <- [(W.view, 0), (W.shift, shiftMask)]
+ ] -- ++ [ -- directly focus monitors instead of cycling
+ -- ((m .|. myModMask, key), screenWorkspace sc >>= flip whenJust (windows . f))
+ -- | (key, sc) <- zip [xK_e, xK_w] [0..]
+ -- , (f, m) <- [(W.view, 0), (W.shift, shiftMask)]
+ --]
+
+myKeybindingsP :: [(String, X())]
+myKeybindingsP = []