diff options
Diffstat (limited to 'xmonad.hs')
-rw-r--r-- | xmonad.hs | 215 |
1 files changed, 0 insertions, 215 deletions
diff --git a/xmonad.hs b/xmonad.hs deleted file mode 100644 index 319f61f5..00000000 --- a/xmonad.hs +++ /dev/null @@ -1,215 +0,0 @@ -import XMonad -import qualified XMonad.StackSet as W --- import XMonad hiding ((|||)) - --- actions -import XMonad.Actions.CycleWS (moveTo, shiftTo, WSType(..), nextScreen, prevScreen) -import XMonad.Actions.CopyWindow -import XMonad.Actions.CycleWS -import XMonad.Actions.GridSelect -import XMonad.Actions.SwapWorkspaces -import XMonad.Actions.WindowBringer -import XMonad.Actions.MouseResize - --- layouts modifiers -import XMonad.Layout.Spacing -import XMonad.Layout.LayoutModifier -import XMonad.Layout.WindowNavigation as WN - --- Layouts -import XMonad.Layout.AvoidFloats -import XMonad.Layout.BinarySpacePartition as BSP -import XMonad.Layout.CenteredMaster -import XMonad.Layout.Grid -import XMonad.Layout.ThreeColumns -import XMonad.Layout.TwoPane -import XMonad.Layout.Spiral -import XMonad.Layout.ResizableTile -import XMonad.Layout.Tabbed - --- hooks -import XMonad.Hooks.SetWMName -import XMonad.Hooks.ManageDocks -import XMonad.Hooks.DynamicLog - --- utilities -import XMonad.Util.SpawnOnce -import XMonad.Util.EZConfig (additionalKeys) -import XMonad.Util.Cursor -import XMonad.Util.Paste -import XMonad.Util.Run - -myStartupHook :: X () -myStartupHook = do - spawnOnce "nitrogen --restore &" - spawnOnce "picom &" - spawnOnce "deadd-notification-center &" - -- spawnOnce "firefox &" - spawnOnce "sxhkd &" - spawnOnce "betterlockscreen -l -t 'Welcome, Vidhu Kant!'" - setWMName "AnimeTits&ThighsWM" - setDefaultCursor xC_left_ptr - - - - - --- defaults - --- myFont :: String --- myFont = "Roboto" - -myModMask :: KeyMask -myModMask = mod4Mask - -myTerminal :: String -myTerminal = "st" - -myDmenu :: String -myDmenu = "run_dmenu" - -myBrowser :: String -myBrowser = "firefox" - --- myEditor :: String --- myEditor = "vim" - - --- wm variables - -nBorder = "#1E1F29" -- "#3804f4" -- "#bf00ff" -fBorder = "#FB027F" - -myBorderWidth = 2 - -sGap = 3 -- screen gap -wGap = 1 -- window gap - -myExtraWorkspaces = [(xK_0, "10")] -- ,(xK_minus, "tmp"),(xK_equal, "swap")] -myWorkspaces = ["δΈ€","2","3","4","5","6","7","8", "9"] ++ (map snd myExtraWorkspaces) - - --- keybindings -myKeys = [ - ((mod4Mask, xK_Return), spawn (myTerminal ++ " -e fish")) - , ((mod1Mask, xK_p), spawn "/home/zt/.config/scripts/run_dmenu") - , ((mod1Mask, xK_w), kill1) - , ((mod1Mask .|. shiftMask, xK_k), kill1) - , ((mod1Mask, xK_o), withFocused $ windows . W.sink) -- unfloat windows - - -- view prev/next workspaces - , ((mod1Mask, xK_h), prevWS) - , ((mod1Mask, xK_l), nextWS) - - -- move to prev/next workspaces - , ((mod1Mask .|. shiftMask, xK_h), shiftToPrev >> prevWS) - , ((mod1Mask .|. shiftMask, xK_l), shiftToNext >> nextWS) - - -- modify gaps on runtime - , ((mod1Mask, xK_equal), incWindowSpacing 1) - , ((mod1Mask, xK_minus), decWindowSpacing 1) - , ((mod1Mask .|. shiftMask, xK_equal), incScreenSpacing 1) - , ((mod1Mask .|. shiftMask, xK_minus), decScreenSpacing 1) - - , ((mod4Mask .|. shiftMask, xK_Return), windows W.swapMaster) -- Swap the focused window and the master window - - -- these keybindings are for WindowNavigation - -- and they conflict with BSP layout - - -- directional navigation of windows - , ((mod4Mask, xK_l), sendMessage $ Go R) - , ((mod4Mask, xK_h), sendMessage $ Go L) - , ((mod4Mask, xK_k), sendMessage $ Go U) - , ((mod4Mask, xK_j), sendMessage $ Go D) - - -- swap windows - , ((mod4Mask .|. shiftMask, xK_l), sendMessage $ WN.Swap R) - , ((mod4Mask .|. shiftMask, xK_h), sendMessage $ WN.Swap L) - , ((mod4Mask .|. shiftMask, xK_k), sendMessage $ WN.Swap U) - , ((mod4Mask .|. shiftMask, xK_j), sendMessage $ WN.Swap D) - - -- cycle through windows - , ((mod1Mask, xK_j), windows W.focusDown) - , ((mod1Mask, xK_k), windows W.focusUp) - - -- grid select - , ((mod1Mask, xK_n), goToSelected defaultGSConfig) - - -- windowbringer - , ((mod1Mask, xK_b), bringMenu) - , ((mod1Mask, xK_g), gotoMenu) - - -- paste x selection - , ((0, xK_Insert), pasteSelection) - - -- toggle bars - , ((mod1Mask, xK_backslash), sendMessage ToggleStruts) -- toggle both bars - , ((mod1Mask, xK_bracketleft), sendMessage $ ToggleStrut D) -- toggle bottom bar - , ((mod1Mask, xK_bracketright), sendMessage $ ToggleStrut U) -- toggle top bar - - -- BSP layout keybindings - -- resize - , ((mod4Mask .|. mod1Mask, xK_l ), sendMessage $ ExpandTowards R) - , ((mod4Mask .|. mod1Mask, xK_h ), sendMessage $ ExpandTowards L) - , ((mod4Mask .|. mod1Mask, xK_j ), sendMessage $ ExpandTowards D) - , ((mod4Mask .|. mod1Mask, xK_k ), sendMessage $ ExpandTowards U) - , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_l ), sendMessage $ ShrinkFrom R) - , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_h ), sendMessage $ ShrinkFrom L) - , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_j ), sendMessage $ ShrinkFrom D) - , ((mod4Mask .|. mod1Mask .|. shiftMask , xK_k ), sendMessage $ ShrinkFrom U) - -- other - , ((mod1Mask, xK_r ), sendMessage Rotate) - , ((mod1Mask, xK_s ), sendMessage BSP.Swap) --- , ((mod4Mask .|. shiftMask .|. controlMask , xK_j ), sendMessage $ SplitShift Prev) --- , ((mod4Mask .|. shiftMask .|. controlMask , xK_k ), sendMessage $ SplitShift Next) - - - - ] ++ [ -- for extra workspace(s) - ((myModMask, key), (windows $ W.greedyView ws)) - | (key,ws) <- myExtraWorkspaces - ] ++ [ -- also for extra workspaces - ((myModMask .|. shiftMask, key), (windows $ W.shift ws)) - | (key,ws) <- myExtraWorkspaces - ] ++ [ -- to swap workspaces - ((mod4Mask .|. controlMask, k), windows $ swapWithCurrent i) - | (i, k) <- zip myWorkspaces [xK_1 ..] - ] - - --- layouts -myGap = spacingRaw False (Border sGap sGap sGap sGap) True (Border wGap wGap wGap wGap) True - -myLayouts = avoidStruts $ mouseResize $ windowNavigation $ myGap $ emptyBSP ||| ThreeColMid 1 (3/100) (1/2) ||| Grid ||| TwoPane (3/100) (1/2) ||| ThreeCol 1 (3/100) (1/2) ||| ThreeCol 2 (3/100) (1/2) ||| topRightMaster emptyBSP - -myLayoutHook = myLayouts - - -myLemonbarPP = def {ppCurrent = wrap "" "" - , ppHidden = wrap "" "" - , ppHiddenNoWindows = wrap "" "" - , ppTitle = wrap "" "" . shorten 60 - , ppSep = " " - , ppUrgent = wrap "" "" - , ppOrder = \(ws:l:t:ex) -> [ws,l]++ex++[t] - } - -main = do - bar <- spawnPipe "lemonbar -g 1366x21 -b -B '#171520' -p -F '#ffffff' -f 'Source Han Sans JP:size=10' -o -3 -f 'RobotoMono Nerd Font:style=Regular:size=15' -f -n 'mainbar' -o 0" - xmonad $ docks def - { - terminal = myTerminal, - focusFollowsMouse = True, - borderWidth = myBorderWidth, - modMask = myModMask, - workspaces = myWorkspaces, - normalBorderColor = nBorder, - focusedBorderColor = fBorder, - -- mouseBindings = myMouseBindings, - layoutHook = myLayoutHook, - -- manageHook = myManageHook, - -- handleEventHook = myEventHook, - logHook = dynamicLogWithPP myLemonbarPP { ppOutput = \x -> hPutStrLn bar x }, - startupHook = myStartupHook -} `additionalKeys` myKeys - |