Managed policy dirs are enterprise trust roots, so they stay 0755 root:root. The menu path takes root for that one write through a sudoers glob of six hex digits, the same shape as omarchy-dns, and falls back to pkexec where the grant is not installed. Drop omarchy-browser-policy; a group member could plant any JSON, not just a colour.
37 lines
1.2 KiB
Bash
Executable File
37 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Apply the current theme color to Chromium, Chrome, Edge, and Brave
|
|
# omarchy:hidden=true
|
|
|
|
source "$OMARCHY_PATH/install/helpers/browser-policy.sh"
|
|
|
|
CHROMIUM_THEME=$HOME/.local/state/omarchy/current/theme/chromium.theme
|
|
THEME_HEX_COLOR=$BROWSER_POLICY_DEFAULT_COLOR
|
|
|
|
if [[ -f $CHROMIUM_THEME ]]; then
|
|
THEME_HEX_COLOR=$(browser_policy_theme_hex "$(<$CHROMIUM_THEME)")
|
|
fi
|
|
|
|
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
|
|
}
|
|
|
|
failed=0
|
|
omarchy-theme-set-browser-policy "${THEME_HEX_COLOR#\#}" || failed=1
|
|
|
|
refresh_running_browser chromium chromium
|
|
refresh_running_browser chrome google-chrome-stable || refresh_running_browser chrome google-chrome
|
|
refresh_running_browser msedge microsoft-edge-stable
|
|
refresh_running_browser brave brave
|
|
# Match on the binary path: the running process is named plain "brave", and a
|
|
# bare -f brave-origin pattern would also match the installer's own terminal.
|
|
refresh_running_browser /opt/brave-origin-bin/ brave-origin -f
|
|
|
|
exit "$failed"
|