confOS/.config/update_theme.sh

69 lines
2.3 KiB
Bash
Executable file

#!/usr/bin/env bash
set -o errexit # crash the script when a command crash
set -o pipefail # same as above for piped command
set -o nounset # crash when a variable doesnt exist
# TRACE=1 for debug
if [[ "${TRACE-0}" == "1" ]]; then
set -o xtrace
fi
cd "$(dirname "$0")" # change script directory
main() {
if [ $# -eq 0 ]; then
echo "No arguments supplied"
else
local GT_default
GT_default=$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')
case $1 in
"sunset" ) # Go to dark mode
# Terminal profile
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:"${GT_default}"/ \
visible-name "Dark"
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:"${GT_default}"/ \
foreground-color "rgb(211,208,200)"
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:"${GT_default}"/ \
background-color "rgb(45,45,45)"
# Shell theme
fish -c "update-theme dark"
# Keyboard backlight
busctl call --system org.freedesktop.UPower \
/org/freedesktop/UPower/KbdBacklight \
org.freedesktop.UPower.KbdBacklight SetBrightness 'i' 1
;;
"sunrise" ) # Go to light mode
# Terminal profile
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:"${GT_default}"/ \
visible-name "Light"
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:"${GT_default}"/ \
foreground-color "rgb(23,20,33)"
gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:"${GT_default}"/ \
background-color "rgb(253,246,227)"
# Shell theme
fish -c "update-theme light"
# Keyboard backlight
busctl call --system org.freedesktop.UPower \
/org/freedesktop/UPower/KbdBacklight \
org.freedesktop.UPower.KbdBacklight SetBrightness 'i' 0
# Gnome fix theme TODO: Is this necessary? need some research
gsettings set org.gnome.desktop.interface color-scheme 'prefer-light'
;;
* )
echo "Can't interpret given argument"
;;
esac
fi
}
main "$@"