A dependency-free, pywal-based, automatic, terminal-aware Emacs color-picker and theme generator.
ewal-doom-themes
have been added!ewal-wal-json-file
has been renamed toewal-json-file
.ewal-load-wal-colors
has been renamed toewal-load-colors
.ewal-get-color
has been renamed toewal-load-color
.ewal--get-color
has now been exposed asewal-get-color
. Both functions do the same thing, except thatewal-load-color
will always callewal-load-colors
first, whileewal-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)
- Add
ewal-doom-themes
screenshots.
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.
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))