summaryrefslogtreecommitdiff
path: root/config/xmonad/xmonad.hs
blob: efec589c1894ed16c810c6abe6bb6c40147399c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import XMonad
import XMonad.Util.EZConfig (additionalKeysP)
import XMonad.Util.Run
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.StatusBar
import XMonad.Hooks.ManageDocks
import XMonad.Layout.Spacing
import System.IO

keybinds =
    [
     ("M-<Return>", spawn "alacritty"),
     ("M-r", spawn "rofi -show drun -config ~/.config/rofi/gruvbox.rasi"),
     ("M-S-s", spawn "flameshot gui"),
     ("M-s", kill)
    ]

cLayoutHook = avoidStruts $ spacing 5 $ layoutHook def

cXMobarPP :: PP
cXMobarPP = def
	{
		ppCurrent = xmobarColor "#83A598" "" ,
		ppHidden = xmobarColor "#EBDBB2" "",
		ppHiddenNoWindows = xmobarColor "#EBDBB2" "",
		ppTitle = xmobarColor "#EBDBB2" "" . shorten 60 . wrap "[" "]",
		ppLayout = \layout -> ""
	}

cXStatusBar = statusBarProp "xmobar" (pure cXMobarPP)

logHook = dynamicLogWithPP $ def
    { ppOutput = \s -> return (),
	ppCurrent = id,
	ppVisible = id,
	ppHidden = id,
	ppUrgent = id,
	ppTitle = id
    }

main = xmonad . withSB (statusBarProp "xmobar -f 'xft:JetBrainsMono Nerd Font-14'" (pure cXMobarPP)) $ withEasySB cXStatusBar defToggleStrutsKey $ def
	{
		modMask = mod4Mask,
		terminal = "alacritty",
		borderWidth =  2,
		normalBorderColor = "#282828",
		focusedBorderColor = "#383838",
		workspaces = map show [1..9],
		layoutHook = cLayoutHook
	}
	`additionalKeysP` keybinds