ewal icon indicating copy to clipboard operation
ewal copied to clipboard

[[https://melpa.org/#/ewal][file:https://melpa.org/packages/ewal-badge.svg]] [[https://melpa.org/#/ewal-spacemacs-themes][file:https://melpa.org/packages/ewal-spacemacs-themes-badge.svg]] [[https://melpa.org/#/ewal-evil-cursors][file:https://melpa.org/packages/ewal-evil-cursors-badge.svg]]

[[./img/ewal.png]]

A dependency-free, pywal-based, automatic, terminal-aware Emacs color-picker and theme generator.

  • Updates
  • =ewal-doom-themes= have been added!
  • =ewal-wal-json-file= has been renamed to =ewal-json-file=.
  • =ewal-load-wal-colors= has been renamed to =ewal-load-colors=.
  • =ewal-get-color= has been renamed to =ewal-load-color=. =ewal--get-color= has now been exposed as =ewal-get-color=. Both functions do the same thing, except that =ewal-load-color= will always call =ewal-load-colors= first, while =ewal-get-color= expects the user to do so first, for a marginal performance improvement.
  • =ewal-spacemacs-theme-*-high-contrast= have been deprecated. To achieve the same effect =(setq ewal-shade-percent-difference 10)=
  • TODOs
  • Add =ewal-doom-themes= screenshots.
  • Overview A theme isn't just a colorscheme. =ewal= lives by that. It uses [[https://github.com/dylanaraps/pywal][pywal]] as a backend to spruce up your Emacs setup by default, but also sports over 200 built in palettes to do so if you don't use the program (or shudders, you use a DOS system).

It adds extra shades to =pywal= palettes and makes your Emacs look sexy in a GUI and in a terminal (=pywal= users only). =ewal-spacemacs-themes= shows what ewal can do in 400 flavors of =spacemacs-theme= and =doom-themes=, while =ewal-evil-cursors= spices up, well, your evil cursors. It also provides a function to colorize =spaceline= accordingly. All these packages (with the excepton of doom themes) are available on MELPA.

  • Screenshots ** GUI [[./img/ewal.gif]] ** Terminal [[./img/ewal-terminal.png]]

  • Usage These are the fundamentals. For more detail, see the docstrings.

Get a color and a specific shade (+ for ligther, - for darker): #+BEGIN_SRC emacs-lisp :tangle yes (ewal-load-color 'magenta +4) #+END_SRC

Use built-in palettes if your =pywal= theme fails to load (otherwise you just get a black-and-white theme and something about color being nil): #+BEGIN_SRC emacs-lisp :tangle yes (setq ewal-use-built-in-on-failure-p t) #+END_SRC

Always use built-in palettes: #+BEGIN_SRC emacs-lisp :tangle yes (setq ewal-use-built-in-always-p t) #+END_SRC

Pick a built-in palette: #+BEGIN_SRC emacs-lisp :tangle yes (setq ewal-built-in-palette "sexy-material") #+END_SRC

Set custom folder and custom filename for =pywal= scheme (if you use =wpgtk= or keep your own palette somewhere on your system): #+BEGIN_SRC emacs-lisp :tangle yes (setq ewal-json-file "~/path/to/cache-file") #+END_SRC

Use special cursor for insert state when evil insert bindings are disabled: #+BEGIN_SRC emacs-lisp :tangle yes (setq ewal-evil-cursors-obey-evil-p t) #+END_SRC

My config with all its warts: #+BEGIN_SRC emacs-lisp :tangle yes (use-package ewal :init (setq ewal-use-built-in-always-p nil ewal-use-built-in-on-failure-p t ewal-built-in-palette "sexy-material")) (use-package ewal-spacemacs-themes :init (progn (setq spacemacs-theme-underline-parens t my:rice:font (font-spec :family "Source Code Pro" :weight 'semi-bold :size 11.0)) (show-paren-mode +1) (global-hl-line-mode) (set-frame-font my:rice:font nil t) (add-to-list 'default-frame-alist `(font . ,(font-xlfd-name my:rice:font)))) :config (progn (load-theme 'ewal-spacemacs-modern t) (enable-theme 'ewal-spacemacs-modern))) (use-package ewal-evil-cursors :after (ewal-spacemacs-themes) :config (ewal-evil-cursors-get-colors :apply t :spaceline t)) (use-package spaceline :after (ewal-evil-cursors winum) :init (setq powerline-default-separator nil) :config (spaceline-spacemacs-theme)) #+END_SRC