Working on bspwm/polybar; also added colorscheme swithcing to affect polybar when using dtos-colorscheme.

This commit is contained in:
Derek Taylor
2023-03-02 14:56:20 -06:00
parent 51733ffc17
commit 4284cc751c
8 changed files with 344 additions and 292 deletions

View File

@@ -273,9 +273,6 @@ schemes:
focused_match:
foreground: '#44475a'
background: '#ffb86c'
bar:
background: '#282a36'
foreground: '#f8f8f2'
line_indicator:
foreground: None
background: None

View File

@@ -1,4 +1,4 @@
#! /bin/sh
#! /usr/bin/env bash
# ____ _____
# | _ \_ _| Derek Taylor (DistroTube)
# | | | || | http://www.youtube.com/c/DistroTube
@@ -13,12 +13,14 @@
sxhkd &
picom &
nitrogen --restore &
./.config/bspwm/launch.sh &
polybar-bspwm &
#### MONITORS ####
bspc monitor DisplayPort-0 -d 1 2 3 4 5 6 7 8 9
bspc monitor DisplayPort-1 -d 1 2 3 4 5 6 7 8 9
bspc monitor HDMI-A-0 -d 1 2 3 4 5 6 7 8 9
monitors=$(xrandr | grep " connected " | cut -f 1 -d " ")
for x in ${monitors[@]}
do
bspc monitor $x -d 1 2 3 4 5 6 7 8 9
done
#### BSPWM configuration ####
#bspc config border_radius 8

View File

