basic-theme.el icon indicating copy to clipboard operation
basic-theme.el copied to clipboard

Minimal color theme for Emacs using base16 colors.

  • 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]]