45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
capitalize() {
 | 
						|
	printf '%s' "$1" | head -c 1 | tr "[:lower:]" "[:upper:]"
 | 
						|
	printf '%s' "$1" | tail -c '+2'
 | 
						|
}
 | 
						|
 | 
						|
change_theme() {
 | 
						|
	sed -i "s/iceberg_$1/iceberg_$2/" ~/.config/kitty/kitty.conf
 | 
						|
	sed -i "s/bg=$1/bg=$2/" ~/.config/nvim/init.vim
 | 
						|
	sed -i "s/iceberg_$1/iceberg_$2/" ~/.dotfiles/tmux/.tmux.conf
 | 
						|
	sed -i "s/iceberg_$1/iceberg_$2/" ~/.config/zathura/zathurarc
 | 
						|
	kitty +kitten themes --reload-in=all "Iceberg $(capitalize "$2")"
 | 
						|
	tmux source-file ~/.tmux.conf
 | 
						|
	nvr --remote-send ":source ~/.config/nvim/init.vim <CR>"
 | 
						|
}
 | 
						|
 | 
						|
recolor_zathura() {
 | 
						|
	instances=$(pgrep -f zathura)
 | 
						|
	temp_file=/tmp/zathura-instances
 | 
						|
	echo "$instances" >"$temp_file"
 | 
						|
	while IFS= read -r line; do
 | 
						|
		dbus-send --type="method_call" --dest=org.pwmt.zathura.PID-"$line" \
 | 
						|
			/org/pwmt/zathura org.pwmt.zathura.ExecuteCommand string:"source"
 | 
						|
	done <"$temp_file"
 | 
						|
}
 | 
						|
 | 
						|
if [ $# -lt 1 ]; then
 | 
						|
	echo "Usage: switch_theme <mode>"
 | 
						|
	echo "mode: dark|light"
 | 
						|
	exit 1
 | 
						|
fi
 | 
						|
 | 
						|
mode=$1
 | 
						|
 | 
						|
if [ "$mode" = "light" ]; then
 | 
						|
	emacsclient --eval "(load-theme 'doom-solarized-light 'no-confirm)"
 | 
						|
	change_theme dark light
 | 
						|
	recolor_zathura
 | 
						|
else
 | 
						|
	emacsclient --eval "(load-theme 'doom-one 'no-confirm)"
 | 
						|
	change_theme light dark
 | 
						|
	recolor_zathura
 | 
						|
fi
 |