Skip to content

Instantly share code, notes, and snippets.

@ajrouvoet
Created October 22, 2023 15:00
Show Gist options
  • Save ajrouvoet/011a14912dc2c0d2be9fbc471dde73c8 to your computer and use it in GitHub Desktop.
Save ajrouvoet/011a14912dc2c0d2be9fbc471dde73c8 to your computer and use it in GitHub Desktop.
import XMonad
import XMonad.Util.EZConfig
import XMonad.Hooks.EwmhDesktops hiding (fullscreenEventHook)
import XMonad.Layout.NoBorders
import XMonad.Layout.MultiToggle
import XMonad.Layout.MultiToggle.Instances
import XMonad.Layout.Spacing
import XMonad.Layout.Fullscreen
import XMonad.Layout.Grid
import XMonad.Layout.Gaps
import XMonad.Layout.ResizableTile
import XMonad.Layout.LayoutScreens
import XMonad.Layout.TwoPane
import qualified XMonad.StackSet as W
main :: IO ()
main = xmonad
. ewmh
$ myconfig
meta = mod1Mask
myconfig = def
{ terminal = "alacritty"
, layoutHook = myLayout
, modMask = meta
}
`additionalKeys`
[ ((meta .|. shiftMask, xK_h), windows W.swapMaster)
, ((meta , xK_f), sendMessage $ Toggle FULL)
, ((meta , xK_Return), spawn "konsole")
, ((meta , xK_r), spawn "rofi -show run")
, ((meta .|. shiftMask, xK_space), layoutScreens 2 (TwoPane 0.5 0.5))
, ((meta .|. controlMask .|. shiftMask, xK_space), rescreen)
]
myLayout = smartBorders
. smartSpacing 5
. mkToggle (single FULL)
$ tiled ||| Grid ||| Full ||| demo
where
tiled = ResizableTall 1 (3/100) (2/3) []
demo = spacing 200 Full
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment