mirror of
https://github.com/caelestia-dots/cli.git
synced 2026-06-05 23:09:27 -05:00
22 lines
824 B
Fish
22 lines
824 B
Fish
function move-client -a selector -a workspace
|
|
if hyprctl -j clients | jq -e 'first(.[] | select('$selector')).workspace.name != "special:'$workspace'"' > /dev/null
|
|
# Window not in correct workspace
|
|
set -l window_addr (hyprctl -j clients | jq -r 'first(.[] | select('$selector')).address')
|
|
hyprctl dispatch movetoworkspacesilent "special:$workspace,address:$window_addr"
|
|
end
|
|
end
|
|
|
|
function spawn-client -a selector
|
|
# Spawn if doesn't exist
|
|
hyprctl -j clients | jq -e "first(.[] | select($selector))" > /dev/null
|
|
set -l stat $status
|
|
if test $stat != 0
|
|
uwsm app -- $argv[2..] & disown
|
|
end
|
|
test $stat != 0 # Exit 1 if already exists
|
|
end
|
|
|
|
function spawn-or-move -a selector -a workspace
|
|
spawn-client $selector $argv[3..] || move-client $selector $workspace
|
|
end
|