73 lines
3 KiB
Haskell
73 lines
3 KiB
Haskell
import XMonad
|
|
import XMonad.Util.EZConfig (additionalKeysP)
|
|
import XMonad.Hooks.DynamicLog
|
|
import XMonad.Hooks.StatusBar
|
|
import XMonad.Hooks.StatusBar.PP
|
|
import XMonad.Hooks.EwmhDesktops
|
|
import XMonad.Util.SpawnOnce (spawnOnce)
|
|
import XMonad.Layout.Spacing
|
|
import XMonad.Layout.ThreeColumns
|
|
|
|
import Theme
|
|
import NaturalGreenTheme
|
|
import BlueLakeTheme
|
|
import DuskCloudTheme
|
|
|
|
main = do
|
|
xmonad . ewmhFullscreen . ewmh . withEasySB (statusBarProp ("xmobar " ++ themeWallpaper myTheme) (pure $ themeXmobarPP myTheme)) defToggleStrutsKey $ myConfig
|
|
|
|
|
|
myConfig = def { terminal = myTerminal
|
|
, modMask = myModMask
|
|
, borderWidth = myBorderWidth
|
|
, focusedBorderColor = themeFocusedBorderColor myTheme
|
|
, normalBorderColor = themeBorderColor myTheme
|
|
, startupHook = myStartupHook
|
|
, layoutHook = spacingWithEdge myGapSize $ myLayoutHook
|
|
}
|
|
`additionalKeysP` myKeybindings
|
|
|
|
myTerminal = "alacritty"
|
|
myModMask = mod4Mask
|
|
myBorderWidth = 0
|
|
myEmacs = "emacsclient -c -a 'emacs' "
|
|
myBrowser = "firefox"
|
|
myWorkBrowser = "firefox -P emre@mixrank.com"
|
|
myTheme = duskCloudTheme
|
|
myLauncher = ".config/rofi/launchers/type-6/launcher.sh"
|
|
myPowerMenu = ".config/rofi/powermenu/type-6/powermenu.sh"
|
|
myGapSize = 13
|
|
|
|
myStartupHook :: X ()
|
|
myStartupHook = do
|
|
spawn $ "dotfiles/primary-startup.sh"
|
|
spawn $ "/usr/bin/xmobar " ++ themeBarConfig myTheme
|
|
spawn $ "feh --bg-scale " ++ themeWallpaper myTheme
|
|
spawn "xscreensaver -no-splash"
|
|
spawnOnce "trayer --edge top --align right --SetDockType true --SetPartialStrut true --expand true --width 10 --transparent true --tint 0x5f5f5f --height 31"
|
|
spawn "emacs --daemon"
|
|
spawn "picom --experimental-backends"
|
|
|
|
myKeybindings :: [(String, X())]
|
|
myKeybindings = [ ("M-S-e", spawn myEmacs)
|
|
, ("M-S-<F5>", spawn myWorkBrowser)
|
|
, ("M-S-f", spawn myBrowser)
|
|
, ("M-s", spawn "maim -s | xclip -selection clipboard -t image/png")
|
|
, ("<XF86MonBrightnessUp>", spawn "brightnessctl s +4%")
|
|
, ("<XF86MonBrightnessDown>", spawn "brightnessctl s 4%-")
|
|
, ("<XF86AudioRaiseVolume>", spawn "amixer -q sset Master 5%+")
|
|
, ("<XF86AudioLowerVolume>", spawn "amixer -q sset Master 5%-")
|
|
, ("M-<Return>", spawn myTerminal)
|
|
, ("M-q", spawn "xmonad --recompile; killall xmobar; killall picom; xmonad --restart")
|
|
, ("M-d", spawn myLauncher)
|
|
, ("M-S-d", spawn myPowerMenu)
|
|
, ("<Insert>", spawn "playerctl play-pause")
|
|
]
|
|
|
|
myLayoutHook = tiled ||| Mirror tiled ||| Full ||| threeCol
|
|
where
|
|
tiled = Tall nmaster delta ratio
|
|
threeCol = ThreeCol nmaster delta (1/3)
|
|
nmaster = 1
|
|
ratio = 1/2
|
|
delta = 3/100
|