bspwm/examples/panel_bar
2012-12-19 15:50:42 +01:00

49 lines
1.5 KiB
Bash
Executable file

#! /bin/dash
#
# Example panel for LemonBoy's bar
while read -r line ; do
case $line in
S*)
sys_infos="\\r\\f5${line#?}\\fr"
;;
*)
wm_infos=""
IFS=':'
set - $line
while [ $# -gt 0 ] ; do
item=$1
case $item in
[Dd_]!*)
# urgent desktop
wm_infos="$wm_infos \\b3\\f0${item#??}\\fr\\br"
;;
D*)
# active desktop
wm_infos="$wm_infos \\u5\\b2\\f9${item#??}\\fr\\br\\ur"
;;
d*)
# inactive but occupied desktop
wm_infos="$wm_infos \\f7${item#??}\\fr"
;;
_*)
# inactive desktop
wm_infos="$wm_infos ${item#??}"
;;
L*)
# layout
layout=$(printf "%s" "${item#?}" | sed 's/\(.\).*/\U\1/')
wm_infos="$wm_infos \\b4\\f0$layout\\br\\fr"
;;
W*)
# window id
wid=${item#?}
[ $wid != 0 ] && wm_infos="$wm_infos\\c$(xdotool getwindowname 0x$wid)"
;;
esac
shift
done
;;
esac
printf "%s\n" "$wm_infos $sys_infos"
done