Skip to content

cyruseuros/ewal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

https://melpa.org/packages/ewal-badge.svg https://melpa.org/packages/ewal-spacemacs-themes-badge.svg 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 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):

(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))