Port over more of my basic bitch gruvbox desktop
This commit is contained in:
82
desktop-gruvbox/.config/polybar/launch.sh
Executable file
82
desktop-gruvbox/.config/polybar/launch.sh
Executable file
@@ -0,0 +1,82 @@
|
||||
#! /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 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
|
||||
# Light theme
|
||||
if [ "$THEME" == "light" ]; then
|
||||
export PB_COLOR_BG="#fbf1c7"
|
||||
export PB_COLOR_FG="#3c3836"
|
||||
export PB_COLOR_BORDER="#f2e5bc"
|
||||
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
|
||||
step_spawn_primary
|
||||
step_spawn_secondary
|
||||
step_wait
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
Reference in New Issue
Block a user