A dependency-free, pywal-based, automatic, terminal-aware Emacs color-picker and theme generator.
Updates
ewal-doom-themeshave been added!ewal-wal-json-filehas been renamed toewal-json-file.ewal-load-wal-colorshas been renamed toewal-load-colors.ewal-get-colorhas been renamed toewal-load-color.ewal--get-colorhas now been exposed asewal-get-color. Both functions do the same thing, except thatewal-load-colorwill always callewal-load-colorsfirst, whileewal-get-colorexpects the user to do so first, for a marginal performance improvement.ewal-spacemacs-theme-*-high-contrasthave been deprecated. To achieve the same effect(setq ewal-shade-percent-difference 10)
TODOs
- Add
ewal-doom-themesscreenshots.
Overview
A theme isn’t just a colorscheme. ewal lives by that. It uses 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
Terminal
Usage
These are the fundamentals. For more detail, see the docstrings.
Get a color and a specific shade (+ for ligther, - for darker):
(ewal-load-color 'magenta +4)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):
(setq ewal-use-built-in-on-failure-p t)Always use built-in palettes:
(setq ewal-use-built-in-always-p t)Pick a built-in palette:
(setq ewal-built-in-palette "sexy-material")Set custom folder and custom filename for pywal scheme (if you use
wpgtk or keep your own palette somewhere on your system):
(setq ewal-json-file "~/path/to/cache-file")Use special cursor for insert state when evil insert bindings are disabled:
(setq ewal-evil-cursors-obey-evil-p t)My config with all its warts:
(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))

