summaryrefslogtreecommitdiff
path: root/lib/xmonad.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/xmonad.hs')
-rw-r--r--lib/xmonad.hs40
1 files changed, 21 insertions, 19 deletions
diff --git a/lib/xmonad.hs b/lib/xmonad.hs
index e58ab09..b008119 100644
--- a/lib/xmonad.hs
+++ b/lib/xmonad.hs
@@ -22,17 +22,21 @@ import Data.List (intercalate, isPrefixOf)
import Graphics.X11.ExtraTypes.XF86
import XMonad
import XMonad.Actions.CopyWindow
+import XMonad.Actions.GridSelect
import XMonad.Actions.WindowBringer (gotoMenu, bringMenu)
import XMonad.Actions.UpdatePointer (updatePointer)
import XMonad.Config
import XMonad.Config.Desktop
import XMonad.Hooks.EwmhDesktops (ewmh)
+import XMonad.Hooks.FadeInactive
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.ManageHelpers (doFullFloat, isFullscreen)
+import XMonad.Layout.Accordion
import XMonad.Layout.BinarySpacePartition
import XMonad.Layout.Dwindle as Dwindle
import XMonad.Layout.LayoutModifier
import XMonad.Layout.NoBorders
+import XMonad.Layout.PerScreen
import XMonad.Layout.ResizableTile
import XMonad.Layout.Spacing
import XMonad.Layout.Spiral
@@ -95,18 +99,14 @@ scratchHook = namedScratchpadManageHook scratchpads --
myManageHook = manageDocks <+> scratchHook <+> (shouldFloat --> doFullFloat) <+> manageHook def
--- todo: use urxvtc with daemon
-termName = "/home/ben/.nix-profile/bin/urxvt"
+termName = "kitty"
centerFloat = customFloating (W.RationalRect 0.125 0.125 0.75 0.75)
scratchpads = [
- -- run htop in xterm, find it by title
- NS "htop" "urxvt -e htop" (title =? "htop") centerFloat,
- NS "gotop" "urxvt -e gotop" (title =? "gotop") centerFloat,
-
- NS "nvtop" "urxvt -e nvtop" (title =? "nvtop") centerFloat,
-
+ NS "htop" "kitty -e htop" (title =? "htop") centerFloat,
+ NS "gotop" "kitty -e gotop" (title =? "gotop") centerFloat,
+ NS "nvtop" "kitty -e nvtop" (title =? "nvtop") centerFloat,
NS "pwvucontrol" "pwvucontrol" (className =? "Pwvucontrol") centerFloat
]
@@ -119,6 +119,8 @@ insKeys conf@(XConfig {modMask = modMask}) =
((modMask, xK_n), spawn "rofi -sidebar-mode -show window"),
((modMask, xK_u), spawn "rofi -show calc -modi calc -no-show-match -no-sort"),
+ ((modMask, xK_g), goToSelected def),
+
-- scratchpads
((meh, xK_h), namedScratchpadAction scratchpads "htop"),
((meh, xK_n), namedScratchpadAction scratchpads "nvtop"),
@@ -187,19 +189,19 @@ myTabCfg theme =
myLayout theme =
avoidStruts $
- noBorders (tabbed shrinkText $ myTabCfg theme)
- ||| (addSpace $ noBorders Full)
+ ifWider 2160 wideLayouts tallLayouts
+ where
+ wideLayouts =
+ (addSpace $ noBorders (tabbed shrinkText $ myTabCfg theme))
||| twopane
- ||| Mirror twopane
- ||| ThreeCol 1 (3 / 100) (1 / 2)
- ||| ThreeColMid 1 (3 / 100) (1 / 2)
+ ||| (addSpace $ ThreeCol 1 (3 / 100) (1 / 3))
||| tiled
+-- ||| emptyBSP
+ tallLayouts =
+ (addSpace $ noBorders (tabbed shrinkText $ myTabCfg theme))
+ ||| addSpace Accordion
+ ||| Mirror twopane
||| Mirror tiled
- ||| emptyBSP
- where
- -- ||| goldenSpiral
- -- ||| Spiral R Dwindle.CW (3 / 2) (11 / 10) -- L/R is where to put non-main windows
-
-- The last parameter is fraction to multiply the slave window heights
-- with. Useless here.
tiled = addSpace $ ResizableTall nmaster delta ratio []
@@ -225,7 +227,7 @@ myConf theme = additionalKeys cfg (insKeys cfg)
layoutHook = myLayout theme,
terminal = termName,
workspaces = myWorkspaces,
- logHook = updatePointer (0.5,0.5) (0,0)
+ logHook = updatePointer (0.5,0.5) (0,0) >> fadeInactiveLogHook 0.8
}
main :: IO ()