Update XMonad config

This commit is contained in:
daniele 2024-03-25 22:45:18 +01:00
parent 9dcd101b54
commit f7da68f66e
Signed by: fuxino
GPG Key ID: 981A2B2A3BBF5514
2 changed files with 41 additions and 7 deletions

View File

@ -2,7 +2,7 @@ Config { overrideRedirect = False
, font = "Bitstream Vera Sans Mono Bold 9" , font = "Bitstream Vera Sans Mono Bold 9"
, bgColor = "black" , bgColor = "black"
, fgColor = "#646464" , fgColor = "#646464"
, position = TopW L 92 , position = TopW L 93
, border = BottomB , border = BottomB
, borderColor = "#646464" , borderColor = "#646464"
, allDesktops = True , allDesktops = True

View File

@ -1,20 +1,32 @@
-- Import
import XMonad import XMonad
-- Hooks
import XMonad.Hooks.DynamicLog import XMonad.Hooks.DynamicLog
import XMonad.Hooks.EwmhDesktops import XMonad.Hooks.EwmhDesktops
import XMonad.Hooks.InsertPosition import XMonad.Hooks.InsertPosition
import XMonad.Hooks.ManageHelpers import XMonad.Hooks.ManageHelpers
import XMonad.Hooks.StatusBar import XMonad.Hooks.StatusBar
import XMonad.Hooks.StatusBar.PP import XMonad.Hooks.StatusBar.PP
-- Layouts
import XMonad.Layout.Grid import XMonad.Layout.Grid
import XMonad.Layout.Spiral
import XMonad.Layout.Tabbed
import XMonad.Layout.ThreeColumns
-- Layout modifiers
import XMonad.Layout.LayoutCombinators
import XMonad.Layout.Magnifier import XMonad.Layout.Magnifier
import XMonad.Layout.Renamed import XMonad.Layout.Renamed
import XMonad.Layout.Spiral import XMonad.Layout.ShowWName
import XMonad.Layout.ThreeColumns
-- Util
import XMonad.Util.EZConfig import XMonad.Util.EZConfig
import XMonad.Util.Loggers import XMonad.Util.Loggers
import XMonad.Util.SpawnOnce import XMonad.Util.SpawnOnce
-- Main
main :: IO () main :: IO ()
main = xmonad main = xmonad
. ewmhFullscreen . ewmhFullscreen
@ -22,12 +34,14 @@ main = xmonad
. withEasySB (xmobar1 <> xmobar2) defToggleStrutsKey . withEasySB (xmobar1 <> xmobar2) defToggleStrutsKey
$ myConfig $ myConfig
-- Config
myConfig = def myConfig = def
{ modMask = mod4Mask { modMask = mod4Mask
, terminal = "kitty" , terminal = "kitty"
, workspaces = myWorkspaces
, focusedBorderColor = "#006700" , focusedBorderColor = "#006700"
, normalBorderColor = "#000000" , normalBorderColor = "#000000"
, layoutHook = myLayout , layoutHook = showWName myLayout
, startupHook = myStartupHook , startupHook = myStartupHook
, manageHook = myManageHook , manageHook = myManageHook
} }
@ -35,20 +49,33 @@ myConfig = def
[ ("M-S-l" , spawn "xscreensaver-command -lock" ) [ ("M-S-l" , spawn "xscreensaver-command -lock" )
, ("M-v" , spawn "vivaldi" ) , ("M-v" , spawn "vivaldi" )
, ("M-<Print>" , unGrab *> spawn "gnome-screenshot -i" ) , ("M-<Print>" , unGrab *> spawn "gnome-screenshot -i" )
, ("M-w" , spawn "passmenu -i" ) , ("M-d" , spawn "dmenu_run" )
, ("M-p" , spawn "passmenu -i" )
, ("M-f" , sendMessage $ JumpToLayout "Tabbed" )
] ]
myLayout = tiled ||| Mirror tiled ||| Full ||| threeCol ||| Grid ||| spiral(0.856) -- Workspaces
myWorkspaces = [ "1:term", "2:www", "3:games", "4:msg" ] ++ map show [5..9]
-- Layout
myLayout = tiled ||| Mirror tiled ||| myTabbed ||| threeCol ||| Grid ||| spiral(0.856)
where where
threeCol threeCol
= renamed [Replace "ThreeCol"] = renamed [Replace "ThreeCol"]
$ magnifiercz' 1.3 $ magnifiercz' 1.3
$ ThreeColMid nmaster delta ratio $ ThreeColMid nmaster delta ratio
myTabbed
= renamed [Replace "Tabbed"]
$ tabbed shrinkText myTabConfig
myTabConfig = def { activeColor = "#393939"
, inactiveColor = "#191b1c"
}
tiled = Tall nmaster delta ratio tiled = Tall nmaster delta ratio
nmaster = 1 nmaster = 1
ratio = 1/2 ratio = 1/2
delta = 3/100 delta = 3/100
-- Xmobar
xmobar1 = statusBarProp "xmobar -x 0 ~/.config/xmobar/xmobarrc_laptop" (pure myXmobarPP) xmobar1 = statusBarProp "xmobar -x 0 ~/.config/xmobar/xmobarrc_laptop" (pure myXmobarPP)
xmobar2 = statusBarProp "xmobar -x 1 ~/.config/xmobar/xmobarrc_hdmi" (pure myXmobarPP) xmobar2 = statusBarProp "xmobar -x 1 ~/.config/xmobar/xmobarrc_hdmi" (pure myXmobarPP)
@ -78,13 +105,14 @@ myXmobarPP = def
red = xmobarColor "#ff5555" "" red = xmobarColor "#ff5555" ""
lowWhite = xmobarColor "#bbbbbb" "" lowWhite = xmobarColor "#bbbbbb" ""
-- Autostart
myStartupHook :: X () myStartupHook :: X ()
myStartupHook = do myStartupHook = do
spawnOnce "xsetroot -cursor_name left_ptr" spawnOnce "xsetroot -cursor_name left_ptr"
spawnOnce "mons -e left && ~/.fehbg" spawnOnce "mons -e left && ~/.fehbg"
spawnOnce "xscreensaver -no-splash" spawnOnce "xscreensaver -no-splash"
spawnOnce "trayer --edge top --align right --SetDockType true \ spawnOnce "trayer --edge top --align right --SetDockType true \
\--SetPartialStrut true --expand true --width 8 \ \--SetPartialStrut true --expand true --width 7 \
\--transparent true --tint 0x1f2022 --height 18 \ \--transparent true --tint 0x1f2022 --height 18 \
\--monitor 0" \--monitor 0"
spawnOnce "redshift-gtk" spawnOnce "redshift-gtk"
@ -94,9 +122,15 @@ myStartupHook = do
spawnOnce "arch-audit-gtk" spawnOnce "arch-audit-gtk"
spawnOnce "xcompmgr" spawnOnce "xcompmgr"
-- Manage hook
myManageHook :: ManageHook myManageHook :: ManageHook
myManageHook = composeAll myManageHook = composeAll
[ insertPosition End Newer [ insertPosition End Newer
, className =? "kitty" --> doShift "1:term"
, className =? "Vivaldi-stable" --> doShift "2:www"
, className =? "steam" --> doShift "3:games"
, className =? "discord" --> doShift "4:msg"
, className =? "Signal" --> doShift "4:msg"
, className =? "mpv" --> doFullFloat , className =? "mpv" --> doFullFloat
, className =? "Xviewer" --> doFloat , className =? "Xviewer" --> doFloat
, className =? "steam_app_109600" --> doFloat , className =? "steam_app_109600" --> doFloat