30 lines
843 B
Plaintext
30 lines
843 B
Plaintext
|
#!/usr/bin/env zsh
|
||
|
|
||
|
export HYPRLAND_INSTANCE_SIGNATURE=$(hyprctl -j instances | jq -r '.[0] | .instance')
|
||
|
app="${1}"
|
||
|
shift
|
||
|
class_name="${1}"
|
||
|
shift
|
||
|
workspace="${1}"
|
||
|
app_id=$(hyprctl -j clients | jq --arg class "${class_name}" \
|
||
|
'.[] | select(.class == $class) | .workspace.id')
|
||
|
|
||
|
if [[ -n "${app_id}" ]]; then
|
||
|
hyprctl dispatch focuswindow "class:${class_name}"
|
||
|
|
||
|
case "${app}" in
|
||
|
"qutebrowser")
|
||
|
hyprctl dispatch sendshortcut ", Escape, class:${class_name}"
|
||
|
hyprctl dispatch sendshortcut ", 0, class:${class_name}"
|
||
|
hyprctl dispatch sendshortcut ", 1, class:${class_name}"
|
||
|
hyprctl dispatch sendshortcut "ALT, J, class:${class_name}"
|
||
|
;;
|
||
|
*)
|
||
|
;;
|
||
|
esac
|
||
|
#hyprctl dispatch fullscreen 1
|
||
|
else
|
||
|
hyprctl dispatch workspace "${workspace}"
|
||
|
${app} &
|
||
|
fi
|