Compare commits

...

2 Commits

Author SHA1 Message Date
qvalentin 4d947ab1a3 make xmobar fancy 2021-10-30 14:51:27 +02:00
qvalentin a3ad5c5544 quality of life changes 2021-10-29 11:20:52 +02:00
1 changed files with 14 additions and 9 deletions

View File

@ -61,7 +61,7 @@ import XMonad.Hooks.DynamicLog
xmobarBorder, xmobarBorder,
xmobarColor, xmobarColor,
xmobarRaw, xmobarRaw,
xmobarStrip, xmobarStrip, ppVisible
) )
import XMonad.Hooks.EwmhDesktops import XMonad.Hooks.EwmhDesktops
( activateLogHook, ( activateLogHook,
@ -92,7 +92,8 @@ import XMonad.Util.SpawnOnce (spawnOnce)
import XMonad.Util.Ungrab (unGrab) import XMonad.Util.Ungrab (unGrab)
import XMonad.Util.WorkspaceCompare (getSortByIndex) import XMonad.Util.WorkspaceCompare (getSortByIndex)
import XMonad.Layout (Resize(Expand,Shrink) ) import XMonad.Layout (Resize(Expand,Shrink) )
import XMonad.Layout.DwmStyle (dwmStyle, shrinkText) import XMonad.Layout.NoBorders
import XMonad.Layout.Named (named)
main :: IO () main :: IO ()
main = do main = do
@ -141,19 +142,20 @@ main = do
myXmobarPP :: [String] -> PP myXmobarPP :: [String] -> PP
myXmobarPP colors = myXmobarPP colors =
def def
{ ppSep = walXmobarColor 1 " ", { ppSep = walXmobarColor 1 " \63617 ",
ppTitleSanitize = xmobarStrip, ppTitleSanitize = xmobarStrip,
ppCurrent = wrap " " "" . xmobarBorder "Top" (colors !! 6) 2, ppCurrent = wrap " " "" . xmobarBorder "Top" (colors !! 6) 2,
ppHidden = white . wrap " " "", ppHidden = white . wrap " " "",
ppHiddenNoWindows = white . wrap " " "", ppHiddenNoWindows = lowWhite . wrap " " "",
ppUrgent = red . wrap (yellow "!") (yellow "!"), ppUrgent = red . wrap (yellow "!") (yellow "!"),
ppVisible = wrap " " "" . xmobarBorder "Bottom" (colors !! 6) 2,
ppOrder = \[ws, l, _, wins] -> [ws, l, wins], ppOrder = \[ws, l, _, wins] -> [ws, l, wins],
ppExtras = [logTitles formatFocused formatUnfocused], ppExtras = [logTitles formatFocused formatUnfocused],
ppSort = hideWorkspaces ppSort = hideWorkspaces
} }
where where
formatFocused = wrap (white "[") (white "]") . walXmobarColor 7 . ppWindow formatFocused = wrap (walXmobarColor 7 "<fn=2>\58279</fn>") (walXmobarColor 7 "<fn=2>\58254</fn>") . walXmobarColor 7 . ppWindow
formatUnfocused = wrap (lowWhite "[") (lowWhite "]") . walXmobarColor 4 . ppWindow formatUnfocused = wrap (walXmobarColor 4 "<fn=2>\58279</fn>") (walXmobarColor 4 "<fn=2>\58254</fn>") . walXmobarColor 4 . ppWindow
walXmobarColor index = xmobarColor (colors !! index) "" walXmobarColor index = xmobarColor (colors !! index) ""
ppWindow :: String -> String ppWindow :: String -> String
ppWindow = xmobarRaw . (\w -> if null w then "untitled" else w) . shorten 30 ppWindow = xmobarRaw . (\w -> if null w then "untitled" else w) . shorten 30
@ -179,6 +181,7 @@ myStartupHook :: X ()
myStartupHook = do myStartupHook = do
spawnOnce "picom &" spawnOnce "picom &"
spawnOnce "sh $HOME/.fehbg" spawnOnce "sh $HOME/.fehbg"
spawnOnce "setxkbmap -option caps:escape"
getWalColors :: IO [String] getWalColors :: IO [String]
getWalColors = do getWalColors = do
@ -193,9 +196,9 @@ mySpacing' i = spacingRaw True (Border i 0 i i) True (Border i 0 i i) True
--myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "] --myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
myWorkspaces :: [String] myWorkspaces :: [String]
myWorkspaces = show <$> ([1 .. 9] ::[Integer] ) myWorkspaces = show <$> ([1 .. 9] ::[Integer] )
myLayout = windowNavigation tiled ||| Mirror tiled ||| Full myLayout = smartBorders $ windowNavigation tiled ||| smartBorders Full ||| Mirror tiled
where where
tiled = mySpacing' 8 $ Tall nmaster delta ratio tiled = named "Tall" $ mySpacing' 8 $ Tall nmaster delta ratio
nmaster = 1 -- Default number of windows in the master pane nmaster = 1 -- Default number of windows in the master pane
ratio = 1 / 2 -- Default proportion of screen occupied by master pane ratio = 1 / 2 -- Default proportion of screen occupied by master pane
delta = 3 / 100 -- Percent of screen to increment by when resizing panes delta = 3 / 100 -- Percent of screen to increment by when resizing panes
@ -221,9 +224,11 @@ myManageHook =
title =? "Mozilla Firefox" --> viewShift (myWorkspaces !! 1), title =? "Mozilla Firefox" --> viewShift (myWorkspaces !! 1),
title =? "Signal" --> viewShift (myWorkspaces !! 2), title =? "Signal" --> viewShift (myWorkspaces !! 2),
className =? "TelegramDesktop" --> viewShift (myWorkspaces !! 2), className =? "TelegramDesktop" --> viewShift (myWorkspaces !! 2),
className =? "Element" --> viewShift (myWorkspaces !! 2),
className =? "Thunderbird" --> viewShift (myWorkspaces !! 2),
className =? "Gimp" --> doShift (myWorkspaces !! 8), className =? "Gimp" --> doShift (myWorkspaces !! 8),
(className =? "firefox" <&&> resource =? "Dialog") --> doFloat, -- Float Firefox Dialog (className =? "firefox" <&&> resource =? "Dialog") --> doFloat, -- Float Firefox Dialog
className =? "alfaview" --> viewShift (myWorkspaces !! 5), className =? "alfaview" --> viewShift (myWorkspaces !! 3),
className =? "jetbrains-idea" --> viewShift (myWorkspaces !! 4), className =? "jetbrains-idea" --> viewShift (myWorkspaces !! 4),
(className =? "jetbrains-studio") <&&> (title ~=? "win") --> doIgnore (className =? "jetbrains-studio") <&&> (title ~=? "win") --> doIgnore
] ]