mirror of
https://github.com/GeorgeSG/dotfiles.git
synced 2026-09-06 09:28:45 +00:00
47 lines
1.4 KiB
Bash
Executable File
47 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
## NOTE: This file is unused currently
|
|
|
|
NUMBER_OF_WORKSPACES=6
|
|
|
|
window_class() {
|
|
echo `hyprctl activewindow -j | jq --raw-output .class`
|
|
}
|
|
|
|
window_title() {
|
|
echo `hyprctl activewindow -j | jq --raw-output .title`
|
|
}
|
|
|
|
workspaces (){
|
|
WORKSPACE_WINDOWS=$(hyprctl workspaces -j | jq 'map({key: .id | tostring, value: .windows}) | from_entries')
|
|
seq 1 $NUMBER_OF_WORKSPACES | jq --argjson windows "${WORKSPACE_WINDOWS}" --slurp -Mc 'map(tostring) | map({id: ., windows: ($windows[.]//0)})'
|
|
}
|
|
|
|
if [[ $1 == 'workspaces' ]]; then
|
|
echo "{ \"workspaces\": $(workspaces), \"active\": 1, \"active_empty\": true }"
|
|
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
|
active=$(eww get workspaces | jq .active)
|
|
if [[ ${line:0:9} == 'workspace' ]]; then
|
|
active=${line:11:2}
|
|
fi
|
|
|
|
active_empty='true'
|
|
let "i = $active - 1"
|
|
if [[ $(workspaces | jq --raw-output .[$i].windows) -gt 0 ]]; then active_empty='false'; fi
|
|
|
|
eww update workspaces="{
|
|
\"workspaces\": $(workspaces),
|
|
\"active\": $active,
|
|
\"active_empty\": $active_empty
|
|
}"
|
|
|
|
eww update dock_reveal="$active_empty"
|
|
done
|
|
fi
|
|
|
|
if [[ $1 == 'window' ]]; then
|
|
window_class
|
|
socat -u UNIX-CONNECT:$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock - | while read -r line; do
|
|
window_class
|
|
done
|
|
fi
|