created central polybar with different bars to be launched via i3. removed obsolete laptop distinction as thinkpad is the only laptop and has unique res requirements

This commit is contained in:
spinach 2023-02-11 15:46:12 -05:00
parent 8ac2a5c1ec
commit 0c372ee22b
17 changed files with 63 additions and 324 deletions

View File

@ -4,10 +4,10 @@
killall -q polybar
# wait for termination
while pgrep -x polybar >/dev/null; do sleep 1; done
# loads polybar one every monitor
# loads polybar one every monitor based on calling param
if type "xrandr"; then
for monitor in $(xrandr --query | grep " connected" | cut -d" " -f1); do
MONITOR=$monitor polybar --reload main-bar &
MONITOR=$monitor polybar --reload $1 &
done
else
polybar --reload main-bar &

View File

@ -199,7 +199,7 @@ bindsym $mod+r mode "resize"
#status_command
# }
exec_always --no-startup-id picom-launch.sh
exec_always --no-startup-id picom-launch.sh desktop-bar
# background
exec_always --no-startup-id feh --bg-scale ~/.config/i3/wallpaper.jpg

View File

@ -197,7 +197,7 @@ bindsym $mod+r mode "resize"
#status_command
# }
exec_always --no-startup-id picom-launch.sh
exec_always --no-startup-id picom-launch.sh thinkpad-bar
# background
exec_always --no-startup-id feh --bg-scale ~/.config/i3/wallpaper.jpg

View File

