Move all omarchy runtime state (themes, backgrounds, current theme) from ~/.config/omarchy/current to ~/.local/state/omarchy/current to keep the config dir free of generated files. Add mise task for recreating symlinks and update credential helpers for tea.
29 lines
1.0 KiB
Bash
Executable File
29 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Apply current Omarchy theme colors to running Foot terminals
|
|
# omarchy:hidden=true
|
|
|
|
foot_theme=~/.local/state/omarchy/current/theme/foot.ini
|
|
|
|
if [[ ! -f $foot_theme ]] || ! pgrep -x foot >/dev/null; then
|
|
exit 0
|
|
fi
|
|
|
|
foot_osc=$(awk -F= '
|
|
function color(value) { return "#" value }
|
|
/^foreground=/ { printf "\033]10;%s\007", color($2) }
|
|
/^background=/ { printf "\033]11;%s\007", color($2) }
|
|
/^cursor=/ { split($2, parts, " "); printf "\033]12;%s\007", color(parts[2]) }
|
|
/^selection-background=/ { printf "\033]17;%s\007", color($2) }
|
|
/^selection-foreground=/ { printf "\033]19;%s\007", color($2) }
|
|
/^regular[0-7]=/ { split($1, parts, "regular"); printf "\033]4;%d;%s\007", parts[2], color($2) }
|
|
/^bright[0-7]=/ { split($1, parts, "bright"); printf "\033]4;%d;%s\007", parts[2] + 8, color($2) }
|
|
' "$foot_theme")
|
|
|
|
for foot_pid in $(pgrep -x foot); do
|
|
for child_pid in $(pgrep -P "$foot_pid"); do
|
|
tty=$(readlink "/proc/$child_pid/fd/1" 2>/dev/null)
|
|
[[ $tty == /dev/pts/* ]] && printf '%b' "$foot_osc" >"$tty"
|
|
done
|
|
done
|