mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-02 04:37:49 +02:00
52 lines
1.4 KiB
Bash
Executable File
52 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# omarchy:summary=Apply the current theme to GNOME color mode and icon settings
|
|
# omarchy:hidden=true
|
|
|
|
THEME_DIR=~/.config/omarchy/current/theme
|
|
COLORS_FILE="$THEME_DIR/colors.toml"
|
|
|
|
# In-tree light themes now declare `mode = "light"` in colors.toml instead of
|
|
# shipping a separate light.mode marker. Keep light.mode as a user-theme fallback.
|
|
theme_mode() {
|
|
[[ -f $COLORS_FILE ]] || return
|
|
|
|
awk -F= '
|
|
{
|
|
field = $1
|
|
gsub(/^[[:space:]]+|[[:space:]]+$/, "", field)
|
|
if (field == "mode") {
|
|
value = $2
|
|
gsub(/^[[:space:]]+|[[:space:]]+$/, "", value)
|
|
if (value ~ /^"/) {
|
|
sub(/^"/, "", value)
|
|
sub(/".*$/, "", value)
|
|
}
|
|
print value
|
|
exit
|
|
}
|
|
}
|
|
' "$COLORS_FILE"
|
|
}
|
|
|
|
mode=$(theme_mode)
|
|
if [[ -z $mode && -f $THEME_DIR/light.mode ]]; then
|
|
mode="light"
|
|
fi
|
|
|
|
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=~/.config/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
|