diff options
author | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2024-03-24 11:49:05 +0100 |
---|---|---|
committer | jakob.stendahl <jakob.stendahl@infomedia.dk> | 2024-03-24 11:49:05 +0100 |
commit | b97e3db54e6a198926e53ab20e398ad48f9bff9d (patch) | |
tree | 24d1ef8fc69a31bf009b37a7a8b0a0bc697d936f /bin/toggle-theme | |
parent | 11f68198ec676ec3825fa6edd78c75515aa6034a (diff) | |
download | dotfiles-b97e3db54e6a198926e53ab20e398ad48f9bff9d.tar.gz dotfiles-b97e3db54e6a198926e53ab20e398ad48f9bff9d.zip |
toggle themes
Diffstat (limited to 'bin/toggle-theme')
-rwxr-xr-x | bin/toggle-theme | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/bin/toggle-theme b/bin/toggle-theme new file mode 100755 index 0000000..7e689b6 --- /dev/null +++ b/bin/toggle-theme @@ -0,0 +1,53 @@ +#!/bin/sh + +set -e +LIGHTTHEME="papertheme" +DARKTHEME="campbell" +VIMCONF="${XDG_CONFIG_HOME}/nvim/lua/basic.lua" +ALACRITTYCONF="${XDG_CONFIG_HOME}/alacritty/alacritty.yml" +TMUXCONF="${XDG_CONFIG_HOME}/tmux/tmux.conf" + +export $(tmux show-env | grep THEME) + +function send_vim_cmd() { + vims=$(tmux list-panes -a -F '#{pane_id} #{pane_current_command}' | + grep vim | + cut -d ' ' -f 1) + for pane in $vims; do + #echo "Sending command to '$pane' '$1'" + tmux send-keys -t "$pane" ESCAPE "$1" ENTER + done +} + + +if [ "$THEME" == "dark" ]; then + # Update alacritty + sed -i "s/${DARKTHEME}/${LIGHTTHEME}/" "${ALACRITTYCONF}" + + # Update tmux (Consider making a theme switch in the m4 config and re-running that instead of having it configured here) + tmux set-environment THEME "light" + tmux set -g status-bg "#F2EEDE" + tmux set -g status-fg colour16 + + # Update nvim + send_vim_cmd ":set background=light" + send_vim_cmd ":lua vim.api.nvim_set_hl(0, 'ColorColumn', { ctermbg = 'lightgrey', bg = '#eae7da' })" + sed -i 's/"dark"/"light"/' "${VIMCONF}" + sed -i 's/{ ctermbg = "lightgrey", bg = "#363636" }/{ ctermbg = "lightgrey", bg = "#eae7da" }/' "${VIMCONF}" + +else + # Update alacritty + sed -i "s/${LIGHTTHEME}/${DARKTHEME}/" "${ALACRITTYCONF}" + + # Update tmux + tmux set-environment THEME "dark" + tmux set -g status-bg "#2c2c2c" + tmux set -g status-fg "#d6d6d6" + + # Update nvim + send_vim_cmd ":set background=dark" + send_vim_cmd ":lua vim.api.nvim_set_hl(0, 'ColorColumn', { ctermbg = 'lightgrey', bg = '#363636' })" + sed -i 's/"light"/"dark"/' "${VIMCONF}" + sed -i 's/{ ctermbg = "lightgrey", bg = "#eae7da" }/{ ctermbg = "lightgrey", bg = "#363636" }/' "${VIMCONF}" + +fi |