@ -1,133 +0,0 @@
[colors]
background = #1D1F21
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
disabled = #707880
alert = #A54242
[bar/main-bar]
width = 100%
height = 24pt
radius = 5
; seperator
separator = |
separator-foreground = ${colors.disabled}
module-margin = 1
padding = 2
; font
font-0 = Hack Nerd Font;2
monitor = ${env:MONITOR:}
bottom = false
fixed-center = true
; hybrid bg color, might go lighter grey
background = ${colors.background}
; hybrid fg color, might go lighter if I go lighter grey
foreground = ${colors.foreground}
modules-left = xworkspaces xwindow
modules-center = weather
modules-right = pulseaudio memory cpu eth date
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:40:...%
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = "VOL "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>
label-volume = %percentage%%
label-muted = muted
label-muted-foreground = ${colors.disabled}
[module/weather]
type = custom/script
exec = weather -pd
interval = 30
; left click returns forecast
click-left = weather -f
; middle click returns forecast with nerdfont support
click-middle = weather -pf
; right click returns radar
click-right = weather -r
[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %total%
format = <bar-used> <label>
bar-used-indicator =
bar-used-width = 10
bar-used-fill =
bar-used-empty = _
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-connected-prefix = "ETH "
format-connected-prefix-foreground = ${colors.primary}
format-disconnected = <label-disconnected>
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
[module/eth]
inherit = network-base
interface-type = wired
;label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
label-connected = %ifname% %linkspeed%
[module/date]
type = internal/date
date = %A, %b %d %l:%M %P
;date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
label-foreground = ${colors.primary}
[settings]
screenchange-reload = true

View File

@ -1,139 +0,0 @@
[colors]
background = #1D1F21
background-alt = #373B41
foreground = #C5C8C6
primary = #F0C674
secondary = #8ABEB7
disabled = #707880
alert = #A54242
[bar/main-bar]
width = 100%
height = 24pt
radius = 5
; seperator
separator = |
separator-foreground = ${colors.disabled}
module-margin = 1
padding = 2
; font
font-0 = Hack Nerd Font;2
monitor = ${env:MONITOR:}
bottom = false
fixed-center = true
; hybrid bg color, might go lighter grey
background = ${colors.background}
; hybrid fg color, might go lighter if I go lighter grey
foreground = ${colors.foreground}
modules-left = xworkspaces xwindow
modules-center = weather
modules-right = battery pulseaudio memory cpu eth date
[module/xworkspaces]
type = internal/xworkspaces
label-active = %name%
label-active-background = ${colors.background-alt}
label-active-underline= ${colors.primary}
label-active-padding = 1
label-occupied = %name%
label-occupied-padding = 1
label-urgent = %name%
label-urgent-background = ${colors.alert}
label-urgent-padding = 1
label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
type = internal/xwindow
label = %title:0:40:...%
[module/pulseaudio]
type = internal/pulseaudio
format-volume-prefix = "VOL "
format-volume-prefix-foreground = ${colors.primary}
format-volume = <label-volume>
label-volume = %percentage%%
label-muted = muted
label-muted-foreground = ${colors.disabled}
[module/weather]
type = custom/script
exec = weather -pd
interval = 30
[module/memory]
type = internal/memory
interval = 2
format-prefix = "RAM "
format-prefix-foreground = ${colors.primary}
label = %total%
format = <bar-used> <label>
bar-used-indicator =
bar-used-width = 10
bar-used-fill =
bar-used-empty = _
[module/battery]
type = internal/battery
poll-interval = 5
low-at = 10
format-charging = <label-charging>
format-discharging = <label-discharging>
label-charging = %percentage%% %time%
label-discharging = %percentage%% %time%
[module/cpu]
type = internal/cpu
interval = 2
format-prefix = "CPU "
format-prefix-foreground = ${colors.primary}
label = %percentage:2%%
[network-base]
type = internal/network
interval = 5
format-connected = <label-connected>
format-disconnected = <label-disconnected>
label-disconnected = %{F#F0C674}%ifname%%{F#707880} disconnected
[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#F0C674}%ifname%%{F-} %local_ip%
[module/date]
type = internal/date
date = %A, %b %d %l:%M %P
;date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
label = %date%
label-foreground = ${colors.primary}
[settings]
screenchange-reload = true

View File

@ -7,33 +7,44 @@ secondary = #8ABEB7
disabled = #707880
alert = #A54242
[bar/main-bar]
[section/base-bar]
; base bar settings
width = 100%
height = 16pt
radius = 5
; font
font-0 = Hack Nerd Font;2
; seperator
separator = |
separator-foreground = ${colors.disabled}
module-margin = 1
padding = 2
; font
font-0 = Hack Nerd Font:size=10;2
; for multi monitor
monitor = ${env:MONITOR:}
; places bar at the top
bottom = false
fixed-center = true
; hybrid bg color, might go lighter grey
background = ${colors.background}
; hybrid fg color, might go lighter if I go lighter grey
foreground = ${colors.foreground}
modules-left = xworkspaces xwindow weather
[bar/thinkpad-bar]
; thinkpad bar conf
inherit = section/base-bar
height = 16pt
; modules
modules-left = xworkspaces xwindow-thinkpad weather-thinkpad
modules-right = battery pulseaudio memory cpu wlan date
[bar/desktop-bar]
; desktop bar config
height = 24pt
modules-left = xworkspaces xwindow-desktop
modules-center = weather-desktop
modules-right = pulseaudio memory cpu eth date
[module/xworkspaces]
type = internal/xworkspaces
@ -53,10 +64,16 @@ label-empty = %name%
label-empty-foreground = ${colors.disabled}
label-empty-padding = 1
[module/xwindow]
[module/xwindow-thinkpad]
; correct title size
type = internal/xwindow
label = %title:0:20:...%
[module/xwindow-desktop]
; correct title size
type = internal/xwindow
label = %title:0:40:...%
[module/pulseaudio]
type = internal/pulseaudio
@ -69,11 +86,27 @@ label-volume = %percentage%%
label-muted = muted
label-muted-foreground = ${colors.disabled}
[module/weather]
[section/weather]
type = custom/script
exec = weather -p
interval = 30
; left click is forecast
click-left = weather -f
; middle click is nerdfont forecast
click-middle = weather -pf
; right click is radar
click-right = weather -r
[module/weather-thinkpad]
; no desc to shorten
inherit = section/weather
exec = weather -p
[module/weather-desktop]
; longer desc
inherit = section/weather
exec = weather -pd
[module/memory]
type = internal/memory
@ -128,14 +161,14 @@ label-connected = %ifname%
[module/eth]
inherit = network-base
interface-type = wired
label-connected = %{F#F0C674}%ifname%%{F-} %net_speed%
label-connected = %ifname% %linkspeed%
[module/date]
type = internal/date
date = %a, %b %d %l:%M %P
;date = %H:%M
date-alt = %Y-%m-%d %H:%M:%S
date = %A, %b %d %l:%M %P
;date alt is for laptop
date-alt = %a, %b %d %l:%M %P
label = %date%
label-foreground = ${colors.primary}

View File

@ -1,3 +0,0 @@
- link:
~/.config/polybar: gui/polybar-desktop
~/.local/bin/polybar-launch.sh: bin/polybar-launch.sh

View File

@ -1,3 +0,0 @@
- link:
~/.config/polybar: gui/polybar-thinkpad
~/.local/bin/polybar-launch.sh: bin/polybar-launch.sh

View File

@ -1,3 +1,3 @@
- link:
~/.config/polybar: gui/polybar-laptop
~/.config/polybar: gui/polybar
~/.local/bin/polybar-launch.sh: bin/polybar-launch.sh

View File

@ -1,3 +0,0 @@
- shell:
- [rm shells/st/config.h && cp shells/st-laptop/config.h shells/st/, Copying config]
- [cd shells/st && sudo make install, Installing st]

View File

@ -0,0 +1,3 @@
- shell:
- [rm shells/st/config.h && cp shells/st-thinkpad/config.h shells/st/, Copying config]
- [cd shells/st && sudo make install, Installing st]

View File

@ -9,7 +9,7 @@ fzf
tmux.sparse
st.desktop
i3.desktop
polybar.desktop
polybar
picom
lf
scripts

View File

@ -1,16 +0,0 @@
arch.base
arch.i3
arch.picom
arch.polybar
vim
zsh
oh-my-zsh
fzf
tmux.sparse
st.laptop
i3.laptop
polybar.laptop
picom
lf
scripts
calcurse

View File

@ -7,9 +7,9 @@ zsh
oh-my-zsh
fzf
tmux.sparse
st.laptop
i3.laptop
polybar.thinkpad
st.thinkpad
i3.thinkpad
polybar
picom
lf
scripts