Installation | Usage | Customization | Debugging
You should be able to install this package in the standard way, add it to the load path and then calling
(package-install 'spaceline-all-the-icons)
(require 'spaceline-all-the-icons)
;; or
(use-package spaceline-all-the-icons)
N.B. This package is highly dependent
on all-the-icons.el
, so make
sure you have the fonts
installed correctly
The simplest way to use this package is to set the mode-line-format
to be the spaceline-all-the-icons
theme or by calling
spaceline-all-the-icons-theme
(use-package spaceline-all-the-icons
:after spaceline
:config (spaceline-all-the-icons-theme))
There are a few segments that require optional packages and custom setup functions in order to run. Calling these two functions in your setup/config will enable the segments.
(spaceline-all-the-icons--setup-anzu) ;; Enable anzu searching
(spaceline-all-the-icons--setup-package-updates) ;; Enable package update indicator
(spaceline-all-the-icons--setup-git-ahead) ;; Enable # of commits ahead of upstream in git
(spaceline-all-the-icons--setup-paradox) ;; Enable Paradox mode line
(spaceline-all-the-icons--setup-neotree) ;; Enable Neotree mode line
The mode line is broken down into segments, where each segment can be toggled on or off independently.
Also, some of the segments have icon sets associated with them and can be modified to your taste.
You can see all of these options by calling
M-x customize-group spaceline-all-the-icons
You can add your own custom segments to the theme by installing it
using the spaceline-all-the-icons-theme
function and passing the
segment symbols as arguments.
(spaceline-all-the-icons-theme 'your-segment-symbol "Hello" 'etc)
These segments will appear in order on the right side of the mode line, in the empty middle section before all other right aligned segments.
Some segments are disabled by default you can turn them on by
calling the following in your :config
(spaceline-toggle-all-the-icons-SEGMENT-on)
Segment | Description |
---|---|
bookmark |
Indicates whether the current file is Bookmarked |
dedicated |
Indicates whether the current file is dedicated |
fullscreen |
Indicates whether the frame is Fullscreen |
buffer-position |
Indicates the position through the buffer as a percentage |
narrowed |
Indicates whether the current buffer has been narrowed |
The following segments can have their icon sets customized. You can
choose these by calling the following or setting it in :config
M-x customize-group spaceline-all-the-icons-icon-set
(setq spaceline-all-the-icons-icon-set-modified 'toggle)
These segments can have one of the following icon sets
Segment | Available Icons |
---|---|
modified |
chain , toggle , circle |
bookmark |
bookmark , heart , star |
dedicated |
pin , sticky-note |
window-numbering |
circle , solid , string , square |
eyebrowse-workspace |
circle , solid , string , square |
multiple-cursors |
caret , pointer |
git-stats |
diff-icons , arrows |
flycheck-slim |
solid , outline , dots |
sun-time |
rise/set , sun/moon , arrows |
You can customize the divider separators using
spaceline-all-the-icons-separator-type
, the available types are:
'slant
, 'arrow
, 'cup
, 'wave
, 'none
You also have two types of separators between individual segments,
these are spaceline-all-the-icons-primary-separator
&
spaceline-all-the-icons-secondary-separator
. Their defualt values
are |
& ·
respectively.
When a segment throws an error in Spaceline, this causes the entire
mode line to disappear (be blank), this is since the
mode-line-format
throws an error.
Spaceline unfortunately hides a lot of errors internally and doesn't given you information as to which segment is throwing an error.
To debug this, try running
M-x spaceline-all-the-icons--debug-segments
C-u M-x spaceline-all-the-icons--debug-segments
This will (should) return a list of segments which are throwing errors and will help me to debug any issues you're having!
Calling it with a C-u
prefix will (should) disable the segments
that are currently erroring so that at least the mode line will work.