Add files via upload
This commit is contained in:
42
config/polybar/scripts/nvim_notes_status.sh
Executable file
42
config/polybar/scripts/nvim_notes_status.sh
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
WIN_CLASS="nvim_notes"
|
||||
#ICON=" "
|
||||
ICON=" "
|
||||
|
||||
# найти node id
|
||||
find_node() {
|
||||
for id in $(bspc query -N -n .window 2>/dev/null); do
|
||||
if xprop -id "$id" WM_CLASS 2>/dev/null | grep -q "$WIN_CLASS"; then
|
||||
echo "$id" && return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
NODE=$(find_node) || NODE=""
|
||||
|
||||
if [ -z "$NODE" ]; then
|
||||
echo "$ICON"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# проверить флаг hidden через JSON (надежно)
|
||||
if bspc query -T -n "$NODE" 2>/dev/null | grep -q '"hidden":[[:space:]]*true'; then
|
||||
echo "%{T1}$ICON%{T-}%{T2}Скрыто%{T-} "
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# если в фокусе — видно
|
||||
FOC=$(bspc query -N -n focused.window 2>/dev/null || echo "")
|
||||
if [ "$NODE" = "$FOC" ]; then
|
||||
echo "%{T1}$ICON%{T-}%{T2}Фокус%{T-} "
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# получить список окон текущего десктопа и проверить наличие
|
||||
CUR_DESK_WINDOWS=$(bspc query -N -n .window.local 2>/dev/null || bspc query -N -n .window 2>/dev/null)
|
||||
if echo "$CUR_DESK_WINDOWS" | grep -qx "$NODE"; then
|
||||
echo "%{T1}$ICON%{T-}%{T2}ON%{T-} "
|
||||
else
|
||||
echo "%{T1}$ICON%{T-}%{T2}ON%{T-} "
|
||||
fi
|
||||
Reference in New Issue
Block a user