utils/sh/statusbar

24 lines
617 B
Plaintext
Raw Normal View History

#!/bin/sh
2022-11-10 20:48:01 +00:00
barwidth=20
2022-07-15 20:48:02 +00:00
2022-11-10 20:48:01 +00:00
# remove all current statusbars
# pgrep doesn't handle arguments for running commands
# shellcheck disable=2009
2022-11-10 20:48:01 +00:00
processes="$(ps aux | grep 'st -c' | grep 'status' | awk -F' ' '{print $2}')"
for i in $processes; do
pkill -P "$i" >/dev/null 2>&1
kill "$i"
2022-11-10 20:48:01 +00:00
done
2022-10-14 18:39:55 +00:00
2022-11-10 20:48:01 +00:00
# get all screens
screens="$(xrandr | grep ' connected' | sed 's/ primary//g' | awk -F' ' '{print $1 " " $3}')"
# for every screen, create a statusbar
IFS="
"
for i in $screens; do
screenstring=$(echo "$i" | awk -v a="$barwidth" -F'[ x+]' '{print $2 "x" a "+" $4 "+" $5}')
2022-11-10 20:48:01 +00:00
st -c statusbar -p -g "$screenstring" -e status &
done