@@ -50,38 +50,38 @@ format-offset =
[colors]
; To change color scheme, change the value inside ${color-scheme.colorXX}.
; The following color schemes can be used:
; 1. doom-one
; 2. dracula
; 3. gruvbox-dark
; 4. monokai-pro
; 5. nord
; 6. oceanic-next
; 7. palenight
; 8. solarized-dark
; 9. solarized-light
; 10. tomorrow-night
; 1. DoomOne
; 2. Dracula
; 3. GruvboxDark
; 4. MonokaiPro
; 5. Nord
; 6. OceanicNext
; 7. Palenight
; 8. SolarizedDark
; 9. SolarizedLight
; 10. TomorrowNight
background = ${doom-one.background}
foreground = ${doom-one.foreground}
color0 = ${doom-one.color0}
color1 = ${doom-one.color1}
color2 = ${doom-one.color2}
color3 = ${doom-one.color3}
color4 = ${doom-one.color4}
color5 = ${doom-one.color5}
color6 = ${doom-one.color6}
color7 = ${doom-one.color7}
color8 = ${doom-one.color8}
color9 = ${doom-one.color9}
color10 = ${doom-one.color10}
color11 = ${doom-one.color11}
color12 = ${doom-one.color12}
color13 = ${doom-one.color13}
color14 = ${doom-one.color14}
color15 = ${doom-one.color15}
alert = ${doom-one.color1}
background = ${DoomOne.background}
foreground = ${DoomOne.foreground}
color0 = ${DoomOne.color0}
color1 = ${DoomOne.color1}
color2 = ${DoomOne.color2}
color3 = ${DoomOne.color3}
color4 = ${DoomOne.color4}
color5 = ${DoomOne.color5}
color6 = ${DoomOne.color6}
color7 = ${DoomOne.color7}
color8 = ${DoomOne.color8}
color9 = ${DoomOne.color9}
color10 = ${DoomOne.color10}
color11 = ${DoomOne.color11}
color12 = ${DoomOne.color12}
color13 = ${DoomOne.color13}
color14 = ${DoomOne.color14}
color15 = ${DoomOne.color15}
alert = ${DoomOne.color1}
[doom-one]
[DoomOne]
background = #282c34
foreground = #bbc2cf
color0 = #1c1f24
@@ -101,7 +101,7 @@ color13 = #a9a1e1
color14 = #46d9ff
color15 = #dfdfdf
[dracula]
[Dracula]
background = #282a36
foreground = #f8f8f2
color0 = #000000
@@ -121,7 +121,7 @@ color13 = #ff92d0
color14 = #9aedfe
color15 = #e6e6e6
[gruvbox-dark]
[GruvboxDark]
background = #282828
foreground = #ebdbb2
color0 = #282828
@@ -141,7 +141,7 @@ color13 = #d3869b
color14 = #8ec07c
color15 = #ebdbb2
[monokai-pro]
[MonokaiPro]
background = #2D2A2E
foreground = #FCFCFA
color0 = #403E41
@@ -161,7 +161,7 @@ color13 = #AB9DF2
color14 = #78DCE8
color15 = #FCFCFA
[nord]
[Nord]
background = #2E3440
foreground = #D8DEE9
color0 = #3B4252
@@ -181,7 +181,7 @@ color13 = #B48EAD
color14 = #8FBCBB
color15 = #ECEFF4
[oceanic-next]
[OceanicNext]
background = #1b2b34
foreground = #d8dee9
color0 = #29414f
@@ -201,7 +201,7 @@ color13 = #c594c5
color14 = #5fb3b3
color15 = #adb5c0
[palenight]
[Palenight]
background = #292d3e
foreground = #d0d0d0
color0 = #292d3e
@@ -221,7 +221,7 @@ color13 = #e1acff
color14 = #a3f7ff
color15 = #ffffff
[solarized-dark]
[SolarizedDark]
background = #002b36
foreground = #839496
color0 = #073642
@@ -241,7 +241,7 @@ color13 = #6c71c4
color14 = #93a1a1
color15 = #fdf6e3
[solarized-light]
[SolarizedLight]
background = #fdf6e3
foreground = #657b83
color0 = #073642
@@ -261,7 +261,7 @@ color13 = #fdf6e3
color14 = #93a1a1
color15 = #6c71c4
[tomorrow-night]
[TomorrowNight]
background = #1d1f21
foreground = #c5c8c6
color0 = #1d1f21
@@ -281,6 +281,70 @@ color13 = #b77ee0
color14 = #54ced6
color15 = #282a2e
################################################################################
############ MAINBAR-BSPWM ############
################################################################################
[bar/mainbar-bspwm]
monitor = ${env:MONITOR}
;monitor-fallback = HDMI1
width = 100%
height = 20
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = true
bottom = false
separator =
background = ${DoomOne.background}
foreground = ${DoomOne.foreground}
line-size = 2
line-color = #f00
wm-restack = bspwm
override-redirect = true
; Enable support for inter-process messaging
; See the Messaging wiki page for more details.
enable-ipc = true
border-size = 0
;border-left-size = 0
;border-right-size = 25
;border-top-size = 0
;border-bottom-size = 25
border-color = #00000000
padding-left = 1
padding-right = 1
module-margin-left = 0
module-margin-right = 0
font-0 = "Ubuntu:style=Bold:size=9;2"
font-1 = "UbuntuMono Nerd Font:style=Bold:size=18;3"
font-2 = "Font Awesome 6 Free:style=Regular:pixelsize=8;1"
font-3 = "Font Awesome 6 Free:style=Solid:pixelsize=8;1"
font-4 = "Font Awesome 6 Brands:pixelsize=8;1"
modules-left = bspwm xwindow
modules-center =
modules-right = kernel cpu2 memory2 filesystem uptime arch-aur-updates pavolume date
tray-detached = false
tray-offset-x = 0
tray-offset-y = 0
tray-position = right
tray-padding = 4
tray-maxsize = 20
tray-scale = 1.0
tray-background = ${colors.background}
scroll-up = bspwm-desknext
scroll-down = bspwm-deskprev
################################################################################
############ MAINBAR-I3 ############
################################################################################
@@ -299,8 +363,8 @@ height = 20
;offset-x = 1%
;offset-y = 1%
background = ${colors.background}
foreground = ${colors.foreground}
background = ${DoomOne.background}
foreground = ${DoomOne.foreground}
; Background gradient (vertical steps)
; background-[0-9]+ = #aarrggbb
@@ -372,128 +436,6 @@ double-click-right =
cursor-click =
cursor-scroll =
################################################################################
############ MAINBAR-OPENBOX ############
################################################################################
[bar/mainbar-openbox]
monitor = ${env:MONITOR}
;monitor-fallback = HDMI1
width = 100%
height = 30
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = true
bottom = false
separator = |
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 2
line-color = #f00
;border-size = 2
;border-left-size = 25
;border-right-size = 25
;border-top-size = 0
;border-bottom-size = 25
;border-color = #00000000
padding-left = 1
padding-right = 1
module-margin-left = 3
module-margin-right = 3
; Enable support for inter-process messaging
; See the Messaging wiki page for more details.
enable-ipc = true
font-0 = "Ubuntu:style=Bold:size=9;2"
font-1 = "UbuntuMono Nerd Font:style=Bold:size=18;3"
font-2 = "Font Awesome 6 Free:style=Regular:pixelsize=8;1"
font-3 = "Font Awesome 6 Free:style=Solid:pixelsize=8;1"
font-4 = "Font Awesome 6 Brands:pixelsize=8;1"
modules-left = ewmh xwindow
modules-center = release kernel
modules-right = memory1 cpu1 date
tray-detached = false
tray-offset-x = 0
tray-offset-y = 0
tray-position = right
tray-padding = 2
tray-maxsize = 20
tray-scale = 1.0
tray-background = ${colors.background}
################################################################################
############ MAINBAR-BSPWM ############
################################################################################
[bar/mainbar-bspwm]
monitor = ${env:MONITOR}
;monitor-fallback = HDMI1
width = 100%
height = 20
;offset-x = 1%
;offset-y = 1%
radius = 0.0
fixed-center = true
bottom = false
separator =
background = ${colors.background}
foreground = ${colors.foreground}
line-size = 2
line-color = #f00
wm-restack = bspwm
override-redirect = true
; Enable support for inter-process messaging
; See the Messaging wiki page for more details.
enable-ipc = true
border-size = 0
;border-left-size = 0
;border-right-size = 25
;border-top-size = 0
;border-bottom-size = 25
border-color = #00000000
padding-left = 1
padding-right = 1
module-margin-left = 0
module-margin-right = 0
font-0 = "Ubuntu:style=Bold:size=9;2"
font-1 = "UbuntuMono Nerd Font:style=Bold:size=18;3"
font-2 = "Font Awesome 6 Free:style=Regular:pixelsize=8;1"
font-3 = "Font Awesome 6 Free:style=Solid:pixelsize=8;1"
font-4 = "Font Awesome 6 Brands:pixelsize=8;1"
modules-left = bspwm xwindow
modules-center =
modules-right = arrow1 networkspeedup networkspeeddown arrow2 memory2 arrow3 cpu2 arrow2 pavolume arrow3 arch-aur-updates arrow2 date
tray-detached = false
tray-offset-x = 0
tray-offset-y = 0
tray-position = right
tray-padding = 2
tray-maxsize = 20
tray-scale = 1.0
tray-background = ${colors.background}
scroll-up = bspwm-desknext
scroll-down = bspwm-deskprev
################################################################################
############ MAINBAR-HERBST ############
################################################################################
@@ -510,8 +452,8 @@ fixed-center = true
bottom = false
separator =
background = ${colors.background}
foreground = ${colors.foreground}
background = ${DoomOne.background}
foreground = ${DoomOne.foreground}
line-size = 2
line-color = #f00
@@ -576,8 +518,8 @@ fixed-center = true
bottom = false
separator =
background = ${colors.background}
foreground = ${colors.foreground}
background = ${DoomOne.background}
foreground = ${DoomOne.foreground}
line-size = 2
line-color = #f00
@@ -743,16 +685,26 @@ enable-scroll = true
reverse-scroll = true
pin-workspaces = true
ws-icon-0 = 1;
ws-icon-1 = 2;
ws-icon-2 = 3;
ws-icon-3 = 4;
ws-icon-4 = 5;
ws-icon-5 = 6;
ws-icon-6 = 7;
ws-icon-7 = 8;
ws-icon-8 = 9;
ws-icon-0 = 1;1: dev
ws-icon-1 = 2;2: www
ws-icon-2 = 3;3: sys
ws-icon-3 = 4;4: doc
ws-icon-4 = 5;5: vbox
ws-icon-5 = 6;6: chat
ws-icon-6 = 7;7: mus
ws-icon-7 = 8;8: vid
ws-icon-8 = 9;9: gfx
ws-icon-9 = 10;
; ws-icon-0 = 1;
; ws-icon-1 = 2;
; ws-icon-2 = 3;
; ws-icon-3 = 4;
; ws-icon-4 = 5;
; ws-icon-5 = 6;
; ws-icon-6 = 7;
; ws-icon-7 = 8;
; ws-icon-8 = 9;
; ws-icon-9 = 10;
ws-icon-default = " "
format = <label-state> <label-mode>

