aboutsummaryrefslogtreecommitdiff
path: root/.config/XMonad/lib/Keybindings.hs
diff options
context:
space:
mode:
Diffstat (limited to '.config/XMonad/lib/Keybindings.hs')
-rw-r--r--.config/XMonad/lib/Keybindings.hs97
1 files changed, 96 insertions, 1 deletions
diff --git a/.config/XMonad/lib/Keybindings.hs b/.config/XMonad/lib/Keybindings.hs
index c6f9205..bc1aa99 100644
--- a/.config/XMonad/lib/Keybindings.hs
+++ b/.config/XMonad/lib/Keybindings.hs
@@ -1,9 +1,29 @@
module Keybindings 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
myMouseKeybindings :: [((ButtonMask, Button), Window -> X ())]
myMouseKeybindings = [
@@ -23,4 +43,79 @@ myFnKeybindingsP = [
, ("<XF86AudioPlay>", spawn pausePlay)
, ("<XF86AudioPause>", spawn pausePlay)
, ("<Pause>", spawn pausePlay)
- ] \ No newline at end of file
+ ]
+
+myKeybindings :: [((KeyMask, KeySym), X ())]
+myKeybindings = [
+ ((myModMask, xK_Return), spawn myTerminal)
+ , ((myModShiftMask, xK_Return), spawn myLockscreen)
+ , ((myModMask .|. shiftMask, xK_c), kill1)
+ , ((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) <- myExtraWorkspaces
+ -- ] ++ [
+ -- -- 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 = [] \ No newline at end of file