Working on making polybar work with DTOS.

This commit is contained in:
Derek Taylor
2023-03-01 18:46:10 -06:00
parent 9a74222f1c
commit e40e6e39d0
4 changed files with 1779 additions and 10 deletions

1730
.config/polybar/config.org Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -178,7 +178,6 @@ myStartupHook :: X ()
myStartupHook = do
spawnOnce (mySoundPlayer ++ startupSound)
spawn "killall conky" -- kill current conky on each restart
spawn "killall polybar" -- kill current polybar on each restart
#+END_SRC
#+BEGIN_SRC haskell
@@ -193,7 +192,7 @@ 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 "sleep 2 && $HOME/.config/polybar/launch.sh"
spawn "polybar-xmonad"
#+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
import XMonad.Hooks.DynamicLog (dynamicLogWithPP, wrap, xmobarPP, xmobarColor, shorten, PP(..))
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,7 +67,6 @@ 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
@@ -123,7 +122,7 @@ myStartupHook :: X ()
myStartupHook = do
spawnOnce (mySoundPlayer ++ startupSound)
spawn "killall conky" -- kill current conky on each restart
spawn "killall polybar" -- kill current polybar on each restart
spawn "killall trayer" -- kill current trayer on each restart
spawnOnce "lxsession"
spawnOnce "picom"
@@ -133,7 +132,7 @@ myStartupHook = do
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 && $HOME/.config/polybar/launch.sh"
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")
spawnOnce "xargs xwallpaper --stretch < ~/.cache/wall"
-- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper
@@ -439,8 +438,22 @@ 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: dev", "2: www", "3: sys", "4: doc", "5: vbox", "6: chat", "7: mus", "8: vid", "9: gfx"]
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
myManageHook :: XMonad.Query (Data.Monoid.Endo WindowSet)
myManageHook = composeAll
@@ -683,9 +696,12 @@ 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 $ docks . ewmh $ def
xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ ewmh $ docks $ def
{ manageHook = myManageHook <+> manageDocks
, handleEventHook = windowedFullscreenFixEventHook <> swallowEventHook (className =? "Alacritty" <||> className =? "st-256color" <||> className =? "XTerm") (return True) <> trayerPaddingXmobarEventHook
, modMask = myModMask
@@ -696,4 +712,28 @@ 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]
}
}