mirror of
https://github.com/basecamp/omarchy.git
synced 2026-02-17 15:25:37 +00:00
Revert "Make screensaver work with xdg-terminal-exec"
This reverts commit fc8e4c0400.
This commit is contained in:
@@ -1,31 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
screensaver_in_focus() {
|
||||
hyprctl activewindow -j | jq -e '.class == "com.omarchy.screensaver"' >/dev/null 2>&1
|
||||
hyprctl activewindow -j | jq -e '.class == "Screensaver"' >/dev/null 2>&1
|
||||
}
|
||||
|
||||
exit_screensaver() {
|
||||
# Clear and reset terminal
|
||||
printf '\033[2J\033[H\033[0m'
|
||||
hyprctl keyword cursor:invisible false
|
||||
pkill -x tte 2>/dev/null
|
||||
pkill -f "alacritty --class Screensaver" 2>/dev/null
|
||||
exit 0
|
||||
}
|
||||
|
||||
trap exit_screensaver SIGINT SIGTERM SIGHUP SIGQUIT
|
||||
|
||||
# Set background and cursor colors using OSC escape sequences
|
||||
printf '\033]11;rgb:00/00/00\007' # Background color to black
|
||||
printf '\033]12;rgb:00/00/00\007' # Cursor color to black
|
||||
|
||||
# Clear screen and fill with black background
|
||||
printf '\033[48;2;0;0;0m\033[2J\033[H'
|
||||
|
||||
hyprctl keyword cursor:invisible true &>/dev/null
|
||||
|
||||
while true; do
|
||||
effect=$(tte 2>&1 | grep -oP '{\K[^}]+' | tr ',' ' ' | tr ' ' '\n' | sed -n '/^beams$/,$p' | sort -u | shuf -n1)
|
||||
|
||||
tte -i ~/.config/omarchy/branding/screensaver.txt \
|
||||
--frame-rate 240 --canvas-width 0 --canvas-height 0 --anchor-canvas c --anchor-text c --no-eol \
|
||||
"$effect" &
|
||||
|
||||
@@ -5,8 +5,8 @@ if ! command -v tte &>/dev/null; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Exit early if screensaver is already running
|
||||
pgrep -f "omarchy-cmd-screensaver" && exit 0
|
||||
# Exit early if screensave is already running
|
||||
pgrep -f "alacritty --class Screensaver" && exit 0
|
||||
|
||||
# Allow screensaver to be turned off but also force started
|
||||
if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then
|
||||
@@ -18,9 +18,11 @@ focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
|
||||
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
|
||||
hyprctl dispatch focusmonitor $m
|
||||
|
||||
# FIXME: Find a way to make this generic where we it can work for kitty + ghostty
|
||||
hyprctl dispatch exec -- \
|
||||
xdg-terminal-exec --app-id=com.omarchy.screensaver \
|
||||
omarchy-cmd-screensaver
|
||||
alacritty --class Screensaver \
|
||||
--config-file ~/.local/share/omarchy/default/alacritty/screensaver.toml \
|
||||
-e omarchy-cmd-screensaver
|
||||
done
|
||||
|
||||
hyprctl dispatch focusmonitor $focused
|
||||
|
||||
Reference in New Issue
Block a user