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 myStartupHook = do
spawnOnce (mySoundPlayer ++ startupSound) spawnOnce (mySoundPlayer ++ startupSound)
spawn "killall conky" -- kill current conky on each restart spawn "killall conky" -- kill current conky on each restart
spawn "killall polybar" -- kill current polybar on each restart
#+END_SRC #+END_SRC
#+BEGIN_SRC haskell #+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. We killed any running conky processes earlier in the autostart, so now we sleep for 2 seconds and then restart conky.
#+BEGIN_SRC haskell #+BEGIN_SRC haskell
spawn ("sleep 2 && conky -c $HOME/.config/conky/xmonad/" ++ colorScheme ++ "-01.conkyrc") 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 #+END_SRC
Select only =ONE= of the following four ways to set the wallpaper. 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 import qualified Data.Map as M
-- Hooks -- 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.EwmhDesktops -- for some fullscreen events, also for xcomposite in obs.
import XMonad.Hooks.ManageDocks (avoidStruts, docks, manageDocks, ToggleStruts(..)) import XMonad.Hooks.ManageDocks (avoidStruts, docks, manageDocks, ToggleStruts(..))
import XMonad.Hooks.ManageHelpers (isFullscreen, doFullFloat, doCenterFloat) 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.Hacks (windowedFullscreenFixEventHook, javaHack, trayerAboveXmobarEventHook, trayAbovePanelEventHook, trayerPaddingXmobarEventHook, trayPaddingXmobarEventHook, trayPaddingEventHook)
import XMonad.Util.NamedActions import XMonad.Util.NamedActions
import XMonad.Util.NamedScratchpad import XMonad.Util.NamedScratchpad
import XMonad.Util.NamedWindows (getName)
import XMonad.Util.Run (runProcessWithInput, safeSpawn, spawnPipe) import XMonad.Util.Run (runProcessWithInput, safeSpawn, spawnPipe)
import XMonad.Util.SpawnOnce import XMonad.Util.SpawnOnce
@@ -123,7 +122,7 @@ myStartupHook :: X ()
myStartupHook = do myStartupHook = do
spawnOnce (mySoundPlayer ++ startupSound) spawnOnce (mySoundPlayer ++ startupSound)
spawn "killall conky" -- kill current conky on each restart 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 "lxsession"
spawnOnce "picom" spawnOnce "picom"
@@ -133,7 +132,7 @@ myStartupHook = do
spawn "/usr/bin/emacs --daemon" -- emacs daemon for the emacsclient 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 && 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 "xargs xwallpaper --stretch < ~/.cache/wall"
-- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper -- spawnOnce "~/.fehbg &" -- set last saved feh wallpaper
@@ -439,8 +438,22 @@ myLayoutHook = avoidStruts
||| wideAccordion ||| wideAccordion
-- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "] -- myWorkspaces = [" 1 ", " 2 ", " 3 ", " 4 ", " 5 ", " 6 ", " 7 ", " 8 ", " 9 "]
-- myWorkspaces = [" dev ", " www ", " sys ", " doc ", " vbox ", " chat ", " mus ", " vid ", " gfx "] 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 =
-- " 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 :: XMonad.Query (Data.Monoid.Endo WindowSet)
myManageHook = composeAll myManageHook = composeAll
@@ -683,9 +696,12 @@ myKeys c =
main :: IO () main :: IO ()
main = do 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! -- 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 { manageHook = myManageHook <+> manageDocks
, handleEventHook = windowedFullscreenFixEventHook <> swallowEventHook (className =? "Alacritty" <||> className =? "st-256color" <||> className =? "XTerm") (return True) <> trayerPaddingXmobarEventHook , handleEventHook = windowedFullscreenFixEventHook <> swallowEventHook (className =? "Alacritty" <||> className =? "st-256color" <||> className =? "XTerm") (return True) <> trayerPaddingXmobarEventHook
, modMask = myModMask , modMask = myModMask
@@ -696,4 +712,28 @@ main = do
, borderWidth = myBorderWidth , borderWidth = myBorderWidth
, normalBorderColor = myNormColor , normalBorderColor = myNormColor
, focusedBorderColor = myFocusColor , 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]
}
} }