View File

@@ -1,62 +1,170 @@
#
# wm independent hotkeys
#
# ____ _____
# | _ \_ _| Derek Taylor (DistroTube)
# | | | || | http://www.youtube.com/c/DistroTube
# | |_| || | http://www.gitlab.com/dwt1/
# |____/ |_|
#
# A customized sxhkdrc for the bspwm window manager.
# https://github.com/baskerville/sxhkd
# https://github.com/baskerville/bspwm
# WM INDEPENDENT KEYBINDINGS
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
# BSPWM HOTKEYS
# quit/restart bspwm
super + shift + {q,r}
bspc {quit,wm -r}
# close and kill
super + shift + c
bspc node -c
# alternate between the tiled and monocle layout
super + m
bspc desktop -l next
# send the newest marked node to the newest preselected node
super + y
bspc node newest.marked.local -n newest.!automatic.local
# swap the current node and the biggest node
super + g
bspc node -s biggest
# STATE/FLAGS
# set the window state
super + {t,shift + t,s,f}
bspc node -t {tiled,pseudo_tiled,floating,fullscreen}
# set the node flags
super + ctrl + {m,x,y,z}
bspc node -g {marked,locked,sticky,private}
# FOCUS/SWAP
# focus the node in the given direction
super + {_,shift + }{h,j,k,l}
bspc node -{f,s} {west,south,north,east}
# focus the node for the given path jump
super + {p,b,comma,period}
bspc node -f @{parent,brother,first,second}
# focus the next/previous node in the current desktop
super + {_,shift + }n
bspc node -f {next,prev}.local
# focus the next/previous desktop in the current monitor
super + bracket{left,right}
bspc desktop -f {prev,next}.local
# focus the last node/desktop
super + {grave,Tab}
bspc {node,desktop} -f last
# focus the older or newer node in the focus history
super + {o,i}
bspc wm -h off; \
bspc node {older,newer} -f; \
bspc wm -h on
# focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} focused:'^{1-9,10}'
# PRESELECT
# preselect the direction
super + ctrl + {h,j,k,l}
bspc node -p {west,south,north,east}
# preselect the ratio
super + ctrl + {1-9}
bspc node -o 0.{1-9}
# cancel the preselection for the focused node
super + ctrl + space
bspc node -p cancel
# cancel the preselection for the focused desktop
super + ctrl + shift + space
bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel
# MOVE/RESIZE
# expand a window by moving one of its side outward
ctrl + alt + {h,j,k,l}
bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0}
# contract a window by moving one of its side inward
ctrl + alt + shift + {h,j,k,l}
bspc node -z {right -20 0,top 0 20,bottom 0 -20,left 20 0}
# move a floating window
super + {Left,Down,Up,Right}
bspc node -v {-20 0,0 20,0 -20,20 0}
# APPLICATION KEYBINDINGS (Super + Alt + Key)
# terminal emulator
super + Return
alacritty
st
# launch ncpamixer
super + alt + a
st -e ncpamixer
# launch surf browser
super + alt + b
surf www.youtube.com/c/DistroTube
# launch cmus
super + alt + c
st -e cmus
# launch lynx web browser
super + alt + l
st -e lynx -cfg=~/.lynx/lynx.cfg -lss=~/.lynx/lynx.lss -vikeys gopher://distro.tube
# launch irssi chat client
super + alt + i
st -e irssi
# launch joplin
super + alt + j
st -e joplin
# launch toot cli
super + alt + m
st -e toot curses
# launch newsboat feed reeder
super + alt + n
st -e newsboat
# launch pianobar
super + alt + p
st -e pianobar
# launch rtv
super + alt + r
st -e rtv
# launch vifm file manager
super + alt + v
st -e ./.config/vifm/scripts/vifmrun
# launch wopr
super + alt + w
st -e wopr report.xml
# launch youtube viewer
super + alt + y
st -e youtube-viewer
# DMENU SCRIPTS (Alt+Ctrl+Key)
# program launcher
# run program launcher
super + shift + Return
dmenu_run
# make sxhkd reload its configuration files:
super + shift + r
pkill -USR1 -x sxhkd
# kill berrywm
super + shift + q
killall berry
#
# berry hotkeys
#
super + {h, j, k, l}
berryc window_move {-50 0, 0 50, 0 -50, 50 0}
super + shift + {h, j, k, l}
berryc window_resize {-50 0, 0 50, 0 -50, 50 0}
super + {1-9}
berryc switch_workspace {0-9}
super + shift + {1-9}
berryc send_to_workspace {0-9}
super + m
berryc window_monocle
super + f
berryc fullscreen
super + p
berryc snap_right
super + o
berryc snap_left
super + n
berryc toggle_decorations
super + Tab
berryc cycle_focus
super + shift + c
berryc window_close
super + c
berryc window_center
~button1
berryc pointer_focus
dm-run

