mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-01 20:28:16 +02:00
56 lines
1.7 KiB
Bash
Executable File
56 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Launch the Omarchy screensaver in the default terminal on the system with the correct font configuration.
|
|
|
|
if ! command -v tte &>/dev/null; then
|
|
exit 1
|
|
fi
|
|
|
|
# Exit early if screensave is already running
|
|
pgrep -f org.omarchy.screensaver && exit 0
|
|
|
|
# Allow screensaver to be turned off but also force started
|
|
if omarchy-toggle-enabled screensaver-off && [[ $1 != "force" ]]; then
|
|
exit 1
|
|
fi
|
|
|
|
# Silently quit Walker on overlay
|
|
walker -q
|
|
|
|
focused=$(omarchy-hyprland-monitor-focused)
|
|
terminal=$(xdg-terminal-exec --print-id)
|
|
|
|
hypr_focus_monitor() {
|
|
hyprctl dispatch "hl.dsp.focus({ monitor = \"$1\" })" >/dev/null 2>&1 || hyprctl dispatch focusmonitor "$1" >/dev/null
|
|
}
|
|
|
|
hypr_exec() {
|
|
local command="$1"
|
|
|
|
hyprctl dispatch "hl.dsp.exec_cmd([[$command]])" >/dev/null 2>&1 || hyprctl dispatch exec -- bash -lc "$command" >/dev/null
|
|
}
|
|
|
|
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
|
|
hypr_focus_monitor "$m"
|
|
|
|
case $terminal in
|
|
*Alacritty*)
|
|
hypr_exec "alacritty --class=org.omarchy.screensaver --config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml -e omarchy-screensaver"
|
|
;;
|
|
*ghostty*)
|
|
hypr_exec "ghostty --class=org.omarchy.screensaver --config-file=~/.local/share/omarchy/default/ghostty/screensaver --font-size=18 -e omarchy-screensaver"
|
|
;;
|
|
*foot*)
|
|
hypr_exec "foot --app-id=org.omarchy.screensaver --config=\"$OMARCHY_PATH/default/foot/screensaver.ini\" -e omarchy-screensaver"
|
|
;;
|
|
*kitty*)
|
|
hypr_exec "kitty --class=org.omarchy.screensaver --override font_size=18 --override window_padding_width=0 -e omarchy-screensaver"
|
|
;;
|
|
*)
|
|
notify-send -u low "✋ Screensaver only runs in Alacritty, Foot, Ghostty, or Kitty"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
hypr_focus_monitor "$focused"
|