mirror of
https://github.com/basecamp/omarchy.git
synced 2026-01-09 05:10:54 +08:00
20 lines
715 B
Bash
Executable File
20 lines
715 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Launch or focus on a given command identified by the passed in window-pattern.
|
|
# Use by some default bindings, like the one for Spotify, to ensure there is only one instance of the application open.
|
|
|
|
if (($# == 0)); then
|
|
echo "Usage: omarchy-launch-or-focus [window-pattern] [launch-command]"
|
|
exit 1
|
|
fi
|
|
|
|
WINDOW_PATTERN="$1"
|
|
LAUNCH_COMMAND="${2:-"uwsm-app -- $WINDOW_PATTERN"}"
|
|
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1)
|
|
|
|
if [[ -n $WINDOW_ADDRESS ]]; then
|
|
hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS"
|
|
else
|
|
eval exec setsid $LAUNCH_COMMAND
|
|
fi
|