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.
45 lines
1.4 KiB
Bash
Executable File
45 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Apply the current theme color to Chromium, Chrome, Edge, and Brave
|
|
# omarchy:hidden=true
|
|
|
|
CHROMIUM_THEME=~/.local/state/omarchy/current/theme/chromium.theme
|
|
|
|
if [[ -f $CHROMIUM_THEME ]]; then
|
|
THEME_RGB_COLOR=$(<$CHROMIUM_THEME)
|
|
THEME_HEX_COLOR=$(printf '#%02x%02x%02x' ${THEME_RGB_COLOR//,/ })
|
|
else
|
|
# Use a default, neutral grey if theme doesn't have a color
|
|
THEME_HEX_COLOR="#1c2027"
|
|
fi
|
|
|
|
set_browser_policy() {
|
|
local policy_dir="$1"
|
|
|
|
[[ -d $policy_dir ]] || return
|
|
echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\", \"BrowserColorScheme\": \"device\"}" | tee "$policy_dir/color.json" >/dev/null
|
|
}
|
|
|
|
refresh_running_browser() {
|
|
local process="$1"
|
|
local command="$2"
|
|
local pgrep_args="${3:--x}"
|
|
|
|
if omarchy-cmd-present "$command" && pgrep $pgrep_args "$process" >/dev/null; then
|
|
"$command" --refresh-platform-policy --no-startup-window &>/dev/null
|
|
fi
|
|
}
|
|
|
|
set_browser_policy /etc/chromium/policies/managed
|
|
refresh_running_browser chromium chromium
|
|
|
|
set_browser_policy /etc/opt/chrome/policies/managed
|
|
refresh_running_browser chrome google-chrome-stable || refresh_running_browser chrome google-chrome
|
|
|
|
set_browser_policy /etc/opt/edge/policies/managed
|
|
refresh_running_browser msedge microsoft-edge-stable
|
|
|
|
set_browser_policy /etc/brave/policies/managed
|
|
refresh_running_browser brave brave
|
|
refresh_running_browser brave-origin-beta brave-origin-beta -f
|