If only certain buffers could be so grossly incandescent.
solaire-mode
is an aesthetic plugin designed to visually distinguish "real" buffers (i.e. file-visiting code buffers where you do most of your work) from "unreal" buffers (like popups, sidebars, log buffers, terminals, etc) by giving the latter a slightly different -- often darker -- background:
This plugin accomplishes this by doing two things when activated:
solaire-mode
buffer-locally remaps all the faces in solaire-mode-remap-alist
. e.g. default
<-> solaire-default-face
, and mode-line
<-> solaire-mode-line-face
The latter faces are the (presumably) "adjusted" faces.
solaire-global-mode
will globally swap faces in solaire-mode-swap-alist
IF your active theme is in solaire-mode-themes-to-face-swap
. Use this if you think a theme has its designated solaire-*-face colors the wrong way around.
Praise the sun.
Note:
face-remapping-alist
, which other plugins may overwrite.Solaire-mode is available on MELPA: M-x package-install RET solaire-mode
Doom installs this package as part of the :ui doom
module. No additional configuration is needed.
Simply activate solaire-global-mode
:
solaire-mode-real-buffer-fn
(default: solaire-mode-real-buffer-p
): The predicate function used to determine if a buffer is "real" or not. It takes no arguments and must return truthy for buffers where solaire-mode
should not be activated in.solaire-mode-remap-alist
: An alist mapping original faces to replacement faces, which will be buffer-locally remapped in any buffer solaire-mode
is enabled in.solaire-mode-swap-alist
: An alist mapping original faces to replacement faces, which will be swapped globally if current theme is in solaire-mode-themes-to-face-swap
.solaire-mode-themes-to-face-swap
(default: ()
): A list of themes to swap faces in solaire-mode-swap-alist
for. Can be symbols or regexps.By default, solaire-mode
remaps the mode-line faces. This interferes with certain mode-line packages like telephone-line or powerline, but works fine for doom-modeline. To disable this behavior use:
(dolist (face '(mode-line mode-line-inactive)) (setf (alist-get face solaire-mode-remap-modeline) nil))
It is up to themes to decide whether unreal buffers (i.e. non-file-visiting) are lighter or darker than real buffers. If you don't like their arrangement, add that theme to solaire-mode-themes-to-face-swap
:
(add-to-list 'solaire-mode-themes-to-face-swap 'doom-vibrant)
Then solaire-mode will swap all the faces in solaire-mode-swap-alist
(for example, swapping the default
face with solaire-default-face
).
You can add a regexp to solaire-mode-themes-to-face-swap
to affect a family of themes, e.g.
(add-to-list 'solaire-mode-themes-to-face-swap "^doom-")
solaire-mode
will disable itself if the active theme doesn't support it, but to ensure support a theme must at least change solaire-default-face
's :background
. My recommendation is that it is be slightly darker or lighter than default
's background.
For example doom-one
(seen in the screenshot above) prefers solaire-default-face
be darker than default
:
Others, like doom-vibrant prefer the opposite:
For full support, themes can customize the following faces:
Face Remapped face solaire-default-face default solaire-fringe-face fringe solaire-line-number-face line-number solaire-hl-line-face hl-line solaire-org-hide-face org-hide, org-indent solaire-mode-line-face mode-line solaire-mode-line-inactive-face mode-line-inactive solaire-header-line-face header-line Themes that support solaire-mode out of the boxThe only (known) themes to support solaire-mode are:
If you know of more, feel free to PR them.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4