basic-theme.el
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]]