Table of Contents

Theming layer

Table of ContentsClose

1 Description

This layer allows for a simple way of modifying themes.

2 Install

To use this configuration layer, add it to your ~/.spacemacs. You will need to add theming to the existing dotspacemacs-configuration-layers list in this file.

3 Usage

To use this layer, set the value of theming-modifications. It should be a list of the following form:

((theme1 (face1 attributes...)
         (face2 attributes...)
 (theme2 (face1 attributes...)
         (face2 attributes...)

This will apply the given attributes to the relevant faces whenever the appropriate theme is loaded. To update without changing the theme, use SPC SPC spacemacs/update-theme.

4 Attributes

See face attributes in the Emacs manual for more information. Some of the more common attributes you might want to tweak are the following:

the name of a face to inherit attributes from
:foreground and :background
Hexadecimal color strings
typically a floating point number (1.0 gives the same height as the underlying face)
typically bold or normal
typically nil or t
typically oblique, italic or normal
set to t to draw a box around characters in the foreground

5 Faces

To see a list over all loaded faces and what they look like, use SPC SPC list-faces-display. You can also use SPC h d c (describe character) on a character to see its face.

Some of the most common faces to modify are the syntactical elements:

  • font-lock-builtin-face
  • font-lock-comment-delimiter-face
  • font-lock-comment-face
  • font-lock-constant-face
  • font-lock-doc-face
  • font-lock-function-name-face
  • font-lock-keyword-face
  • font-lock-preprocessor-face
  • font-lock-string-face
  • font-lock-type-face
  • font-lock-variable-name-face
  • font-lock-warning-face

As well as the mode-line faces for the active and inactive windows:

  • powerline-active1
  • powerline-active2
  • powerline-inactive1
  • powerline-inactive2
  • mode-line
  • mode-line-inactive

6 Headers

This layer includes three additional layer variables for tweaking headings. Allowed values are a list of themes in which the given effect should happen, or the symbol all to apply it on all themes.

inherits all headings from the default face to avoid non-monospaced fonts
sets the :height attribute to one on all headings to give them the same size as the rest of the text
sets the :weight attribute to bold on all headings

Author: Sylvain Benner

Created: 2016-10-03 Mon 00:55