#!/bin/bash # omarchy:summary=Apply the current theme to GNOME color mode and icon settings # omarchy:hidden=true # gsettings needs a user DBus session. During ISO installs this command can be # reached from arch-chroot while applying the initial Omarchy theme; defer until # the user has a real session instead of emitting dconf warnings. if [[ -z ${DBUS_SESSION_BUS_ADDRESS:-} ]]; then exit 0 fi THEME_DIR=$HOME/.local/state/omarchy/current/theme COLORS_FILE="$THEME_DIR/colors.toml" # omarchy-theme-color resolves mode from colors.toml (`mode = "light"`), a # legacy light.mode marker beside it, or background luminance for user themes. mode=$(omarchy-theme-color --file "$COLORS_FILE" mode) if [[ $mode == "light" ]]; then gsettings set org.gnome.desktop.interface color-scheme "prefer-light" gsettings set org.gnome.desktop.interface gtk-theme "Adwaita" else gsettings set org.gnome.desktop.interface color-scheme "prefer-dark" gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark" fi # Change gnome icon theme color GNOME_ICONS_THEME=$HOME/.local/state/omarchy/current/theme/icons.theme if [[ -f $GNOME_ICONS_THEME ]]; then gsettings set org.gnome.desktop.interface icon-theme "$(<$GNOME_ICONS_THEME)" else gsettings set org.gnome.desktop.interface icon-theme "Yaru-blue" fi