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.hs244
1 files changed, 1 insertions, 243 deletions
diff --git a/.config/XMonad/lib/Keybindings.hs b/.config/XMonad/lib/Keybindings.hs
index 9b3eaaa..c6f9205 100644
--- a/.config/XMonad/lib/Keybindings.hs
+++ b/.config/XMonad/lib/Keybindings.hs
@@ -1,36 +1,9 @@
module Keybindings where
-import System.Exit
-import System.IO
-
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
-
--- utilities
-import XMonad.Util.SpawnOnce
-import XMonad.Util.EZConfig
-import XMonad.Util.NamedScratchpad
import Defaults
-import Scratchpads
myMouseKeybindings :: [((ButtonMask, Button), Window -> X ())]
myMouseKeybindings = [
@@ -50,219 +23,4 @@ myFnKeybindingsP = [
, ("<XF86AudioPlay>", spawn pausePlay)
, ("<XF86AudioPause>", spawn pausePlay)
, ("<Pause>", spawn pausePlay)
- ]
-
-myKeybindingsQWERTY :: [((KeyMask, KeySym), X ())]
-myKeybindingsQWERTY = [
- ((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)
-
- ] ++ [ -- for extra workspace(s)
- ((myModMask, key), windows $ W.greedyView ws)
- | (key,ws) <- myExtraWorkspaces
- ] ++ [ -- also for extra workspaces
- ((myModShiftMask, key), windows $ W.shift ws)
- | (key,ws) <- myExtraWorkspaces
- ] ++ [ -- to swap workspace
- ((myModShiftMask', k), windows $ swapWithCurrent i)
- | (i, k) <- zip myWorkspaces [xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9, xK_0] -- ++ map fst myExtraWorkspaces
- ] ++ [ -- copy
- ((m .|. myModMask, k), windows $ f i)
- | (i, k) <- zip myWorkspaces [xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9, xK_0] -- ++ map fst myExtraWorkspaces
- , (f, m) <- [(copy, myModShiftMask')]
- ] ++ [ -- for not swapping tags while using multihead
- ((m .|. myModMask, k), windows $ f i)
- | (i, k) <- zip myWorkspaces [xK_1, xK_2, xK_3, xK_4, xK_5, xK_6, xK_7, xK_8, xK_9, xK_0] -- ++ map fst myExtraWorkspaces
- , (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)]
- ]
-
-myKeybindingsQWERTYP :: [(String, X())]
-myKeybindingsQWERTYP = [
- -- 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)
- ] ++ myFnKeybindingsP
+ ] \ No newline at end of file