Polybar: Re-add launch.sh
This commit is contained in:
parent
7d4924b7bb
commit
3ca875145d
76
.config/polybar/launch.sh
Executable file
76
.config/polybar/launch.sh
Executable file
@ -0,0 +1,76 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# launch.sh
|
||||
# A Polybar launch script with a heck of a lot of compat
|
||||
# Copyright (C) 2019 Vintage Salt <rehashedsalt@cock.li>
|
||||
#
|
||||
# Distributed under terms of the MIT license.
|
||||
#
|
||||
|
||||
log() {
|
||||
[ -z "$1" ] && return 1
|
||||
printf "$1\\n"
|
||||
}
|
||||
|
||||
# Trap our exit
|
||||
die() {
|
||||
kill $(jobs -p)
|
||||
}
|
||||
trap die EXIT
|
||||
|
||||
# Steps
|
||||
step_fallback() {
|
||||
if ! command -v polybar > /dev/null 2>&1; then
|
||||
if command -v tint2 > /dev/null 2>&1; then
|
||||
log "Executing fallback"
|
||||
exec tint2
|
||||
fi
|
||||
log "No valid bars found"
|
||||
exit 51
|
||||
fi
|
||||
}
|
||||
step_configure_restack() {
|
||||
# Restack compatibility
|
||||
if pgrep -U "$UID" bspwm > /dev/null 2>&1; then
|
||||
export PB_WM_RESTACK="bspwm"
|
||||
elif pgrep -U "$UID" i3 > /dev/null 2>&1; then
|
||||
export PB_WM_RESTACK="i3"
|
||||
fi
|
||||
}
|
||||
step_spawn_primary() {
|
||||
# Spawn bars on the primary monitor
|
||||
log "Spawning primary bars"
|
||||
export PB_MONITOR=$(xrandr -q | awk '/primary/{print $1}')
|
||||
polybar -r primary &
|
||||
polybar -r primary-2 &
|
||||
}
|
||||
step_spawn_secondary() {
|
||||
# Spawn more for each secondary
|
||||
log "Spawning secondary bars"
|
||||
export secondary_monitors=$(xrandr -q | grep ' connected' | grep -v 'primary' | awk '{print $1}')
|
||||
if [ "$secondary_monitors" == "" ]; then
|
||||
return 0
|
||||
fi
|
||||
for monitor in $secondary_monitors; do
|
||||
PB_MONITOR=$monitor
|
||||
polybar -r secondary &
|
||||
polybar -r secondary-2 &
|
||||
done
|
||||
}
|
||||
step_wait() {
|
||||
# And wait
|
||||
log "Waiting"
|
||||
wait
|
||||
}
|
||||
|
||||
# Main
|
||||
main() {
|
||||
step_fallback
|
||||
step_configure_restack
|
||||
step_spawn_primary
|
||||
step_spawn_secondary
|
||||
step_wait
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
Loading…
Reference in New Issue
Block a user