From d22ecb22bb63d69ed971deb1ae0d420da21f29ce Mon Sep 17 00:00:00 2001 From: urosm Date: Thu, 11 Apr 2024 23:23:29 +0200 Subject: [PATCH] update scripts --- .local/bin/status.sh | 69 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 10 deletions(-) diff --git a/.local/bin/status.sh b/.local/bin/status.sh index 56c1355..7e838f5 100755 --- a/.local/bin/status.sh +++ b/.local/bin/status.sh @@ -2,14 +2,63 @@ printf "{\"version\":1}\n" printf "[\n" -while true -do - printf [ - swaymsg -t get_inputs | jq -Mcj '[.[] | select(.type=="keyboard")][0] | {"full_text":.xkb_active_layout_name,"urgent":.xkb_active_layout_index}, ","' - cat /sys/class/power_supply/BAT0/capacity | jq -Mcj 'if .<20 then {"full_text":.,"urgent":true} else {"full_text":.} end, ","' - date +%c | jq -RMcj '{"full_text":.}, ","' - swaymsg -t get_tree | jq -Mcj '.nodes[] | select(.name=="__i3").nodes[] | select(.name=="__i3_scratch").floating_nodes | {"full_text":length,"urgent":length}, ","' - makoctl list | jq -Mcj '.data[] | if length>0 then {"full_text":([length, .[0].summary.data] | join(": ")),"urgent":(.[0].urgency.data == 2)}, "," else "" end' - printf ], - timeout 1 swaymsg -t subscribe '["input","binding"]' >/dev/null + +if ! command -v jq >/dev/null; then + while true; do + printf '[{ + "full_text":" jq: command not found ", + "urgent":true, + "separator_block_width":0 + },],' + sleep 1 + done +fi + +while true; do + printf "[" + # keyboard layout + swaymsg -t get_inputs | jq -Mcj ' + [.[] | select(.type=="keyboard")][0] + | { + "full_text":([" ",.xkb_active_layout_name," "]|join("")), + "urgent":.xkb_active_layout_index, + "separator_block_width":0 + }, ","' + # battery + # shellcheck disable=SC2002 + cat /sys/class/power_supply/BAT0/capacity | jq -Mcj ' + if .<20 then { + "full_text":([" ",.," % "]|join("")), + "urgent":true, + "separator_block_width":0 + } else { + "full_text":([" ",.," % "]|join("")), + "separator_block_width":0 + } end, ","' + # date + date +%c | jq -RMcj '{ + "full_text":([" ",.," "]|join("")), + "separator_block_width":0 + }, ","' + # scratchpad + swaymsg -t get_tree | jq -Mcj ' + .nodes[] + | select(.name=="__i3").nodes[] + | select(.name=="__i3_scratch").floating_nodes + | if length>0 then { + "full_text":([" ",length," "]|join("")), + "urgent":true, + "separator_block_width":0 + }, "," else "" end' + # notifications + makoctl list | jq -Mcj ' + .data[] + | if length>0 then { + "full_text":([" (",length,") ",.[0].summary.data," "]|join("")), + "urgent":(.[0].urgency.data==2), + "separator_block_width":0 + }, "," else "" end' + printf "]," + # timeout + timeout 1 swaymsg -t subscribe '["input","binding"]' >/dev/null done