0
0

lightmode.zsh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!/bin/zsh
  2. toggled=false
  3. if [ "$1" = 'toggle' ]; then
  4. osascript -e 'tell app "System Events" to tell appearance preferences to set dark mode to not dark mode'
  5. fi
  6. if defaults read -g AppleInterfaceStyle | grep -q Dark; then
  7. if [ -f $LIGHTMODE_TOGGLE_FLAG_FILE ]; then
  8. echo "Dark Mode activated"
  9. rm $LIGHTMODE_TOGGLE_FLAG_FILE
  10. toggled=true
  11. fi
  12. else
  13. if [ ! -f $LIGHTMODE_TOGGLE_FLAG_FILE ]; then
  14. echo "Light Mode activated"
  15. touch $LIGHTMODE_TOGGLE_FLAG_FILE
  16. toggled=true
  17. fi
  18. fi
  19. if [ $toggled = true ]; then
  20. echo "Executing toggle"
  21. # Read updated colors
  22. source $ZDOTDIR/.zshenv
  23. # Update Alacritty colors
  24. echo "# Automatically generated color palette
  25. [bell]
  26. color = \"$JONATHANDARKER_COLOR_BG\"
  27. [colors.cursor]
  28. cursor = \"$JONATHANDARKER_COLOR_FA\"
  29. [colors.primary]
  30. background = \"$JONATHANDARKER_COLOR_BG\"
  31. foreground = \"$JONATHANDARKER_COLOR_FG\"
  32. [colors.normal]
  33. black = \"$JONATHANDARKER_COLOR_00\"
  34. red = \"$JONATHANDARKER_COLOR_01\"
  35. green = \"$JONATHANDARKER_COLOR_02\"
  36. yellow = \"$JONATHANDARKER_COLOR_03\"
  37. blue = \"$JONATHANDARKER_COLOR_04\"
  38. magenta = \"$JONATHANDARKER_COLOR_05\"
  39. cyan = \"$JONATHANDARKER_COLOR_06\"
  40. white = \"$JONATHANDARKER_COLOR_07\"
  41. [colors.bright]
  42. black = \"$JONATHANDARKER_COLOR_08\"
  43. red = \"$JONATHANDARKER_COLOR_09\"
  44. green = \"$JONATHANDARKER_COLOR_10\"
  45. yellow = \"$JONATHANDARKER_COLOR_11\"
  46. blue = \"$JONATHANDARKER_COLOR_12\"
  47. magenta = \"$JONATHANDARKER_COLOR_13\"
  48. cyan = \"$JONATHANDARKER_COLOR_14\"
  49. white = \"$JONATHANDARKER_COLOR_15\"
  50. " > $XDG_CONFIG_HOME/alacritty/.theme.toml
  51. # Trigger color scheme change in all Neovim instances
  52. find $XDG_RUNTIME_DIR/nvim.*.0 -print0 | \
  53. xargs -t -0 -P 64 -I % \
  54. nvim --clean --headless --server % --remote-expr \
  55. "execute(\"colorscheme jonathandarker\")"
  56. fi