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