View File

@@ -191,8 +191,9 @@ myStartupHook = do
We killed any running conky processes earlier in the autostart, so now we sleep for 2 seconds and then restart conky.
#+BEGIN_SRC haskell
spawn ("sleep 2 && conky -c $HOME/.config/conky/xmonad/" ++ colorScheme ++ "-01.conkyrc")
spawn "polybar-xmonad"
spawnOnce "sleep 2 && xmonad --restart"
spawn ("sleep 3 && conky -c $HOME/.config/conky/xmonad/" ++ colorScheme ++ "-01.conkyrc")
#+END_SRC
Select only =ONE= of the following four ways to set the wallpaper.

View File

@@ -25,7 +25,7 @@ import Data.Tree
import qualified Data.Map as M
-- Hooks
import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..))
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs.
import XMonad.Hooks.ManageDocks (avoidStruts, docks, manageDocks, ToggleStruts(..))
import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat)
@@ -67,6 +67,7 @@ import XMonad.Util.EZConfig (additionalKeysP, mkNamedKeymap)
import XMonad.Util.Hacks (windowedFullscreenFixEventHook, javaHack, trayerAboveXmobarEventHook, trayAbovePanelEventHook, trayerPaddingXmobarEventHook, trayPaddingXmobarEventHook, trayPaddingEventHook)
import XMonad.Util.NamedActions
import XMonad.Util.NamedScratchpad
import XMonad.Util.NamedWindows (getName)
import XMonad.Util.Run (runProcessWithInput, safeSpawn, spawnPipe)
import XMonad.Util.SpawnOnce
@@ -122,7 +123,6 @@ myStartupHook :: X ()
myStartupHook = do
spawnOnce (mySoundPlayer ++ startupSound)
spawn "killall conky" -- kill current conky on each restart
spawn "killall trayer" -- kill current trayer on each restart
spawnOnce "lxsession"
spawnOnce "picom"
@@ -131,8 +131,9 @@ myStartupHook = do
spawnOnce "notify-log $HOME/.log/notify.log"
spawn "/usr/bin/emacs --daemon" -- emacs daemon for the emacsclient
spawn ("sleep 2 && conky -c $HOME/.config/conky/xmonad/" ++ colorScheme ++ "-01.conkyrc")
spawn ("sleep 2 && trayer --edge top --align right --widthtype request --padding 6 --SetDockType true --SetPartialStrut true --expand true --monitor 1 --transparent true --alpha 0 " ++ colorTrayer ++ " --height 22")
spawn "polybar-xmonad"
spawnOnce "sleep 2 && xmonad --restart"
spawn ("sleep 3 && conky -c $HOME/.config/conky/xmonad/" ++ colorScheme ++ "-01.conkyrc")
spawnOnce "xargs xwallpaper --stretch < ~/.cache/wall"
-- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper
@@ -438,22 +439,8 @@ myLayoutHook = avoidStruts
||| wideAccordion
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
-- myWorkspaces =
-- " 1 : <fn=2>\xf111</fn> " :
-- " 2 : <fn=2>\xf1db</fn> " :
-- " 3 : <fn=2>\xf192</fn> " :
-- " 4 : <fn=2>\xf025</fn> " :
-- " 5 : <fn=2>\xf03d</fn> " :
-- " 6 : <fn=2>\xf1e3</fn> " :
-- " 7 : <fn=2>\xf07b</fn> " :
-- " 8 : <fn=2>\xf21b</fn> " :
-- " 9 : <fn=2>\xf21e</fn> " :
-- []
myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..] -- (,) == \x y -> (x,y)
clickable ws = "<action=xdotool key super+"++show i++">"++ws++"</action>"
where i = fromJust $ M.lookup ws myWorkspaceIndices
-- myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "]
myWorkspaces = ["1: dev", "2: www", "3: sys", "4: doc", "5: vbox", "6: chat", "7: mus", "8: vid", "9: gfx"]
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
myManageHook = composeAll
@@ -696,12 +683,9 @@ myKeys c =
main :: IO ()
main = do
-- Launching three instances of xmobar on their monitors.
xmproc0 <- spawnPipe ("xmobar -x 0 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc")
xmproc1 <- spawnPipe ("xmobar -x 1 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc")
xmproc2 <- spawnPipe ("xmobar -x 2 $HOME/.config/xmobar/" ++ colorScheme ++ "-xmobarrc")
-- the xmonad, ya know...what the WM is named after!
xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ ewmh $ docks $ def
xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ docks . ewmh $ def
{ manageHook = myManageHook <+> manageDocks
, handleEventHook = windowedFullscreenFixEventHook <> swallowEventHook (className =? "Alacritty" <||> className =? "st-256color" <||> className =? "XTerm") (return True) <> trayerPaddingXmobarEventHook
, modMask = myModMask
@@ -712,28 +696,4 @@ main = do
, borderWidth = myBorderWidth
, normalBorderColor = myNormColor
, focusedBorderColor = myFocusColor
, logHook = dynamicLogWithPP $ filterOutWsPP [scratchpadWorkspaceTag] $ xmobarPP
{ ppOutput = \x -> hPutStrLn xmproc0 x -- xmobar on monitor 1
>> hPutStrLn xmproc1 x -- xmobar on monitor 2
>> hPutStrLn xmproc2 x -- xmobar on monitor 3
, ppCurrent = xmobarColor color06 "" . wrap
("<box type=Bottom width=2 mb=2 color=" ++ color06 ++ ">") "</box>"
-- Visible but not current workspace
, ppVisible = xmobarColor color06 "" . clickable
-- Hidden workspace
, ppHidden = xmobarColor color05 "" . wrap
("<box type=Top width=2 mt=2 color=" ++ color05 ++ ">") "</box>" . clickable
-- Hidden workspaces (no windows)
, ppHiddenNoWindows = xmobarColor color05 "" . clickable
-- Title of active window
, ppTitle = xmobarColor color16 "" . shorten 60
-- Separator character
, ppSep = "<fc=" ++ color09 ++ "> <fn=1>|</fn> </fc>"
-- Urgent workspace
, ppUrgent = xmobarColor color02 "" . wrap "!" "!"
-- Adding # of windows on current workspace to the bar
, ppExtras = [windowCount]
-- order of things in xmobar
, ppOrder = \(ws:l:t:ex) -> [ws,l]++ex++[t]
}
}