Fork the desktop off Omarchy as a self-contained system

This commit is contained in:
2026-09-19 23:50:39 -04:00
parent 16a56f49a1
commit 9501f2bb4d
559 changed files with 43273 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
#!/bin/bash
# blob:summary=Focus a Hyprland window by application identity
# blob:args=<app-name>
# blob:examples=blob hyprland focus app Slack
usage() {
echo "Usage: blob-hypr-focus <app-name>" >&2
exit 1
}
app=${1:-}
[[ -n $app ]] || usage
# Agent terminals notify as kitty/foot/etc. while their shared window class is
# org.blob.agent, leaving the terminal name only in initialTitle. So match
# by class first, then fall back to the launch-time title of agent windows.
address=$(
hyprctl clients -j 2>/dev/null |
jq -r --arg pattern "$app" \
'def matches($value): ($value // "") | test($pattern; "i");
first(
(.[] | select(matches(.class))),
(.[] | select(.initialClass == "org.blob.agent" and matches(.initialTitle)))
).address // empty'
)
[[ -n $address ]] || exit 1
hyprctl dispatch "hl.dsp.focus({ window = \"address:$address\" })" >/dev/null 2>&1 || \
hyprctl dispatch focuswindow "address:$address" >/dev/null