diff options
author | Vidhu Kant Sharma <vidhukant@vidhukant.com> | 2023-12-14 20:16:21 +0530 |
---|---|---|
committer | Vidhu Kant Sharma <vidhukant@vidhukant.com> | 2023-12-14 20:16:21 +0530 |
commit | 1437bc05b6f81e1f8e35d5800f34ab7f91a090cd (patch) | |
tree | 708ea771a2fe2de9368476a1aeab818882dff6c9 /.config/XMonad/lib/DvorakKeybindings.hs | |
parent | 8eef08f3626ce4f30d40e5ad3ce48383ee703207 (diff) |
added some dvorak keybindings
Diffstat (limited to '.config/XMonad/lib/DvorakKeybindings.hs')
-rw-r--r-- | .config/XMonad/lib/DvorakKeybindings.hs | 104 |
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 = [] |