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
-3
View File
@@ -273,9 +273,6 @@ schemes:
focused_match: focused_match:
foreground: '#44475a' foreground: '#44475a'
background: '#ffb86c' background: '#ffb86c'
bar:
background: '#282a36'
foreground: '#f8f8f2'
line_indicator: line_indicator:
foreground: None foreground: None
background: None background: None
+7 -5
View File
@@ -1,4 +1,4 @@
#! /bin/sh #! /usr/bin/env bash
# ____ _____ # ____ _____
# | _ \_ _| Derek Taylor (DistroTube) # | _ \_ _| Derek Taylor (DistroTube)
# | | | || | http://www.youtube.com/c/DistroTube # | | | || | http://www.youtube.com/c/DistroTube
@@ -13,12 +13,14 @@
sxhkd & sxhkd &
picom & picom &
nitrogen --restore & nitrogen --restore &
./.config/bspwm/launch.sh & polybar-bspwm &
#### MONITORS #### #### MONITORS ####
bspc monitor DisplayPort-0 -d 1 2 3 4 5 6 7 8 9 monitors=$(xrandr | grep " connected " | cut -f 1 -d " ")
bspc monitor DisplayPort-1 -d 1 2 3 4 5 6 7 8 9 for x in ${monitors[@]}
bspc monitor HDMI-A-0 -d 1 2 3 4 5 6 7 8 9 do
bspc monitor $x -d 1 2 3 4 5 6 7 8 9
done
#### BSPWM configuration #### #### BSPWM configuration ####
#bspc config border_radius 8 #bspc config border_radius 8
+128 -176
View File
@@ -50,38 +50,38 @@ format-offset =
[colors] [colors]
; To change color scheme, change the value inside ${color-scheme.colorXX}. ; To change color scheme, change the value inside ${color-scheme.colorXX}.
; The following color schemes can be used: ; The following color schemes can be used:
; 1. doom-one ; 1. DoomOne
; 2. dracula ; 2. Dracula
; 3. gruvbox-dark ; 3. GruvboxDark
; 4. monokai-pro ; 4. MonokaiPro
; 5. nord ; 5. Nord
; 6. oceanic-next ; 6. OceanicNext
; 7. palenight ; 7. Palenight
; 8. solarized-dark ; 8. SolarizedDark
; 9. solarized-light ; 9. SolarizedLight
; 10. tomorrow-night ; 10. TomorrowNight
background = ${doom-one.background} background = ${DoomOne.background}
foreground = ${doom-one.foreground} foreground = ${DoomOne.foreground}
color0 = ${doom-one.color0} color0 = ${DoomOne.color0}
color1 = ${doom-one.color1} color1 = ${DoomOne.color1}
color2 = ${doom-one.color2} color2 = ${DoomOne.color2}
color3 = ${doom-one.color3} color3 = ${DoomOne.color3}
color4 = ${doom-one.color4} color4 = ${DoomOne.color4}
color5 = ${doom-one.color5} color5 = ${DoomOne.color5}
color6 = ${doom-one.color6} color6 = ${DoomOne.color6}
color7 = ${doom-one.color7} color7 = ${DoomOne.color7}
color8 = ${doom-one.color8} color8 = ${DoomOne.color8}
color9 = ${doom-one.color9} color9 = ${DoomOne.color9}
color10 = ${doom-one.color10} color10 = ${DoomOne.color10}
color11 = ${doom-one.color11} color11 = ${DoomOne.color11}
color12 = ${doom-one.color12} color12 = ${DoomOne.color12}
color13 = ${doom-one.color13} color13 = ${DoomOne.color13}
color14 = ${doom-one.color14} color14 = ${DoomOne.color14}
color15 = ${doom-one.color15} color15 = ${DoomOne.color15}
alert = ${doom-one.color1} alert = ${DoomOne.color1}
[doom-one] [DoomOne]
background = #282c34 background = #282c34
foreground = #bbc2cf foreground = #bbc2cf
color0 = #1c1f24 color0 = #1c1f24
@@ -101,7 +101,7 @@ color13 = #a9a1e1
color14 = #46d9ff color14 = #46d9ff
color15 = #dfdfdf color15 = #dfdfdf
[dracula] [Dracula]
background = #282a36 background = #282a36
foreground = #f8f8f2 foreground = #f8f8f2
color0 = #000000 color0 = #000000
@@ -121,7 +121,7 @@ color13 = #ff92d0
color14 = #9aedfe color14 = #9aedfe
color15 = #e6e6e6 color15 = #e6e6e6
[gruvbox-dark] [GruvboxDark]
background = #282828 background = #282828
foreground = #ebdbb2 foreground = #ebdbb2
color0 = #282828 color0 = #282828
@@ -141,7 +141,7 @@ color13 = #d3869b
color14 = #8ec07c color14 = #8ec07c
color15 = #ebdbb2 color15 = #ebdbb2
[monokai-pro] [MonokaiPro]
background = #2D2A2E background = #2D2A2E
foreground = #FCFCFA foreground = #FCFCFA
color0 = #403E41 color0 = #403E41
@@ -161,7 +161,7 @@ color13 = #AB9DF2
color14 = #78DCE8 color14 = #78DCE8
color15 = #FCFCFA color15 = #FCFCFA
[nord] [Nord]
background = #2E3440 background = #2E3440
foreground = #D8DEE9 foreground = #D8DEE9
color0 = #3B4252 color0 = #3B4252
@@ -181,7 +181,7 @@ color13 = #B48EAD
color14 = #8FBCBB color14 = #8FBCBB
color15 = #ECEFF4 color15 = #ECEFF4
[oceanic-next] [OceanicNext]
background = #1b2b34 background = #1b2b34
foreground = #d8dee9 foreground = #d8dee9
color0 = #29414f color0 = #29414f
@@ -201,7 +201,7 @@ color13 = #c594c5
color14 = #5fb3b3 color14 = #5fb3b3
color15 = #adb5c0 color15 = #adb5c0
[palenight] [Palenight]
background = #292d3e background = #292d3e
foreground = #d0d0d0 foreground = #d0d0d0
color0 = #292d3e color0 = #292d3e
@@ -221,7 +221,7 @@ color13 = #e1acff
color14 = #a3f7ff color14 = #a3f7ff
color15 = #ffffff color15 = #ffffff
[solarized-dark] [SolarizedDark]
background = #002b36 background = #002b36
foreground = #839496 foreground = #839496
color0 = #073642 color0 = #073642
@@ -241,7 +241,7 @@ color13 = #6c71c4
color14 = #93a1a1 color14 = #93a1a1
color15 = #fdf6e3 color15 = #fdf6e3
[solarized-light] [SolarizedLight]
background = #fdf6e3 background = #fdf6e3
foreground = #657b83 foreground = #657b83
color0 = #073642 color0 = #073642
@@ -261,7 +261,7 @@ color13 = #fdf6e3
color14 = #93a1a1 color14 = #93a1a1
color15 = #6c71c4 color15 = #6c71c4
[tomorrow-night] [TomorrowNight]
background = #1d1f21 background = #1d1f21
foreground = #c5c8c6 foreground = #c5c8c6
color0 = #1d1f21 color0 = #1d1f21
@@ -281,6 +281,70 @@ color13 = #b77ee0
color14 = #54ced6 color14 = #54ced6
color15 = #282a2e 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 ############ ############ MAINBAR-I3 ############
################################################################################ ################################################################################
@@ -299,8 +363,8 @@ height = 20
;offset-x = 1% ;offset-x = 1%
;offset-y = 1% ;offset-y = 1%
background = ${colors.background} background = ${DoomOne.background}
foreground = ${colors.foreground} foreground = ${DoomOne.foreground}
; Background gradient (vertical steps) ; Background gradient (vertical steps)
; background-[0-9]+ = #aarrggbb ; background-[0-9]+ = #aarrggbb
@@ -372,128 +436,6 @@ double-click-right =
cursor-click = cursor-click =
cursor-scroll = 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 ############ ############ MAINBAR-HERBST ############
################################################################################ ################################################################################
@@ -510,8 +452,8 @@ fixed-center = true
bottom = false bottom = false
separator = separator =
background = ${colors.background} background = ${DoomOne.background}
foreground = ${colors.foreground} foreground = ${DoomOne.foreground}
line-size = 2 line-size = 2
line-color = #f00 line-color = #f00
@@ -576,8 +518,8 @@ fixed-center = true
bottom = false bottom = false
separator = separator =
background = ${colors.background} background = ${DoomOne.background}
foreground = ${colors.foreground} foreground = ${DoomOne.foreground}
line-size = 2 line-size = 2
line-color = #f00 line-color = #f00
@@ -743,16 +685,26 @@ enable-scroll = true
reverse-scroll = true reverse-scroll = true
pin-workspaces = true pin-workspaces = true
ws-icon-0 = 1; ws-icon-0 = 1;1: dev
ws-icon-1 = 2; ws-icon-1 = 2;2: www
ws-icon-2 = 3; ws-icon-2 = 3;3: sys
ws-icon-3 = 4; ws-icon-3 = 4;4: doc
ws-icon-4 = 5; ws-icon-4 = 5;5: vbox
ws-icon-5 = 6; ws-icon-5 = 6;6: chat
ws-icon-6 = 7; ws-icon-6 = 7;7: mus
ws-icon-7 = 8; ws-icon-7 = 8;8: vid
ws-icon-8 = 9; ws-icon-8 = 9;9: gfx
ws-icon-9 = 10; 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 = " " ws-icon-default = " "
format = <label-state> <label-mode> format = <label-state> <label-mode>
+164 -56
View File
@@ -1,62 +1,170 @@
# ____ _____
# | _ \_ _| Derek Taylor (DistroTube)
# | | | || | http://www.youtube.com/c/DistroTube
# | |_| || | http://www.gitlab.com/dwt1/
# |____/ |_|
# #
# wm independent hotkeys # 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 # terminal emulator
super + Return 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
# program launcher
# DMENU SCRIPTS (Alt+Ctrl+Key)
# run program launcher
super + shift + Return super + shift + Return
dmenu_run dm-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
+2 -1
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. 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 "polybar-xmonad" spawn "polybar-xmonad"
spawnOnce "sleep 2 && xmonad --restart"
spawn ("sleep 3 && conky -c $HOME/.config/conky/xmonad/" ++ colorScheme ++ "-01.conkyrc")
#+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.
+9 -49
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 (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.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,6 +67,7 @@ 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
@@ -122,7 +123,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 trayer" -- kill current trayer on each restart
spawnOnce "lxsession" spawnOnce "lxsession"
spawnOnce "picom" spawnOnce "picom"
@@ -131,8 +131,9 @@ myStartupHook = do
spawnOnce "notify-log $HOME/.log/notify.log" spawnOnce "notify-log $HOME/.log/notify.log"
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 "polybar-xmonad"
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 "sleep 2 && xmonad --restart"
spawn ("sleep 3 && conky -c $HOME/.config/conky/xmonad/" ++ colorScheme ++ "-01.conkyrc")
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
@@ -438,22 +439,8 @@ 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 = myWorkspaces = ["1: dev", "2: www", "3: sys", "4: doc", "5: vbox", "6: chat", "7: mus", "8: vid", "9: gfx"]
-- " 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
@@ -696,12 +683,9 @@ 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 $ ewmh $ docks $ def xmonad $ addDescrKeys' ((mod4Mask, xK_F1), showKeybindings) myKeys $ docks . ewmh $ 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
@@ -712,28 +696,4 @@ 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]
}
} }
+20 -1
View File
@@ -35,7 +35,26 @@ if [ "$choice" ]; then
sed -i "s/^colors: .*/colors: \*$choice/g" "$HOME"/.config/alacritty/alacritty.yml 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. # What to do if we just escape without choosing anything.
else else
+13
View File
@@ -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..."