feat(hypr): auto-swap-to-master on fetch/focus, use --persistent dispatches
fetch_or_launch and focus_or_launch now swap the target client to master layout position when it is not already the master. Scripts switched from raw hl.dsp.* calls to --persistent lua function dispatches (fetch_or_launch / focus_or_launch), and both now guard against empty rofi selection.
This commit is contained in:
@@ -3,7 +3,9 @@
|
||||
chooser="rofi -i -dmenu -display-columns 1"
|
||||
workspace=$(hyprctl activeworkspace -j | jq -r '.id')
|
||||
selected=$(hyprctl clients -j | jq -r 'to_entries | .[] | select(.value.hidden == false) | "\(.value.title)\t\(.value.class)::\(.value.address)"' | $chooser -p 'Client to Fetch')
|
||||
#address=$(hyprctl clients -j | jq -r "to_entries | .[] | select(.value.title == \"$selected\") | \"\(.value.address)\"")
|
||||
address=$(echo "$selected" | awk -F '::' '{print $NF}')
|
||||
#hyprctl dispatch movetoworkspace "$workspace,address:$address"
|
||||
hyprctl dispatch "hl.dsp.window.move({workspace = $workspace, follow = true, window = \"address:$address\"})"
|
||||
if [ -z "$address" ]; then
|
||||
notify-send "No client selected"
|
||||
exit 1
|
||||
fi
|
||||
hyprctl dispatch "fetch_or_launch({ match = '$address', field = 'address', cmd = 'notify-send \"$selected not found\"'})"
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
chooser="rofi -i -dmenu -display-columns 1"
|
||||
selected=$(hyprctl clients -j | jq -r 'to_entries | .[] | select(.value.hidden == false) | "\(.value.title) \t\(.value.class)::\(.value.address)"' | $chooser -p 'Client to Focus')
|
||||
address=$(echo $selected | awk -F'::' '{print $NF}')
|
||||
json=$(hyprctl clients -j | jq -r ".[] | select(.address == \"$address\")")
|
||||
workspace=$(echo $json | jq -r '.workspace.id')
|
||||
hyprctl dispatch "hl.dsp.focus({workspace = $workspace , on_current_monitor = true})"
|
||||
hyprctl dispatch "hl.dsp.focus({ window = \"address:$address\" })"
|
||||
if [ -z "$address" ]; then
|
||||
notify-send "No client selected"
|
||||
exit 1
|
||||
fi
|
||||
hyprctl dispatch "focus_or_launch({ match = '$address', field = 'address', cmd = 'notify-send \"$selected not found\"'})"
|
||||
|
||||
Reference in New Issue
Block a user