diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml index f238e5d..d5aa004 100644 --- a/.config/alacritty/alacritty.yml +++ b/.config/alacritty/alacritty.yml @@ -273,9 +273,6 @@ schemes: focused_match: foreground: '#44475a' background: '#ffb86c' - bar: - background: '#282a36' - foreground: '#f8f8f2' line_indicator: foreground: None background: None diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index 8d99614..aefa3aa 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -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 diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini index e3096f5..228a20f 100755 --- a/.config/polybar/config.ini +++ b/.config/polybar/config.ini @@ -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 = diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index 681a1b4..b66f95d 100755 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -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 diff --git a/.config/xmonad/xmonad-with-polybar.org b/.config/xmonad/xmonad-with-polybar.org index 225cc6e..722e519 100644 --- a/.config/xmonad/xmonad-with-polybar.org +++ b/.config/xmonad/xmonad-with-polybar.org @@ -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. diff --git a/.config/xmonad/xmonad.hs b/.config/xmonad/xmonad.hs index be24f6e..ffd0565 100644 --- a/.config/xmonad/xmonad.hs +++ b/.config/xmonad/xmonad.hs @@ -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 : \xf111 " : --- " 2 : \xf1db " : --- " 3 : \xf192 " : --- " 4 : \xf025 " : --- " 5 : \xf03d " : --- " 6 : \xf1e3 " : --- " 7 : \xf07b " : --- " 8 : \xf21b " : --- " 9 : \xf21e " : --- [] -myWorkspaceIndices = M.fromList $ zipWith (,) myWorkspaces [1..] -- (,) == \x y -> (x,y) - -clickable ws = ""++ws++"" - 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 - ("") "" - -- Visible but not current workspace - , ppVisible = xmobarColor color06 "" . clickable - -- Hidden workspace - , ppHidden = xmobarColor color05 "" . wrap - ("") "" . clickable - -- Hidden workspaces (no windows) - , ppHiddenNoWindows = xmobarColor color05 "" . clickable - -- Title of active window - , ppTitle = xmobarColor color16 "" . shorten 60 - -- Separator character - , ppSep = " | " - -- 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] - } } diff --git a/.local/bin/dtos-colorscheme b/.local/bin/dtos-colorscheme index 3babbc7..5300bb7 100755 --- a/.local/bin/dtos-colorscheme +++ b/.local/bin/dtos-colorscheme @@ -35,7 +35,26 @@ if [ "$choice" ]; then sed -i "s/^colors: .*/colors: \*$choice/g" "$HOME"/.config/alacritty/alacritty.yml -# DOOM EMACS + # POLYBAR (Do not remove the spacing in these sed commands!!!) + sed -i -e "s/^background .*background/background = \${$choice.background/g" \ + -e "s/^foreground .*foreground/foreground = \${$choice.foreground/g" \ + -e "s/color0 .*color0/color0 = \${$choice.color0/g" \ + -e "s/color1 .*color1/color1 = \${$choice.color1/g" \ + -e "s/color2 .*color2/color2 = \${$choice.color2/g" \ + -e "s/color3 .*color3/color3 = \${$choice.color3/g" \ + -e "s/color4 .*color4/color4 = \${$choice.color4/g" \ + -e "s/color5 .*color5/color5 = \${$choice.color5/g" \ + -e "s/color6 .*color6/color6 = \${$choice.color6/g" \ + -e "s/color7 .*color7/color7 = \${$choice.color7/g" \ + -e "s/color8 .*color8/color8 = \${$choice.color8/g" \ + -e "s/color9 .*color9/color9 = \${$choice.color9/g" \ + -e "s/color10.*color10/color10 = \${$choice.color10/g" \ + -e "s/color11.*color11/color11 = \${$choice.color11/g" \ + -e "s/color12.*color12/color12 = \${$choice.color12/g" \ + -e "s/color13.*color13/color13 = \${$choice.color13/g" \ + -e "s/color14.*color14/color14 = \${$choice.color14/g" \ + -e "s/color15.*color15/color15 = \${$choice.color15/g" \ + -e "s/^alert.*/alert = \${$choice.color1}/g" "$HOME"/.config/polybar/config.ini # What to do if we just escape without choosing anything. else diff --git a/.local/bin/polybar-bspwm b/.local/bin/polybar-bspwm new file mode 100755 index 0000000..10d839c --- /dev/null +++ b/.local/bin/polybar-bspwm @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# Terminate already running bar instances +killall -q polybar + +# Wait until the processes have been shut down +while pgrep -u $UID -x polybar >/dev/null; do : ; done + +for m in $(polybar --list-monitors | cut -d":" -f1); do + WIRELESS=$(ls /sys/class/net/ | grep ^wl | awk 'NR==1{print $1}') MONITOR=$m polybar --reload mainbar-bspwm & +done + +echo "Bars launched..."