diff options
author | Amin Bandali <bandali@gnu.org> | 2021-10-19 00:36:37 -0400 |
---|---|---|
committer | Amin Bandali <bandali@gnu.org> | 2021-10-19 00:36:37 -0400 |
commit | 298f42fef8c1cb876c6596cbca3920a549a9a6d0 (patch) | |
tree | fa4b4754c2bcb1094898541f569b46d55e55f5d3 | |
parent | 7dd9938023b620a4e65b57a50d5414ac577abf0c (diff) | |
download | configs-298f42fef8c1cb876c6596cbca3920a549a9a6d0.tar.gz configs-298f42fef8c1cb876c6596cbca3920a549a9a6d0.tar.xz configs-298f42fef8c1cb876c6596cbca3920a549a9a6d0.zip |
add change-theme script
allows changing themes for future application instances as well as
currently-running ones on the fly. xterm and emacs have been tested
and are known to work so far.
-rw-r--r-- | .bashrc | 5 | ||||
-rw-r--r-- | .config/i3/config | 11 | ||||
-rwxr-xr-x | .local/bin/change-theme | 30 |
3 files changed, 45 insertions, 1 deletions
@@ -60,7 +60,7 @@ HISTFILESIZE= # history. HISTCONTROL=ignoreboth # ignore a few very common commands and don't add them to history -HISTIGNORE='ls:l:s:g:[bf]g:history' +HISTIGNORE='ls:l:ll:s:g:[bf]g:history:da:li' HISTTIMEFORMAT='%F %T ' stty stop "" @@ -84,6 +84,9 @@ alias e="$EDITOR" alias se="SUDO_EDITOR=\"emacsclient\" sudo -e" alias s="startx" +alias da='change-theme dark' +alias li='change-theme light' + alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg" complete -F _quilt_completion -o filenames dquilt diff --git a/.config/i3/config b/.config/i3/config index 05bc178..c796761 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -167,6 +167,17 @@ mode "resize" { } bindsym $mod+r mode "resize" +# change theme mode +set $mode_theme theme (d)ark | (l)ight +mode "$mode_theme" { + bindsym d exec change-theme dark, mode "default" + bindsym l exec change-theme light, mode "default" + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym q mode "default" +} +bindsym $mod+t mode "$mode_theme" + # application-specific window configurations for_window [class="mpv"] floating enable for_window [class="Mumble"] floating enable diff --git a/.local/bin/change-theme b/.local/bin/change-theme new file mode 100755 index 0000000..5d997cd --- /dev/null +++ b/.local/bin/change-theme @@ -0,0 +1,30 @@ +#!/bin/sh + +dark_color='black' # #222 +light_color='white' + +if [ "$1" = "dark" ]; then + fg="$light_color" + bg="$dark_color" +elif [ "$1" = "light" ]; then + fg="$dark_color" + bg="$light_color" +else + echo "Usage: $0 {dark|light}" + exit 1 +fi + +# most applications using xresources +printf "*.foreground: $fg\n*.background: $bg" | xrdb -override +# xterm, basically +printf "*VT100*foreground: $fg\n*VT100*background: $bg" | xrdb -override + +# emacs +emacsclient -ue "(set-face-attribute 'default nil :foreground \"$fg\" :background \"$bg\")" +# terminals +for term in /dev/pts/*; do + if [ -w "$term" ]; then + printf "\033]10;$fg\a" > "$term" + printf "\033]11;$bg\a" > "$term" + fi +done |