set-theme 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. #!/usr/bin/env bash
  2. ## Apply themes in Bspwm
  3. CFG="$HOME/.config"
  4. BSP="$HOME/.config/bspwm"
  5. XRES="$HOME/.Xresources.d"
  6. ## Set Style
  7. set_style () {
  8. # apply wallpaper
  9. feh --bg-scale "$BSP"/wallpapers/${1}
  10. # apply color-scheme
  11. cat "$BSP"/themes/${2} > "$XRES"/colors
  12. # set gtk theme, icons and cursor
  13. if [[ `pidof xsettingsd` ]]; then
  14. sed -i -e "s|Net/ThemeName .*|Net/ThemeName \"$3\"|g" ${HOME}/.xsettingsd
  15. sed -i -e "s|Net/IconThemeName .*|Net/IconThemeName \"$4\"|g" ${HOME}/.xsettingsd
  16. sed -i -e "s|Gtk/CursorThemeName .*|Gtk/CursorThemeName \"$5\"|g" ${HOME}/.xsettingsd
  17. else
  18. sed -i -e "s/gtk-theme-name=.*/gtk-theme-name=\"$3\"/g" ${HOME}/.gtkrc-2.0
  19. sed -i -e "s/gtk-icon-theme-name=.*/gtk-icon-theme-name=\"$4\"/g" ${HOME}/.gtkrc-2.0
  20. sed -i -e "s/gtk-cursor-theme-name=.*/gtk-cursor-theme-name=\"$5\"/g" ${HOME}/.gtkrc-2.0
  21. sed -i -e "s/gtk-theme-name=.*/gtk-theme-name=$3/g" ${CFG}/gtk-3.0/settings.ini
  22. sed -i -e "s/gtk-icon-theme-name=.*/gtk-icon-theme-name=$4/g" ${CFG}/gtk-3.0/settings.ini
  23. sed -i -e "s/gtk-cursor-theme-name=.*/gtk-cursor-theme-name=$5/g" ${CFG}/gtk-3.0/settings.ini
  24. fi
  25. # reload config
  26. bspc wm -r
  27. }
  28. set_style "${1}" "${2}" "${3}" "${4}" "${5}"