aboutsummaryrefslogtreecommitdiff
path: root/.config/XMonad/lib
diff options
context:
space:
mode:
authorVidhu Kant Sharma <vidhukant@vidhukant.com>2024-03-22 18:29:06 +0530
committerVidhu Kant Sharma <vidhukant@vidhukant.com>2024-03-22 18:29:06 +0530
commit71803f75116a63aed35ff3175fe86bb254e38d97 (patch)
tree2f6c0be6a01c93d74e8bc825711664581bf4dd05 /.config/XMonad/lib
parent206f12417109bbf1508eab4593fea3fb9fb35ad9 (diff)
removed old qwerty keybindings, cleaned up code
Diffstat (limited to '.config/XMonad/lib')
-rw-r--r--.config/XMonad/lib/Defaults.hs3
-rw-r--r--.config/XMonad/lib/DvorakKeybindings.hs105
-rw-r--r--.config/XMonad/lib/Hooks.hs6
-rw-r--r--.config/XMonad/lib/Keybindings.hs97
-rw-r--r--.config/XMonad/lib/QwertyKeybindings.hs241
5 files changed, 101 insertions, 351 deletions
diff --git a/.config/XMonad/lib/Defaults.hs b/.config/XMonad/lib/Defaults.hs
index 5aee38a..8492cd7 100644
--- a/.config/XMonad/lib/Defaults.hs
+++ b/.config/XMonad/lib/Defaults.hs
@@ -67,7 +67,8 @@ myEmailClient = "thunderbird"
myPasswordManager = "keepassxc"
-- workspaces
-myWorkspaceNames = ["一", "二", "三", "四", "五", "六", "七", "八", "九", "十"]
+myExtraWorkspaces = [(xK_0, "十")]
+myWorkspaces = ["一", "二", "三", "四", "五", "六", "七", "八", "九"] ++ map snd myExtraWorkspaces
-- screen gaps
sGap = 3
diff --git a/.config/XMonad/lib/DvorakKeybindings.hs b/.config/XMonad/lib/DvorakKeybindings.hs
deleted file mode 100644
index caebdc8..0000000
--- a/.config/XMonad/lib/DvorakKeybindings.hs
+++ /dev/null
@@ -1,105 +0,0 @@
-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_0]
---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 .|. 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) <- 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 = []
diff --git a/.config/XMonad/lib/Hooks.hs b/.config/XMonad/lib/Hooks.hs
index 1b2962b..4dcb821 100644
--- a/.config/XMonad/lib/Hooks.hs
+++ b/.config/XMonad/lib/Hooks.hs
@@ -24,9 +24,9 @@ import Scratchpads
myManageHook = namedScratchpadManageHook myScratchpads
<+> manageDocks <+> composeAll [
- className =? "discord" --> doShift ( myWorkspaceNames !! 9 )
- , className =? "thunderbird" --> doShift ( myWorkspaceNames !! 8 )
- , className =? "KeePassXC" --> doShift ( myWorkspaceNames !! 7 )
+ className =? "discord" --> doShift ( myWorkspaces !! 9 )
+ , className =? "thunderbird" --> doShift ( myWorkspaces !! 8 )
+ , className =? "KeePassXC" --> doShift ( myWorkspaces !! 7 )
, isFullscreen --> doFullFloat
]
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
diff --git a/.config/XMonad/lib/QwertyKeybindings.hs b/.config/XMonad/lib/QwertyKeybindings.hs
deleted file mode 100644
index c02a63b..0000000
--- a/.config/XMonad/lib/QwertyKeybindings.hs
+++ /dev/null
@@ -1,241 +0,0 @@
-module QwertyKeybindings 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_0]
-myWorkspaces = wsKeys myWorkspaceKeys myWorkspaceNames
-
-myKeybindings :: [((KeyMask, KeySym), X ())]
-myKeybindings = [
- ((myModMask, xK_Return), spawn myTerminal)
- , ((myModShiftMask, xK_Return), spawn myLockscreen)
- , ((myModMask .|. shiftMask, xK_q), kill1)
- , ((myModShiftMask, xK_p), spawn myLauncher)
-
- -- shutdown, restart, etc
- , ((myModMask .|. myModMask', xK_Delete), spawn "shutdown -P now")
- , ((myModShiftMask .|. myModMask', xK_Delete), spawn "shutdown -r now")
-
- -- scratchpads
- , ((myModMask, xK_u), myScratchpad "Term 0")
- , ((myModMask, xK_i), myScratchpad "Term 1")
- , ((myModMask, xK_o), myScratchpad "Term 2")
- , ((myModMask, xK_p), myScratchpad "Term 3")
-
- -- volume keys
- , ((myModMask, xK_equal), spawn volUp)
- , ((myModMask, xK_minus), spawn volDown)
- , ((myModMask, xK_BackSpace), spawn volMute)
-
- -- brightness keys
- , ((myModMask .|. shiftMask, xK_equal), spawn backlightUp)
- , ((myModMask .|. shiftMask, xK_minus), spawn backlightDown)
-
- -- modify gaps on runtime
- -- , ((myModMask, xK_F2), incWindowSpacing 1)
- -- , ((myModMask, xK_F1), decWindowSpacing 1)
- -- , ((myModMask .|. shiftMask, xK_F2), incScreenSpacing 1)
- -- , ((myModMask .|. shiftMask, xK_F1), decScreenSpacing 1)
-
- -- 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)
-
- -- focus previous/next monitor
- , ((myModMask, xK_bracketleft ), prevScreen)
- , ((myModMask, xK_bracketright), nextScreen)
-
- -- move window to previous/next monitor
- , ((myModShiftMask, xK_bracketleft ), shiftPrevScreen >> prevScreen)
- , ((myModShiftMask, xK_bracketright), shiftNextScreen >> nextScreen)
-
- -- swap different screens
- , ((myModMask .|. controlMask, xK_bracketleft ), swapPrevScreen >> prevScreen)
- , ((myModMask .|. controlMask, xK_bracketright), swapNextScreen >> nextScreen)
-
- -- 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_l), sendMessage $ Go R)
- , ((myModMask, xK_h), sendMessage $ Go L)
- , ((myModMask, xK_k), sendMessage $ Go U)
- , ((myModMask, xK_j), sendMessage $ Go D)
- -- swap windows
- , ((myModShiftMask, xK_l), sendMessage $ WN.Swap R)
- , ((myModShiftMask, xK_h), sendMessage $ WN.Swap L)
- , ((myModShiftMask, xK_k), sendMessage $ WN.Swap U)
- , ((myModShiftMask, xK_j), sendMessage $ WN.Swap D)
- -- resize
- , ((myModMask .|. myModMask', xK_l), sendMessage $ ExpandTowards R)
- , ((myModMask .|. myModMask', xK_h), sendMessage $ ExpandTowards L)
- , ((myModMask .|. myModMask', xK_j), sendMessage $ ExpandTowards D)
- , ((myModMask .|. myModMask', xK_k), sendMessage $ ExpandTowards U)
- , ((myModMask .|. myModShiftMask', xK_l), sendMessage $ ShrinkFrom R)
- , ((myModMask .|. myModShiftMask', xK_h), sendMessage $ ShrinkFrom L)
- , ((myModMask .|. myModShiftMask', xK_j), sendMessage $ ShrinkFrom D)
- , ((myModMask .|. myModShiftMask', xK_k), sendMessage $ ShrinkFrom U)
- ] ++ [
- -- 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 = [
- -- actions
- -- TODO: add reboot, shutdown, logout, copy, cut, paste
- ("M-a w", spawn wifiOff)
- , ("M-a S-w", spawn wifiOn)
- , ("M-a s", spawn customScreenshot)
- , ("M-a S-s", spawn fullScreenshot)
- , ("M-a m", spawn volMute)
- , ("M-a p", spawn pausePlay)
- , ("M-a d", myScratchpad "arandr")
- , ("M-a r", spawn "screenrefresh")
- , ("M-a S-r", spawn "screenrefresh -b")
- -- media
- , ("M-m w", myScratchpad "wallpaper")
- , ("M-S-x", myScratchpad "wallpaper")
- , ("M-m o", spawn "obs")
- , ("M-S-o", spawn "obs")
- , ("M-S-u", myScratchpad "musicplayer")
- , ("M-m S-o", spawn "osu")
- , ("M-m s", spawn "syncplay")
- , ("M-m g", spawn "gimp")
- , ("M-m k", spawn "kdenlive")
- , ("M-g", spawn "gimp")
- , ("M-s-g", spawn "kdenlive")
- , ("M-m l", spawn "lutris")
- , ("M-m v", spawn "vlc")
- , ("M-m m", spawn "minecraft-launcher")
- -- system apps/scratchpads
- , ("M-b t", spawn myTorrentClient)
- , ("M-b i", spawn myBrowser)
- , ("M-S-i", spawn myBrowser)
- , ("M-b d", myScratchpad "arandr")
- , ("M-b c", myScratchpad "calc")
- , ("M-b b", myScratchpad "blueman")
- , ("M-S-b", myScratchpad "blueman")
- , ("M-b p", myScratchpad "pavucontrol")
- , ("M-x", myScratchpad "pavucontrol")
- , ("M-b m", myScratchpad "BPYTOP")
- , ("M-S-m", myScratchpad "BPYTOP")
- , ("M-b n", myScratchpad "nmtui")
- , ("M-S-n", myScratchpad "nmtui")
- -- websites
- , ("M-n y", spawn $ myBrowser ++ " https://youtube.com")
- , ("M-n d", spawn $ myBrowser ++ " https://duckduckgo.com")
- , ("M-n g", spawn $ myBrowser ++ " https://google.com")
- , ("M-n S-g", spawn $ myBrowser ++ " https://github.com")
- , ("M-n j", spawn $ myBrowser ++ " https://www.youtube.com/playlist?list=PL8lRJQHQWddu55nsz8CezmJJ-GRVISZ1E")
- , ("M-n k", spawn $ myBrowser ++ " https://www.youtube.com/playlist?list=PL8lRJQHQWddvzCv02lClCfDfUo97wzX1A")
- , ("M-n c", spawn $ myBrowser ++ " https://www.youtube.com/playlist?list=PL8lRJQHQWdduy2V0DQQ4Lm0P572XJFVB9")
- , ("M-n v", spawn $ myBrowser ++ " https://vidhukant.xyz")
- , ("M-n m", spawn $ myBrowser ++ " https://myanimelist.net/profile/0ZeroTsu")
- -- other apps
- , ("M-y e", spawn myTextEditor)
- , ("M-d", spawn myTextEditor)
- , ("M-S-d", spawn "firejail discord")
- , ("M-y S-e", spawn myEmailClient)
- , ("M-t", spawn myEmailClient)
- , ("M-y t", spawn myTorrentClient)
- , ("M-S-t", spawn myTorrentClient)
- , ("M-y S-t", spawn "torbrowser-launcher")
- , ("M-y i", spawn myBrowser)
- , ("M-y S-i", spawn myPrivateBrowser)
- , ("M-y f", spawn "firefox")
- , ("M-y v", spawn "virt-manager")
- , ("M-v", spawn "virt-manager")
- , ("M-y b", spawn "brave")
- , ("M-y p", spawn myFileManager)
- , ("M-s", spawn myFileManager)
- , ("M-z", spawn myPasswordManager)
- , ("M-y S-p", spawn $ myTerminal' ++ " -e " ++ myFileManager')
- , ("M-c", spawn myColorPicker)
- -- XMonad
- , ("M-q q", gridselectWindow myGridSelect >>= flip whenJust (\w -> killWindow w))
- , ("M-q S-q", killAll)
- , ("M-q r", sendMessage Rotate)
- , ("M-q t", sendMessage ToggleStruts)
- , ("M-q s", sendMessage BSP.Swap)
- , ("M-q g", goToSelected myGridSelect)
- , ("M-q c", windows copyToAll)
- , ("M-q S-c", killAllOtherCopies)
- , ("M-q b", bringSelected myGridSelect)
- -- gaps
- , ("M-q x d", decWindowSpacing 3)
- , ("M-q x i", incWindowSpacing 3)
- , ("M-q x S-d", decScreenSpacing 3)
- , ("M-q x S-i", incScreenSpacing 3)
- , ("M-q x b", setSmartSpacing False)
- , ("M-q x S-b", setSmartSpacing True)
- , ("M-q x n", setWindowSpacingEnabled False)
- , ("M-q x S-n", setWindowSpacingEnabled True)
- , ("M-q x m", setScreenSpacingEnabled False)
- , ("M-q x S-m", setScreenSpacingEnabled True)
- -- resize windows
- , ("M-q h", sendMessage $ ExpandTowards L)
- , ("M-q j", sendMessage $ ExpandTowards D)
- , ("M-q k", sendMessage $ ExpandTowards U)
- , ("M-q l", sendMessage $ ExpandTowards R)
- , ("M-q S-h", sendMessage $ ShrinkFrom L)
- , ("M-q S-j", sendMessage $ ShrinkFrom D)
- , ("M-q S-k", sendMessage $ ShrinkFrom U)
- , ("M-q S-l", sendMessage $ ShrinkFrom R)
- ]