74 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
# tail -f test-out | awk -v qt='""' '
# $1 ~ "HSuper_L" { checkstart=1 }
# /^BBegin chain/ && checkstart {
# checkstart=0
# print "rofi -normal-window -e " qt "sxhkd: Super ;" qt
# }
# /^EEnd chain/ {
# print "kill " qt "$pid" qt
# }'
checkstart=false
theme='
window {
anchor: southwest;
location: southwest;
x-offset: 4;
y-offset: -4;
width: 200;
}
listview {
border-color: @blue;
}'
display_message() {
rofi \
-normal-window \
-e "sxhkd: $1" \
-theme-str "$theme" &
pid=$!
}
close_message() {
[ -n "$pid" ] && kill "$pid"
pid=""
}
tail -f test-out | while read -r line; do
case $line in
HSuper_L)
checkstart=true
;;
HSuper_L*)
if [ "$inchain" = "false" ]; then
continue
fi
echo "Extra chain"
close_message
display_message "$line"
;;
"BBegin chain")
if [ "$checkstart" = "false" ]; then
continue
fi
echo "In chain"
checkstart=false
inchain=true
display_message "HSuper_L"
;;
"EEnd chain")
if [ "$inchain" = "false" ]; then
continue
fi
echo "End chain"
close_message
;;
esac
done