Last active
September 26, 2023 11:35
-
-
Save cbaconnier/9f38bd99885e7e1c0dfef797225dcc67 to your computer and use it in GitHub Desktop.
Toggle theme
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
CURRENT_COLOR_SCHEME=$(gsettings get org.gnome.desktop.interface color-scheme) | |
if [ "$CURRENT_COLOR_SCHEME" = "'prefer-dark'" ]; then | |
THEME="light" | |
GTK_THEME="Adwaita" | |
TERMINAL_THEME="solarized-light" | |
else | |
THEME="dark" | |
GTK_THEME="Adwaita-dark" | |
TERMINAL_THEME="solarized-dark" | |
fi | |
# Change GTK4.0 settings | |
gsettings set org.gnome.desktop.interface color-scheme prefer-${THEME} | |
gsettings set org.gnome.desktop.interface gtk-theme "$GTK_THEME" | |
# Change GTK3.0 settings | |
GTK3_RC_FILE="$HOME/.config/gtk-3.0/settings.ini" | |
if [ -e "$GTK3_RC_FILE" ]; then | |
PREFER_DARK="true" | |
if [ "$THEME" = "light" ]; then | |
PREFER_DARK="false" | |
fi | |
sed -i "s/^gtk-theme-name=.*/gtk-theme-name=$GTK_THEME/" "$GTK3_RC_FILE" | |
sed -i "s/^gtk-application-prefer-dark-theme=.*/gtk-application-prefer-dark-theme=${PREFER_DARK}/" "$GTK3_RC_FILE" | |
fi | |
# Change GTK2.0 settings | |
GTK2_RC_FILE="$HOME/.gtkrc-2.0.mine" | |
if [ -e "$GTK2_RC_FILE" ]; then | |
sed -i "s/^gtk-theme-name=.*/gtk-theme-name=\"$GTK_THEME\"/" "$GTK2_RC_FILE" | |
fi | |
# Change URXVT theme | |
PTS_DIR="/dev/pts/" | |
for each_pts in $PTS_DIR*; do | |
n=${each_pts##*/} | |
if [[ "$n" =~ ^[0-9]+$ ]]; then | |
echo "`~/.dynamic-colors/bin/dynamic-colors switch ${TERMINAL_THEME}`" > "$each_pts" | |
fi | |
done | |
# Change xsettingsd theme | |
XSETTINGS_CONF_FILE="$HOME/.config/xsettingsd/xsettingsd.conf" | |
if [ -e "$XSETTINGS_CONF_FILE" ]; then | |
sed -i "s/^Net\/ThemeName.*/Net\/ThemeName \"$GTK_THEME\"/" "$XSETTINGS_CONF_FILE" | |
# Restart (SIGHUP) xsettingsd | |
killall -HUP xsettingsd | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
tmux fix: https://github.com/sos4nt/dynamic-colors/pull/29/files