Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fgeller/basic-theme.el

Minimal color theme for Emacs using base16 colors.
https://github.com/fgeller/basic-theme.el

emacs emacs-lisp theme

Last synced: about 2 months ago
JSON representation

Minimal color theme for Emacs using base16 colors.

Awesome Lists containing this project

README

        

* basic

Minimalistic light color theme for GNU Emacs.

[[https://melpa.org/#/basic-theme][file:https://melpa.org/packages/basic-theme-badge.svg]]

** Screenshots

Scratch buffer:

[[https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/scratch.png][file:https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/scratch.png]]

Emacs Lisp buffer:

[[https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/emacs-lisp.png][file:https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/emacs-lisp.png]]

Magit buffers:

[[https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/magit.png][file:https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/magit.png]]

** Details

The theme attempts to reduce the usage of colors to a minimum based on my
personal preferences. It's not fully monochrome, for example diffs and active
regions are distinguished via colors. The theme assumes no font-lock,
i.e. =(global-font-lock-mode 0)=, so there is very little customization for
syntax aware faces. The used colors are from the
[[https://github.com/chriskempson/base16][base16]] set.

By default the =mode-line= faces are using the same colors for fore- and
background to reduce the noise. I use a little helper to toggle the color and
face height of relevant faces similar to the following:

#+begin_src emacs-lisp
(defun mode-line-visual-toggle ()
(interactive)
(let ((faces-to-toggle '(mode-line mode-line-inactive))
(invisible-color "#e8e8e8")
(visible-color "#a1b56c"))
(cond ((string= visible-color (face-attribute 'mode-line :background))
(mapcar (lambda (face)
(set-face-background face invisible-color)
(set-face-attribute face nil :height 20))
faces-to-toggle))
(t
(mapcar (lambda (face)
(set-face-background face visible-color)
(set-face-attribute face nil :height (face-attribute 'default :height)))
faces-to-toggle)))))
#+end_src

For example:

[[https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/mode-line.png][file:https://raw.githubusercontent.com/fgeller/basic-theme.el/master/screenshots/mode-line.png]]