[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/modus-operandi-theme e596487 025/153: Add README in mar
From: |
Stefan Monnier |
Subject: |
[elpa] externals/modus-operandi-theme e596487 025/153: Add README in markdown format |
Date: |
Thu, 18 Mar 2021 13:47:31 -0400 (EDT) |
branch: externals/modus-operandi-theme
commit e59648753218d7d8076e402e84bfff72257e7bbf
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Add README in markdown format
---
README.md | 1962 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1962 insertions(+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6274f76
--- /dev/null
+++ b/README.md
@@ -0,0 +1,1962 @@
+This manual, written by Protesilaos Stavrou, describes the customisation
+options for the `modus-operandi` and `modus-vivendi` themes, and provides
+every other piece of information pertinent to them. The document
+corresponds to version 0.13.0, expected to be released in
+late September 2020. As such, the present entry should be considered a
+work-in-progress.
+
+Copyright (C) 2020 Free Software Foundation, Inc.
+
+> Permission is granted to copy, distribute and/or modify this
+> document under the terms of the GNU Free Documentation License,
+> Version 1.3 or any later version published by the Free Software
+> Foundation; with no Invariant Sections, with no Front-Cover Texts,
+> and with no Back-Cover Texts.
+
+[Info manual HTML version](https://protesilaos.com/modus-themes).
+
+
+# Table of Contents
+
+1. [Overview](#h:f0f3dbcb-602d-40cf-b918-8f929c441baf)
+ 1. [How do the themes look like](#h:69b92089-069c-4ba1-9d94-cc3415fc4f87)
+2. [Installation](#h:1af85373-7f81-4c35-af25-afcef490c111)
+ 1. [Install from the archives](#h:c4b10085-149f-43e2-bd4d-347f33aee054)
+ 2. [Install on GNU/Linux](#h:da640eb1-95dd-4e86-bb4e-1027b27885f0)
+ 1. [Debian 11 Bullseye](#h:7e570360-9ee6-4bc5-8c04-9dc11418a3e4)
+ 2. [GNU Guix](#h:a4ca52cd-869f-46a5-9e16-4d9665f5b88e)
+3. [Enable and load](#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9)
+ 1. [Load automatically](#h:1777c247-1b56-46b7-a4ce-54e720b33d06)
+ 2. [Load at a given time or at
sunset/sunrise](#h:4e936e31-e9eb-4b50-8fdd-45d827a03cca)
+ 3. [Toggle between the themes on
demand](#h:2a0895a6-3281-4e55-8aa1-8a737555821e)
+ 4. [Configure options prior to loading](#org7fe1155)
+4. [Customisation Options](#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f)
+ 1. [Bold constructs](#h:b25714f6-0fbe-41f6-89b5-6912d304091e)
+ 2. [Slanted constructs](#h:977c900d-0d6d-4dbb-82d9-c2aae69543d6)
+ 3. [Syntax highlighting](#h:741379fe-7203-4dad-a7f8-ab71f61b43e6)
+ 4. [Command prompts](#h:db5a9a7c-2928-4a28-b0f0-6f2b9bd52ba1)
+ 5. [Mode line](#h:27943af6-d950-42d0-bc23-106e43f50a24)
+ 6. [Completion UIs](#h:f1c20c02-7b34-4c35-9c65-99170efb2882)
+ 7. [Fringes](#h:1983c3fc-74f6-44f3-b917-967c403bebae)
+ 8. [Line highlighting](#h:1dba1cfe-d079-4c13-a810-f768e8789177)
+ 9. [Matching parentheses](#h:e66a7e4d-a512-4bc7-9f86-fbbb5923bf37)
+ 10. [Diffs](#h:ea7ac54f-5827-49bd-b09f-62424b3b6427)
+ 11. [Org mode blocks](#h:b7e328c0-3034-4db7-9cdf-d5ba12081ca2)
+ 12. [Accented headings](#h:61b65cff-cc37-4c69-91d7-f818293139a0)
+ 13. [Section headings](#h:7649e1b4-7b1d-41bc-aebd-fdae585212d9)
+ 14. [Scaled headings](#h:075eb022-37a6-41a4-a040-cc189f6bfa1f)
+ 1. [Scaled heading sizes](#h:6868baa1-beba-45ed-baa5-5fd68322ccb3)
+ 15. [Headings' font](#h:97caca76-fa13-456c-aef1-a2aa165ea274)
+5. [Advanced customisation
(do-it-yourself)](#h:f4651d55-8c07-46aa-b52b-bed1e53463bb)
+ 1. [Tweak colours (DIY)](#h:1487c631-f4fe-490d-8d58-d72ffa3bd474)
+ 2. [Font configs (DIY)](#h:defcf4fc-8fa8-4c29-b12e-7119582cc929)
+6. [Face coverage](#h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19)
+ 1. [Supported packages](#h:60ed4275-60d6-49f8-9287-9a64e54bea0e)
+ 2. [Covered indirectly](#h:2cb359c7-3a84-4262-bab3-dcdc1d0034d7)
+ 3. [Will NOT be supported](#h:6c6e8d94-6782-47fc-9eef-ad78671e9eea)
+7. [Notes for individual packages](#h:4c4d901a-84d7-4f20-bd99-0808c2b06eba)
+ 1. [Note for powerline or
spaceline](#h:9130a8ba-d8e3-41be-a58b-3cb1eb7b6d17)
+ 2. [Note on shr colours](#h:4cc767dc-ffef-4c5c-9f10-82eb7b8921bf)
+ 3. [Note for Helm grep](#h:d28879a2-8e4b-4525-986e-14c0f873d229)
+ 4. [Note on
vc-annotate-background-mode](#h:5095cbd1-e17a-419c-93e8-951c186362a3)
+8. [Contributing](#h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1)
+ 1. [Sources of the themes](#h:89504f1c-c9a1-4bd9-ab39-78fd0eddb47c)
+ 2. [Issues you can help with](#h:6536c8d5-3f98-43ab-a787-b94120e735e8)
+ 3. [Merge requests](#h:111773e2-f26f-4b68-8c4f-9794ca6b9633)
+9. [Acknowledgements](#h:95c3da23-217f-404e-b5f3-56c75760ebcf)
+10. [Meta](#h:13752581-4378-478c-af17-165b6e76bc1b)
+11. [External projects (ports)](#h:21adb7c8-2208-41e8-803c-052e42e2c05d)
+12. [GNU Free Documentation License](#h:3077c3d2-7f90-4228-8f0a-73124f4026f6)
+
+
+<a id="h:f0f3dbcb-602d-40cf-b918-8f929c441baf"></a>
+
+# Overview
+
+The Modus themes are designed for accessible readability. They conform
+with the highest standard for colour contrast between any given
+combination of background and foreground colours. This corresponds to
+the WCAG AAA standard, which specifies a minimum rate of distance in
+relative luminance of 7:1.
+
+Modus Operandi (`modus-operandi`) is a light theme, while Modus Vivendi
+(`modus-vivendi`) is dark. Each theme’s colour palette is designed to
+meet the needs of the numerous interfaces that are possible in the Emacs
+computing environment.
+
+The overarching objective of this project is to always offer accessible
+colour combinations. There shall never be a compromise on this
+principle. If there is an inescapable trade-off between readability and
+stylistic considerations, we will always opt for the former.
+
+To ensure that users have a consistently accessible experience, the
+themes strive to achieve as close to full face coverage as possible
+(see [Face coverage](#h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19)).
+
+Starting with version 0.12.0, the themes are built into Emacs. Their
+version is that of the latest tagged release. This is because I
+(Protesilaos Stavrou) do not have push privileges to the Emacs
+repository and must contact the mailing list for someone else to make
+the changes for me. As you can understand, it would be too tedious to
+do this each time I make a commit.
+
+If I am ever granted access to the Emacs git repo, I will make sure that
+the built-in themes are synced with the `HEAD` of my `master` branch.
+
+
+<a id="h:69b92089-069c-4ba1-9d94-cc3415fc4f87"></a>
+
+## How do the themes look like
+
+Check the [web page with the screen
shots](https://gitlab.com/protesilaos/modus-themes/wikis/Screenshots). There
are lots of scenaria on
+display that draw attention to details and important aspects in the
+design of the themes. They also showcase the numerous customisation
+options.
+
+[Customisation options](#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f).
+
+
+<a id="h:1af85373-7f81-4c35-af25-afcef490c111"></a>
+
+# Installation
+
+The Modus themes are built into Emacs’ development branch (`master`)
which
+corresponds to the nominal version 28.0.50. Otherwise they can be
+installed using Emacs’ package manager or manually from their code
+repository.
+
+Modus Operandi (light theme) and Modus Vivendi (dark) are normally
+distributed as standalone packages in Emacs-specific archives: GNU ELPA,
+MELPA, and MELPA Stable. There also exist packages for GNU/Linux
+distributions.
+
+
+<a id="h:c4b10085-149f-43e2-bd4d-347f33aee054"></a>
+
+## Install from the archives
+
+`modus-operandi-theme` and `modus-vivendi-theme` are available from GNU
+Elpa, Melpa, Melpa-Stable.
+
+Prior to querying any package archive, make sure to have updated the
+index, with `M-x package-refresh-contents`. Then all you need to do is
+type `M-x package-install` and specify the theme of your choice.
+
+GNU Elpa and Melpa-Stable contain the last tagged release. While Melpa
+builds from the latest commit to the [Modus theme’s Git
repository](https://gitlab.com/protesilaos/modus-themes).
+
+
+<a id="h:da640eb1-95dd-4e86-bb4e-1027b27885f0"></a>
+
+## Install on GNU/Linux
+
+The themes are also available from the archives of some GNU/Linux
+distributions. These should correspond to a tagged release rather than
+building directly from the latest Git commit. It all depends on the
+distro’s packaging policies.
+
+
+<a id="h:7e570360-9ee6-4bc5-8c04-9dc11418a3e4"></a>
+
+### Debian 11 Bullseye
+
+The two themes are distributed as a single package for Debian and its
+derivatives. Currently in the unstable and testing suites and should be
+available in time for Debian 11 Bullseye (next stable).
+
+Get them with:
+
+ sudo apt install elpa-modus-themes
+
+
+<a id="h:a4ca52cd-869f-46a5-9e16-4d9665f5b88e"></a>
+
+### GNU Guix
+
+Users of either GuixSD (the distro) or just Guix (the package manager)
+can get each theme as a standalone package.
+
+ guix package -i modus-operandi-theme
+
+And/or:
+
+ guix package -i modus-vivendi-theme
+
+
+<a id="h:3f3c3728-1b34-437d-9d0c-b110f5b161a9"></a>
+
+# Enable and load
+
+This section documents techniques on how to load the theme of your
+choice and how to further control its initialisation. It also includes
+some sample code snippets that could help you in the task, especially if
+you intend to use both Modus Operandi and Modus Vivendi.
+
+
+<a id="h:1777c247-1b56-46b7-a4ce-54e720b33d06"></a>
+
+## Load automatically
+
+A simple way to load the theme from your Emacs initialisation file is to
+include either of the following expressions:
+
+ (load-theme 'modus-operandi t) ; Light theme
+ (load-theme 'modus-vivendi t) ; Dark theme
+
+Make sure to remove any other theme that is being loaded, otherwise you
+might run into unexpected issues (you can also `M-x disable-theme`).
+
+
+<a id="h:4e936e31-e9eb-4b50-8fdd-45d827a03cca"></a>
+
+## Load at a given time or at sunset/sunrise
+
+It is possible to schedule a time during the day at or after which a
+given theme will be loaded.<sup><a id="fnr.1" class="footref"
href="#fn.1">1</a></sup>
+
+ ;; Light for the day
+ (load-theme 'modus-operandi t t)
+ (run-at-time "05:00" (* 60 60 24)
+ (lambda ()
+ (enable-theme 'modus-operandi)))
+
+ ;; Dark for the night
+ (load-theme 'modus-vivendi t t)
+ (run-at-time "21:00" (* 60 60 24)
+ (lambda ()
+ (enable-theme 'modus-vivendi)))
+
+A modified version of the above technique is to use the sunrise and
+sunset as references, instead of specifying a fixed value.<sup><a id="fnr.2"
class="footref" href="#fn.2">2</a></sup>
+If you set `calendar-latitude` and `calendar-longitude` (defined in the
+built-in `solar.el` library—read it with `M-x find-library`), you can
+automatically switch between both themes at the appropriate time-of-day.
+Note that *those calendar variables need to be set before loading the
+themes*.
+
+ ;; Define coordinates
+ (setq calendar-latitude 35.17
+ calendar-longitude 33.36)
+
+ ;; Light at sunrise
+ (load-theme 'modus-operandi t t)
+ (run-at-time (nth 1 (split-string (sunrise-sunset)))
+ (* 60 60 24)
+ (lambda ()
+ (enable-theme 'modus-operandi)))
+
+ ;; Dark at sunset
+ (load-theme 'modus-vivendi t t)
+ (run-at-time (nth 4 (split-string (sunrise-sunset)))
+ (* 60 60 24)
+ (lambda ()
+ (enable-theme 'modus-vivendi)))
+
+For the sake of completeness, the `load-theme` call in these snippets is
+slightly different than the one shown in [Load
automatically](#h:1777c247-1b56-46b7-a4ce-54e720b33d06), because it
+does not enable the theme directly: the subsequent `enable-theme` does
+that when needed.
+
+
+<a id="h:2a0895a6-3281-4e55-8aa1-8a737555821e"></a>
+
+## Toggle between the themes on demand
+
+With both themes available, it is possible to design a simple command to
+switch between them on demand.
+
+ (defun modus-themes-toggle ()
+ "Toggle between `modus-operandi' and `modus-vivendi' themes."
+ (interactive)
+ (if (eq (car custom-enabled-themes) 'modus-operandi)
+ (progn
+ (disable-theme 'modus-operandi)
+ (load-theme 'modus-vivendi t))
+ (disable-theme 'modus-vivendi)
+ (load-theme 'modus-operandi t)))
+
+
+<a id="org7fe1155"></a>
+
+## Configure options prior to loading
+
+If you plan to use both themes and wish to apply styles consistently
+(see [Customisation Options](#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f)), you
could define wrapper functions around
+the standard `load-theme` command. These extend the simple function we
+presented in [Toggle between the themes on
demand](#h:2a0895a6-3281-4e55-8aa1-8a737555821e).
+
+Here is a comprehensive setup (the values assigned to the variables are
+just for the sake of this demonstration):<sup><a id="fnr.3" class="footref"
href="#fn.3">3</a></sup>
+
+ (defmacro modus-themes-format-sexp (sexp &rest objects)
+ `(eval (read (format ,(format "%S" sexp) ,@objects))))
+
+ (dolist (theme '("operandi" "vivendi"))
+ (modus-themes-format-sexp
+ (defun modus-%1$s-theme-load ()
+ (setq modus-%1$s-theme-slanted-constructs t
+ modus-%1$s-theme-bold-constructs t
+ modus-%1$s-theme-fringes 'subtle ; {nil,'subtle,'intense}
+ modus-%1$s-theme-mode-line '3d ; {nil,'3d,'moody}
+ modus-%1$s-theme-faint-syntax nil
+ modus-%1$s-theme-intense-hl-line nil
+ modus-%1$s-theme-intense-paren-match nil
+ modus-%1$s-theme-prompts nil ; {nil,'subtle,'intense}
+ modus-%1$s-theme-completions 'moderate ;
{nil,'moderate,'opinionated}
+ modus-%1$s-theme-diffs nil ; {nil,'desaturated,'fg-only}
+ modus-%1$s-theme-org-blocks 'greyscale ;
{nil,'greyscale,'rainbow}
+ modus-%1$s-theme-variable-pitch-headings t
+ modus-%1$s-theme-rainbow-headings t
+ modus-%1$s-theme-section-headings t
+ modus-%1$s-theme-scale-headings t
+ modus-%1$s-theme-scale-1 1.1
+ modus-%1$s-theme-scale-2 1.15
+ modus-%1$s-theme-scale-3 1.21
+ modus-%1$s-theme-scale-4 1.27
+ modus-%1$s-theme-scale-5 1.33)
+ (load-theme 'modus-%1$s t))
+ theme))
+
+ (defun modus-themes-toggle ()
+ "Toggle between `modus-operandi' and `modus-vivendi' themes."
+ (interactive)
+ (if (eq (car custom-enabled-themes) 'modus-operandi)
+ (progn
+ (disable-theme 'modus-operandi)
+ (modus-vivendi-theme-load))
+ (disable-theme 'modus-vivendi)
+ (modus-operandi-theme-load)))
+
+
+<a id="h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f"></a>
+
+# Customisation Options
+
+The Modus themes are highly configurable. Though they should work well
+without any further tweaks.
+
+By default, all customisation options are set to `nil`.
+
+All customisation options need to be evaluated before loading their
+theme (see [Enable and load](#h:3f3c3728-1b34-437d-9d0c-b110f5b161a9)).
+
+
+<a id="h:b25714f6-0fbe-41f6-89b5-6912d304091e"></a>
+
+## Option for more bold constructs
+
+Symbol names:
+
+- `modus-operandi-theme-bold-constructs`
+- `modus-vivendi-theme-bold-constructs`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Display several constructs in bold weight. This concerns keywords and
+other important aspects of code syntax. It also affects certain mode
+line indicators.
+
+The default is to only use a bold weight when it is necessary.
+
+Additionally and while not necessary, to define the precise weight for
+bold constructs, you can change the typographic intensity of the `bold`
+face. Assuming your typeface of choice supports a “semibold”
weight,
+adding the following snippet to your init file should suffice:
+
+ (set-face-attribute 'bold nil :weight 'semibold)
+
+The standard is a bold weight. It requires no further intervention.
+
+
+<a id="h:977c900d-0d6d-4dbb-82d9-c2aae69543d6"></a>
+
+## Option for more slanted constructs
+
+Symbol names:
+
+- `modus-operandi-theme-slanted-constructs`
+- `modus-vivendi-theme-slanted-constructs`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Choose to render more faces in slanted text (italics). This typically
+affects documentation strings and code comments.
+
+The default is to not use italics unless it is absolutely necessary.
+
+
+<a id="h:741379fe-7203-4dad-a7f8-ab71f61b43e6"></a>
+
+## Option for faint code syntax highlighting
+
+Symbol names:
+
+- `modus-operandi-theme-faint-syntax`
+- `modus-vivendi-theme-faint-syntax`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Use less saturated colours in programming modes for highlighting code
+syntax. The default is to use saturated colours.
+
+This option essentially affects the font-lock faces, so it may also have
+effects in other places that are hard-wired to rely directly on
+font-lock. The author is aware of `vc-dir` as a case in point.
+
+
+<a id="h:db5a9a7c-2928-4a28-b0f0-6f2b9bd52ba1"></a>
+
+## Option for command prompt styles
+
+Symbol names:
+
+- `modus-operandi-theme-prompts`
+- `modus-vivendi-theme-prompts`
+
+Possible values:
+
+1. `nil` (default)
+2. `subtle`
+3. `intense`
+
+The symbols “subtle” and “intense” will apply a
combination of accented
+background and foreground to the minibuffer and other REPL prompts (like
+`M-x shell` and `M-x eshell`). The difference between the two is that the
+latter has a more pronounced/noticeable effect than the former.
+
+The default is to not use any background for such prompts, while only
+relying on an accented foreground colour.
+
+
+<a id="h:27943af6-d950-42d0-bc23-106e43f50a24"></a>
+
+## Option for mode line presentation
+
+Symbol names:
+
+- `modus-operandi-theme-mode-line`
+- `modus-vivendi-theme-mode-line`
+
+Possible values:
+
+1. `nil` (default)
+2. `3d`
+3. `moody`
+
+The default value (`nil`) produces a two-dimensional effect both for the
+active and inactive modelines. The differences between the two are
+limited to distinct shades of greyscale values, with the active being
+more intense than the inactive.
+
+A `3d` symbol will make the active modeline look like a three-dimensional
+rectangle. Inactive modelines remain 2D, though they are slightly toned
+down relative to the default. This aesthetic is the same as what you
+get when you run Emacs without any customisations (`emacs -Q` on the
+command line).
+
+While `moody` removes all box effects from the modelines and applies
+underline and overline properties instead. It also tones down a bit the
+inactive modelines. This is meant to optimise things for use with the
+[moody package](https://github.com/tarsius/moody), though it can work fine
even without it.
+
+
+<a id="h:f1c20c02-7b34-4c35-9c65-99170efb2882"></a>
+
+## Option for completion framework aesthetics
+
+Symbol names:
+
+- `modus-operandi-theme-completions`
+- `modus-vivendi-theme-completions`
+
+Possible values:
+
+1. `nil` (default)
+2. `moderate`
+3. `opinionated`
+
+This is a special option that has different effects depending on the
+completion UI. The interfaces can be grouped in two categories, based
+on their default aesthetics: (i) those that only or mostly use
+foreground colours for their interaction model, and (ii) those that
+combine background and foreground values for some of their metaphors.
+The former category encompasses the built-in tools, namely, Icomplete
+and Ido, as well as third party packages like Orderless and Flx. The
+latter covers Helm, Ivy, Selectrum, and similar.
+
+A value of `nil` will respect the metaphors of each completion framework.
+
+The symbol `moderate` will apply a combination of background and
+foreground that is fairly subtle. For Icomplete and friends this
+constitutes a departure from their default aesthetics, however the
+difference is small. While Helm et al will appear slightly different
+than their original looks, as they are toned down a bit.
+
+The symbol `opinionated` will apply colour combinations that refashion the
+completion UI. For the Icomplete camp this means that intense
+background and foreground combinations are used: in effect their looks
+emulate those of Ivy and co. in their original style. Whereas the other
+group of packages will revert to an even more nuanced aesthetic with
+some additional changes to the choice of hues.
+
+To appreciate the scope of this customisation option, you should spend
+some time with every one of the `nil` (default), `moderate`, and `opinionated`
+possibilities.
+
+
+<a id="h:1983c3fc-74f6-44f3-b917-967c403bebae"></a>
+
+## Option for fringe visibility
+
+Symbol names:
+
+- `modus-operandi-theme-fringes`
+- `modus-vivendi-theme-fringes`
+
+Possible values:
+
+1. `nil` (default)
+2. `subtle`
+3. `intense`
+
+The “subtle” symbol will apply a greyscale background that is
visible,
+yet close enough to the main background colour. While the
“intense”
+symbol will use a more noticeable greyscale background.
+
+The default is to use the same colour as that of the main background,
+meaning that the fringes are not obvious though they still occupy the
+space given to them by `fringe-mode`.
+
+
+<a id="h:1dba1cfe-d079-4c13-a810-f768e8789177"></a>
+
+## Option for line highlighting (hl-line-mode)
+
+Symbol names:
+
+- `modus-operandi-theme-intense-hl-line`
+- `modus-vivendi-theme-intense-hl-line`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Draw the current line of `hl-line-mode` or its global equivalent in a more
+prominent background colour. This would also affect several packages
+that enable `hl-line-mode`, such as `elfeed` and `mu4e`.
+
+The default is to use a more subtle grey.
+
+
+<a id="h:e66a7e4d-a512-4bc7-9f86-fbbb5923bf37"></a>
+
+## Option for parenthesis matching (show-paren-mode)
+
+Symbol names:
+
+- `modus-operandi-theme-intense-paren-match`
+- `modus-vivendi-theme-intense-paren-match`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Apply a more intense background to the matching parentheses (or
+delimiters). This affects tools such as the built-in `show-paren-mode`.
+The default is to use a subtle warm colour for the background of those
+overlays.
+
+
+<a id="h:ea7ac54f-5827-49bd-b09f-62424b3b6427"></a>
+
+## Option for diff buffer looks
+
+Symbol names:
+
+- `modus-operandi-theme-diffs`
+- `modus-vivendi-theme-diffs`
+
+Possible values:
+
+1. `nil` (default)
+2. `desaturated`
+3. `fg-only`
+
+By default the themes will apply richly coloured backgrounds to the
+output of diffs, such as those of `diff-mode`, `ediff`, `smerge-mode`, and
+`magit`. These are colour combinations of an accented background and
+foreground so that, for example, added lines have a pronounced green
+background with an appropriate shade of green for the affected text.
+Word-wise or “refined” changes follow this pattern but use
different
+shades of those colours to remain distinct.
+
+A `desaturated` value tones down all relevant colour values. It still
+combines an accented background with an appropriate background, yet its
+overall impression is very subtle. Refined changes are a bit more
+intense to fulfil their intended function, though still less saturated
+than default.
+
+While `fg-only` will remove all accented backgrounds and instead rely on
+colour-coded text to denote changes. For instance, added lines use an
+intense green foreground, while their background is the same as the rest
+of the buffer. Word-wise highlights still use a background value which
+is, nonetheless, more subtle than its default equivalent.
+
+Concerning `magit`, an extra set of tweaks are introduced for the effect
+of highlighting the current diff hunk, so as to remain consistent with
+the overall experience of that mode. Expect changes that are consistent
+with the overall intent of the aforementioned.
+
+
+<a id="h:b7e328c0-3034-4db7-9cdf-d5ba12081ca2"></a>
+
+## Option for org-mode block styles
+
+Symbol names:
+
+- `modus-operandi-theme-org-blocks`
+- `modus-vivendi-theme-org-blocks`
+
+Possible values:
+
+1. `nil` (default)
+2. `greyscale`
+3. `rainbow`
+
+The default is to use the same background as the rest of the buffer for
+the contents of the block.
+
+A value of `greyscale` will apply a subtle neutral grey background to the
+block’s contents. It will also extend to the edge of the window the
+background of the “begin” and “end” block delimiter
lines (only relevant
+for Emacs versions >= 27 where the ’extend’ keyword is recognised
by
+`set-face-attribute`).
+
+While `rainbow` will instead use an accented background for the contents
+of the block. The exact colour will depend on the programming language
+and is controlled by the `org-src-block-faces` variable (refer to the
+theme’s source code for the current association list). This is most
+suitable for users who work on literate programming documents that mix
+and match several languages.
+
+Note that the “rainbow” blocks may require you to also reload the
+major-mode so that the colours are applied properly: use `M-x org-mode` or
+`M-x org-mode-restart` to refresh the buffer. Or start typing in each
+code block (inefficient at scale, but it still works).
+
+
+<a id="h:61b65cff-cc37-4c69-91d7-f818293139a0"></a>
+
+## Option for colourful headings
+
+Symbol names:
+
+- `modus-operandi-theme-rainbow-headings`
+- `modus-vivendi-theme-rainbow-headings`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Apply more saturated colours to headings in `org-mode` and `outline-mode`
+while retaining all other heading properties. The colours follow the
+rainbow’s spectrum. In Org headings, some additional tweaks are made to
+adapt keywords (like “TODO”) to the more vivid presentation.
+
+The default uses a more frugal aesthetic for headings, letting their
+bold typography and the nuances between the various heading levels
+provide the elements of differentiation.
+
+
+<a id="h:7649e1b4-7b1d-41bc-aebd-fdae585212d9"></a>
+
+## Option for sectioned headings
+
+Symbol names:
+
+- `modus-operandi-theme-section-headings`
+- `modus-vivendi-theme-section-headings`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Uses a background colour and an overline to mark section headings in
+`org-mode` and `outline-mode`. These attributes are applied in addition to
+the existing foreground colour and the bold weight and can, therefore,
+be combined with the “rainbow” headings option (as well as all the
other
+options pertaining to headings). For Org several additional faces are
+configured accordingly, such as `TODO` keywords which gain a box style.
+
+The default is to use only a subtle foreground and a bold weight for
+headings, while no boxes or {under,over}-line effects are present.
+
+Note that the background for sectioned headings will extend to the edge
+of the window. To make it cover just the area occupied by the heading’s
+text, use this:
+
+ (setq org-fontify-whole-heading-line nil)
+
+
+<a id="h:075eb022-37a6-41a4-a040-cc189f6bfa1f"></a>
+
+## Option for scaled headings
+
+Symbol names:
+
+- `modus-operandi-theme-scale-headings`
+- `modus-vivendi-theme-scale-headings`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Make headings larger in height relative to the main text. This is
+noticeable in modes like Org. The default is to use the same size for
+headings and body copy.
+
+
+<a id="h:6868baa1-beba-45ed-baa5-5fd68322ccb3"></a>
+
+### Control the scale of headings
+
+In addition to toggles for enabling scaled headings, users can also
+specify a number of their own.
+
+- If it is a floating point, say, `1.5`, it is interpreted as a multiple
+ of the base font size.
+- If it is an integer, it is read as an absolute font height. The
+ number is basically the point size multiplied by a hundred. So if you
+ want it to be `18pt` you must pass `180`.
+
+Below are the variables in their default values, using the floating
+point paradigm. The numbers are very conservative, but you are free to
+change them to your liking, such as `1.2`, `1.4`, `1.6`, `1.8`,
`2.0`—or use a
+resource for finding a consistent scale:
+
+ (setq modus-operandi-theme-scale-1 1.05
+ modus-operandi-theme-scale-2 1.1
+ modus-operandi-theme-scale-3 1.15
+ modus-operandi-theme-scale-4 1.2
+ modus-operandi-theme-scale-5 1.3)
+
+ (setq modus-vivendi-theme-scale-1 1.05
+ modus-vivendi-theme-scale-2 1.1
+ modus-vivendi-theme-scale-3 1.15
+ modus-vivendi-theme-scale-4 1.2
+ modus-vivendi-theme-scale-5 1.3)
+
+Note that in Org, scaling only increases the size of the heading, but
+not of keywords that are added to it, like “TODO”. This is
outside the
+control of the themes and I am not aware of any way to make such
+keywords scale accordingly without patching upstream Org (see [issue
37](https://gitlab.com/protesilaos/modus-themes/-/issues/37)
+in the themes’ issue tracker).
+
+
+<a id="h:97caca76-fa13-456c-aef1-a2aa165ea274"></a>
+
+## Option for variable-pitch font in headings
+
+Symbol names:
+
+- `modus-operandi-theme-variable-pitch-headings`
+- `modus-vivendi-theme-variable-pitch-headings`
+
+Possible values:
+
+1. `nil` (default)
+2. `t`
+
+Choose to apply a proportionately spaced, else “variable-pitch”,
+typeface to headings (such as in Org mode). The default is to use the
+main font family.
+
+[Font configurations for Org (and
others)](#h:defcf4fc-8fa8-4c29-b12e-7119582cc929).
+
+
+<a id="h:f4651d55-8c07-46aa-b52b-bed1e53463bb"></a>
+
+# Advanced customisation (do-it-yourself)
+
+Unlike the predefined customisation options which follow a
+straightforward pattern of allowing the user to quickly specify their
+preference, the themes also provide a more flexible, albeit difficult,
+mechanism to control things with precision (see [Customisation
Options](#h:bf1c82f2-46c7-4eb2-ad00-dd11fdd8b53f)).
+
+This section is of interest only to users who are prepared to maintain
+their own local tweaks and who are willing to deal with any possible
+incompatibilities between versioned releases of the themes. As such,
+they are labelled as “do-it-yourself” or “DIY”.
+
+
+<a id="h:1487c631-f4fe-490d-8d58-d72ffa3bd474"></a>
+
+## Full access to the themes' palette
+
+The variables are:
+
+- `modus-operandi-theme-override-colors-alist`
+- `modus-vivendi-theme-override-colors-alist`
+
+Users can specify an association list that maps the names of colour
+variables to hexadecimal RGB values (in the form of `#RRGGBB`). This
+means that it is possible to override the entire palette or subsets
+thereof (see the source code for the actual names and values).
+
+Example:
+
+ ;; Redefine the values of those three variables for the given theme
+ (setq modus-vivendi-theme-override-colors-alist
+ '(("magenta" . "#ffaabb")
+ ("magenta-alt" . "#ee88ff")
+ ("magenta-alt-other" . "#bbaaff")))
+
+If you want to be creative, you can define a minor mode that refashions
+the themes on demand. The following is a minor mode that gets activated
+on demand. We combine it with the function to switch between Modus
+Operandi and Modus Vivendi (see [Toggle between the themes on
demand](#h:2a0895a6-3281-4e55-8aa1-8a737555821e) for
+a basic command, and/or [Configure options prior to loading](#org7fe1155) for
a more
+comprehensive setup).
+
+ (define-minor-mode modus-themes-alt-mode
+ "Override Modus themes' palette variables with custom values.
+
+ This is intended as a proof-of-concept. It is, nonetheless, a
+ perfectly accessible alternative, conforming with the design
+ principles of the Modus themes. It still is not as good as the
+ default colours."
+ :init-value nil
+ :global t
+ (if modus-themes-alt-mode
+ (setq modus-operandi-theme-override-colors-alist
+ '(("bg-main" . "#fefcf4")
+ ("bg-dim" . "#faf6ef")
+ ("bg-alt" . "#f7efe5")
+ ("bg-hl-line" . "#f4f0e3")
+ ("bg-active" . "#e8dfd1")
+ ("bg-inactive" . "#f6ece5")
+ ("bg-region" . "#c6bab1")
+ ("bg-header" . "#ede3e0")
+ ("bg-tab-bar" . "#dcd3d3")
+ ("bg-tab-active" . "#fdf6eb")
+ ("bg-tab-inactive" . "#c8bab8")
+ ("fg-unfocused" . "#55556f"))
+ modus-vivendi-theme-override-colors-alist
+ '(("bg-main" . "#100b17")
+ ("bg-dim" . "#161129")
+ ("bg-alt" . "#181732")
+ ("bg-hl-line" . "#191628")
+ ("bg-active" . "#282e46")
+ ("bg-inactive" . "#1a1e39")
+ ("bg-region" . "#393a53")
+ ("bg-header" . "#202037")
+ ("bg-tab-bar" . "#262b41")
+ ("bg-tab-active" . "#120f18")
+ ("bg-tab-inactive" . "#3a3a5a")
+ ("fg-unfocused" . "#9a9aab")))
+ (setq modus-operandi-theme-override-colors-alist nil
+ modus-vivendi-theme-override-colors-alist nil)))
+
+ (defun modus-themes-toggle (&optional arg)
+ "Toggle between `modus-operandi' and `modus-vivendi' themes.
+
+ With optional \\[universal-argument] prefix, enable
+ `modus-themes-alt-mode' for the loaded theme."
+ (interactive "P")
+ (if arg
+ (modus-themes-alt-mode 1)
+ (modus-themes-alt-mode -1))
+ (if (eq (car custom-enabled-themes) 'modus-operandi)
+ (progn
+ (disable-theme 'modus-operandi)
+ (load-theme 'modus-vivendi t))
+ (disable-theme 'modus-vivendi)
+ (load-theme 'modus-operandi t)))
+
+
+<a id="h:defcf4fc-8fa8-4c29-b12e-7119582cc929"></a>
+
+## Font configurations for Org (and others)
+
+The themes are designed to cope well with mixed font settings.
+Currently this applies to `org-mode` and `markdown-mode`.
+
+In practice it means that the user can safely opt for a more
+prose-friendly proportionately spaced typeface as their default, while
+letting spacing-sensitive elements like tables and inline code to always
+use a monospaced font, by inheriting from the `fixed-pitch` face.
+
+Users can try the built-in `M-x variable-pitch-mode` to see the effect in
+action.
+
+To make everything use your desired font families, you need to configure
+the `variable-pitch` (proportional spacing) and `fixed-pitch` (monospaced)
+faces respectively. It may also be convenient to set your main typeface
+by configuring the `default` face in the same way.
+
+Put something like this in your initialisation file (make sure to read
+the documentation of `set-face-attribute`, with `M-x describe-function`):
+
+ ;; Main typeface
+ (set-face-attribute 'default nil :family "DejaVu Sans Mono" :height 110)
+ ;; Proportionately spaced typeface
+ (set-face-attribute 'variable-pitch nil :family "DejaVu Serif" :height 110)
+ ;; Monospaced typeface
+ (set-face-attribute 'fixed-pitch nil :family "DejaVu Sans Mono" :height
110)
+
+The value of the `:height` attribute essentially is the point size × 100.
+So if you want to use a font at point size `11`, you set the height to
+`110`. Values do not need to be rounded to multiples of ten: the likes of
+`115` are perfectly valid.
+
+An alternative syntax, which the author of this documents prefers, is to
+pass all typeface parameters directly to a `font` property. Note that
+here we use a standard point size.
+
+ (set-face-attribute 'default nil :font "DejaVu Sans Mono-11")
+ (set-face-attribute 'variable-pitch nil :font "DejaVu Serif-11")
+ (set-face-attribute 'fixed-pitch nil :font "DejaVu Sans Mono-11")
+
+For a more succinct setup, you can configure the same value for multiple
+faces like this:
+
+ (dolist (face '(default fixed-pitch))
+ (set-face-attribute face nil :font "DejaVu Sans Mono-11"))
+
+
+<a id="h:a9c8f29d-7f72-4b54-b74b-ddefe15d6a19"></a>
+
+# Face coverage
+
+Modus Operandi and Modus Vivendi try to provide as close to full face
+coverage as possible. This is necessary to ensure a consistently
+accessible reading experience across all possible interfaces.
+
+
+<a id="h:60ed4275-60d6-49f8-9287-9a64e54bea0e"></a>
+
+## Full support for packages or face groups
+
+This list will always be updated to reflect the current state of the
+project. The idea is to offer an overview of the known status of all
+affected face groups. The items with an appended asterisk `*` tend to
+have lots of extensions, so the “full support” may not be 100%
true…
+
+- ace-window
+- ag
+- alert
+- all-the-icons
+- annotate
+- anzu
+- apropos
+- apt-sources-list
+- artbollocks-mode
+- auctex and TeX
+- auto-dim-other-buffers
+- avy
+- bm
+- bongo
+- boon
+- breakpoint (provided by the built-in `gdb-mi.el` library)
+- buffer-expose
+- calendar and diary
+- calfw
+- centaur-tabs
+- change-log and log-view (such as `vc-print-log` and `vc-print-root-log`)
+- cider
+- circe
+- color-rg
+- column-enforce-mode
+- company-mode\*
+- company-posframe
+- compilation-mode
+- completions
+- counsel\*
+- counsel-css
+- counsel-notmuch
+- counsel-org-capture-string
+- cov
+- csv-mode
+- ctrlf
+- custom (`M-x customize`)
+- dap-mode
+- dashboard (emacs-dashboard)
+- deadgrep
+- debbugs
+- define-word
+- deft
+- dictionary
+- diff-hl
+- diff-mode
+- dim-autoload
+- dired
+- dired-async
+- dired-git
+- dired-git-info
+- dired-narrow
+- dired-subtree
+- diredfl
+- disk-usage
+- doom-modeline
+- dynamic-ruler
+- easy-jekyll
+- easy-kill
+- ebdb
+- ediff
+- eglot
+- el-search
+- eldoc-box
+- elfeed
+- elfeed-score
+- emms
+- enhanced-ruby-mode
+- epa
+- equake
+- erc
+- eros
+- ert
+- eshell
+- eshell-fringe-status
+- eshell-git-prompt
+- eshell-prompt-extras (epe)
+- evil\* (evil-mode)
+- evil-goggles
+- evil-visual-mark-mode
+- eww
+- eyebrowse
+- fancy-dabbrev
+- flycheck
+- flycheck-indicator
+- flycheck-posframe
+- flymake
+- flyspell
+- flyspell-correct
+- flx
+- freeze-it
+- frog-menu
+- focus
+- fold-this
+- font-lock (generic syntax highlighting)
+- forge
+- fountain (fountain-mode)
+- geiser
+- git-commit
+- git-gutter (and variants)
+- git-lens
+- git-rebase
+- git-timemachine
+- git-walktree
+- gnus
+- golden-ratio-scroll-screen
+- helm\*
+- helm-ls-git
+- helm-switch-shell
+- helm-xref
+- helpful
+- highlight-blocks
+- highlight-defined
+- highlight-escape-sequences (`hes-mode`)
+- highlight-indentation
+- highlight-numbers
+- highlight-symbol
+- highlight-tail
+- highlight-thing
+- hl-defined
+- hl-fill-column
+- hl-line-mode
+- hl-todo
+- hydra
+- hyperlist
+- ibuffer
+- icomplete
+- icomplete-vertical
+- ido-mode
+- iedit
+- iflipb
+- imenu-list
+- indium
+- info
+- info-colors
+- interaction-log
+- ioccur
+- isearch, occur, etc.
+- ivy\*
+- ivy-posframe
+- jira (org-jira)
+- journalctl-mode
+- js2-mode
+- julia
+- jupyter
+- kaocha-runner
+- keycast
+- line numbers (`display-line-numbers-mode` and global variant)
+- lsp-mode
+- lsp-ui
+- magit
+- magit-imerge
+- man
+- markdown-mode
+- markup-faces (`adoc-mode`)
+- mentor
+- messages
+- minibuffer-line
+- minimap
+- modeline
+- mood-line
+- moody
+- mu4e
+- mu4e-conversation
+- multiple-cursors
+- neotree
+- no-emoji
+- notmuch
+- num3-mode
+- nxml-mode
+- objed
+- orderless
+- org\*
+- org-journal
+- org-noter
+- org-pomodoro
+- org-recur
+- org-roam
+- org-superstar
+- org-table-sticky-header
+- org-treescope
+- origami
+- outline-mode
+- outline-minor-faces
+- package (`M-x list-packages`)
+- page-break-lines
+- paradox
+- paren-face
+- parrot
+- pass
+- persp-mode
+- perspective
+- phi-grep
+- phi-search
+- pkgbuild-mode
+- pomidor
+- powerline
+- powerline-evil
+- proced
+- prodigy
+- rainbow-blocks
+- rainbow-identifiers
+- rainbow-delimiters
+- rcirc
+- regexp-builder (also known as `re-builder`)
+- rg (rg.el)
+- ripgrep
+- rmail
+- ruler-mode
+- sallet
+- selectrum
+- semantic
+- sesman
+- shell-script-mode
+- show-paren-mode
+- side-notes
+- skewer-mode
+- smart-mode-line
+- smartparens
+- smerge
+- spaceline
+- speedbar
+- spell-fu
+- stripes
+- suggest
+- switch-window
+- swiper
+- swoop
+- sx
+- symbol-overlay
+- syslog-mode
+- table (built-in table.el)
+- telephone-line
+- term
+- tomatinho
+- transient (pop-up windows such as Magit’s)
+- trashed
+- treemacs
+- tty-menu
+- tuareg
+- undo-tree
+- vc (built-in mode line status for version control)
+- vc-annotate (`C-x v g`)
+- vdiff
+- vimish-fold
+- visible-mark
+- visual-regexp
+- volatile-highlights
+- vterm
+- wcheck-mode
+- web-mode
+- wgrep
+- which-function-mode
+- which-key
+- whitespace-mode
+- window-divider-mode
+- winum
+- writegood-mode
+- woman
+- xah-elisp-mode
+- xref
+- xterm-color (and ansi-colors)
+- yaml-mode
+- yasnippet
+- ztree
+
+Plus many other miscellaneous faces that are provided by the upstream
+GNU Emacs distribution.
+
+
+<a id="h:2cb359c7-3a84-4262-bab3-dcdc1d0034d7"></a>
+
+## Covered indirectly
+
+These do not require any extra styles because they are configured to
+inherit from some basic faces. Please confirm.
+
+- edit-indirect
+- php-mode
+- swift-mode
+
+
+<a id="h:6c6e8d94-6782-47fc-9eef-ad78671e9eea"></a>
+
+## Will NOT be supported
+
+I have thus far identified a single package that does fit into the
+overarching objective of this project:
[solaire](https://github.com/hlissner/emacs-solaire-mode). It basically tries
to
+cast a less intense background on the main file-visiting buffers, so
+that secondary elements like sidebars can have the default (pure
+white/black) background.
+
+I will only cover this package if it ever supports the inverse effect:
+less intense colours (but still accessible) for supportive interfaces
+and the intended styles for the content you are actually working on.
+
+
+<a id="h:4c4d901a-84d7-4f20-bd99-0808c2b06eba"></a>
+
+# Notes for individual packages
+
+This section covers information that may be of interest to users of
+individual packages.
+
+
+<a id="h:9130a8ba-d8e3-41be-a58b-3cb1eb7b6d17"></a>
+
+## Note for powerline or spaceline
+
+Both Powerline and Spaceline package users will likely need to use the
+command `powerline-reset` whenever they make changes to their themes
+and/or modeline setup.
+
+
+<a id="h:4cc767dc-ffef-4c5c-9f10-82eb7b8921bf"></a>
+
+## Note on shr colours
+
+Emacs’ HTML rendering mechanism (`shr`) may need explicit configuration
to
+respect the theme’s colours instead of whatever specifications the
+webpage provides. Consult `C-h v shr-use-colors`.
+
+
+<a id="h:d28879a2-8e4b-4525-986e-14c0f873d229"></a>
+
+## Note for Helm grep
+
+There is one face from the Helm package that is meant to highlight the
+matches of a grep or grep-like command (`ag` or `ripgrep`). It is
+`helm-grep-match`. However, this face can only apply when the user does
+not pass `--color=always` as a command-line option for their command.
+
+Here is the docstring for that face, which is defined in the
+`helm-grep.el` library (view a library with `M-x find-library`).
+
+> Face used to highlight grep matches. Have no effect when grep backend
+> use “–color=”
+
+The user must either remove `--color` from the flags passed to the grep
+function, or explicitly use `--color=never` (or equivalent). Helm
+provides user-facing customisation options for controlling the grep
+function’s parameters, such as `helm-grep-default-command` and
+`helm-grep-git-grep-command`.
+
+When `--color=always` is in effect, the grep output will use red text in
+bold letter forms to present the matching part in the list of
+candidates. That style still meets the contrast ratio target of >= 7:1
+(accessibility standard WCAG AAA), because it draws the reference to
+ANSI colour number 1 (red) from the already-supported array of
+`ansi-color-names-vector`.
+
+
+<a id="h:5095cbd1-e17a-419c-93e8-951c186362a3"></a>
+
+## Note on vc-annotate-background-mode
+
+Due to the unique way `vc-annotate` (`C-x v g`) applies colours, support for
+its background mode (`vc-annotate-background-mode`) is disabled at the
+theme level.
+
+Normally, such a drastic measure should not belong in a theme: assuming
+the user’s preferences is bad practice. However, it has been deemed
+necessary in the interest of preserving colour contrast accessibility
+while still supporting a useful built-in tool.
+
+If there actually is a way to avoid such a course of action, without
+prejudice to the accessibility standard of this project, then please
+report as much or send patches (see
[Contributing](#h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1)).
+
+
+<a id="h:9c3cd842-14b7-44d7-84b2-a5c8bc3fc3b1"></a>
+
+# Contributing
+
+This section documents the canonical sources of the themes and the ways
+in which you can contribute to their ongoing development.
+
+
+<a id="h:89504f1c-c9a1-4bd9-ab39-78fd0eddb47c"></a>
+
+## Sources of the themes
+
+The `modus-operandi` and `modus-vivendi` themes are built into Emacs.
+Currently they are in the project’s `master` branch, which is tracking
the
+nominal development release target of `28.0.50`.
+
+The source code of the themes is [available on
Gitlab](https://gitlab.com/protesilaos/modus-themes/), for the time
+being. A [mirror on Github](https://github.com/protesilaos/modus-themes/) is
also on offer.
+
+An HTML version of this manual is available as an extension to the
+[author’s personal website](https://protesilaos.com/modus-themes/) (does
not rely on any non-free code).
+
+
+<a id="h:6536c8d5-3f98-43ab-a787-b94120e735e8"></a>
+
+## Issues you can help with
+
+A few tasks you can help with:
+
+- Suggest refinements to packages that are covered.
+- Report packages not covered thus far.
+- Report bugs, inconsistencies, shortcomings.
+- Help expand the documentation of covered-but-not-styled packages.
+- Suggest refinements to the colour palette.
+- Help expand this document or any other piece of documentation.
+- Merge requests for code refinements.
+
+[Patches require copyright assignment to the
FSF](#h:111773e2-f26f-4b68-8c4f-9794ca6b9633).
+
+It would be great if your feedback also includes some screenshots, GIFs,
+or short videos, as well as further instructions to reproduce a given
+setup. Though this is not a requirement.
+
+Whatever you do, bear in mind the overarching objective of the Modus
+themes: to keep a contrast ratio that is greater or equal to 7:1 between
+background and foreground colours. If a compromise is ever necessary
+between aesthetics and accessibility, it shall always be made in the
+interest of the latter.
+
+
+<a id="h:111773e2-f26f-4b68-8c4f-9794ca6b9633"></a>
+
+## Patches require copyright assignment to the FSF
+
+Code contributions are most welcome. For any major edit (more than 15
+lines, or so, in aggregate per person), you need to make a copyright
+assignment to the Free Software Foundation. This is necessary because
+the themes are part of the upstream Emacs distribution: the FSF must at
+all times be in a position to enforce the GNU General Public License.
+
+Copyright assignment is a simple process. Check the [request
form](https://git.savannah.gnu.org/cgit/gnulib.git/tree/doc/Copyright/request-assign.future).
You
+must write an email to the address mentioned in the form and then wait
+for the FSF to send you a legal agreement. Sign the document and file
+it back to them. This could all happen via email and take about a week.
+
+You are encouraged to go through this process. You only need to do it
+once. It will allow you to make contributions to Emacs in general.
+
+
+<a id="h:95c3da23-217f-404e-b5f3-56c75760ebcf"></a>
+
+# Acknowledgements
+
+The Modus themes are a collective effort. Every contribution counts.
+
+Author/maintainer:
+
+- Protesilaos Stavrou
+
+Code contributions:
+
+- Anders Johansson
+- Basil L. Contovounisios
+- Matthew Stevenson
+
+Ideas and user feedback:
+
+- Aaron Jensen
+- Adam Spiers
+- Alex Peitsinis
+- Alexey Shmalko
+- Anders Johansson
+- André Alexandre Gomes
+- Arif Rezai
+- Basil L. Contovounisios
+- Damien Cassou
+- David Edmondson
+- Davor Rotim
+- Divan Santana
+- Gerry Agbobada
+- Gianluca Recchia
+- Len Trigg
+- Manuel Uberti
+- Mark Burton
+- Michael Goldenberg
+- Murilo Pereira
+- Nicolas De Jaeghere
+- Pierre Téchoueyres
+- Ryan Phillips
+- Shreyas Ragavan
+- Thibaut Verron
+- Trey Merkley
+- Uri Sharf
+- User “Ben”
+- User “Fourchaux”
+- User “Fredrik”
+- User “Moesasji”
+- User “TheBlob42”
+- User “dinko”
+- User “doolio”
+- User “okamsn”
+- User “tycho garen”
+- Vincent Foley
+
+Packaging:
+
+- Dhavan Vaidya (Debian)
+- Stefan Kangas (core Emacs)
+- Stefan Monnier (GNU Elpa)
+
+Inspiration for certain features:
+
+- Fabrice Niessen (leuven-theme)
+- Bozhidar Batsov (zenburn-theme)
+
+
+<a id="h:13752581-4378-478c-af17-165b6e76bc1b"></a>
+
+# Meta
+
+If you are curious about the principles that govern the development of
+this project read the essay [On the design of the Modus
themes](https://protesilaos.com/codelog/2020-03-17-design-modus-themes-emacs/)
+(2020-03-17).
+
+Here are some more publications for those interested in the kind of work
+that goes into this project:
+
+- [Modus Operandi theme subtle palette
review](https://protesilaos.com/codelog/2020-05-10-modus-operandi-palette-review/)
(2020-05-10)
+- [Modus Vivendi theme subtle palette
review](https://protesilaos.com/codelog/2020-06-13-modus-vivendi-palette-review/)
(2020-06-13)
+- [Modus themes: new “faint syntax”
option](https://protesilaos.com/codelog/2020-07-04-modus-themes-faint-colours/)
(2020-07-04)
+- [Modus themes: major review of “nuanced”
colours](https://protesilaos.com/codelog/2020-07-08-modus-themes-nuanced-colours/)
(2020-07-08)
+
+
+<a id="h:21adb7c8-2208-41e8-803c-052e42e2c05d"></a>
+
+# External projects (ports)
+
+The present section documents projects that extend the scope of the
+Modus themes. The following list will be updated whenever relevant
+information is brought to my attention. If you already have or intend
+to produce such a port, feel welcome [to contact
me](https://protesilaos.com/contact).
+
+- **Modus exporter:** This is [an Elisp library written by Simon
Pugnet](https://github.com/polaris64/modus-exporter).
+ Licensed under the terms of the GNU General Public License. It is
+ meant to capture the colour values of the active Modus theme (Operandi
+ or Vivendi) and output it as a valid theme for some other application.
+
+
+<a id="h:3077c3d2-7f90-4228-8f0a-73124f4026f6"></a>
+
+# GNU Free Documentation License
+
+ GNU Free Documentation License
+ Version 1.3, 3 November 2008
+
+
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+ <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ 0. PREAMBLE
+
+ The purpose of this License is to make a manual, textbook, or other
+ functional and useful document "free" in the sense of freedom: to
+ assure everyone the effective freedom to copy and redistribute it,
+ with or without modifying it, either commercially or noncommercially.
+ Secondarily, this License preserves for the author and publisher a way
+ to get credit for their work, while not being considered responsible
+ for modifications made by others.
+
+ This License is a kind of "copyleft", which means that derivative
+ works of the document must themselves be free in the same sense. It
+ complements the GNU General Public License, which is a copyleft
+ license designed for free software.
+
+ We have designed this License in order to use it for manuals for free
+ software, because free software needs free documentation: a free
+ program should come with manuals providing the same freedoms that the
+ software does. But this License is not limited to software manuals;
+ it can be used for any textual work, regardless of subject matter or
+ whether it is published as a printed book. We recommend this License
+ principally for works whose purpose is instruction or reference.
+
+
+ 1. APPLICABILITY AND DEFINITIONS
+
+ This License applies to any manual or other work, in any medium, that
+ contains a notice placed by the copyright holder saying it can be
+ distributed under the terms of this License. Such a notice grants a
+ world-wide, royalty-free license, unlimited in duration, to use that
+ work under the conditions stated herein. The "Document", below,
+ refers to any such manual or work. Any member of the public is a
+ licensee, and is addressed as "you". You accept the license if you
+ copy, modify or distribute the work in a way requiring permission
+ under copyright law.
+
+ A "Modified Version" of the Document means any work containing the
+ Document or a portion of it, either copied verbatim, or with
+ modifications and/or translated into another language.
+
+ A "Secondary Section" is a named appendix or a front-matter section of
+ the Document that deals exclusively with the relationship of the
+ publishers or authors of the Document to the Document's overall
+ subject (or to related matters) and contains nothing that could fall
+ directly within that overall subject. (Thus, if the Document is in
+ part a textbook of mathematics, a Secondary Section may not explain
+ any mathematics.) The relationship could be a matter of historical
+ connection with the subject or with related matters, or of legal,
+ commercial, philosophical, ethical or political position regarding
+ them.
+
+ The "Invariant Sections" are certain Secondary Sections whose titles
+ are designated, as being those of Invariant Sections, in the notice
+ that says that the Document is released under this License. If a
+ section does not fit the above definition of Secondary then it is not
+ allowed to be designated as Invariant. The Document may contain zero
+ Invariant Sections. If the Document does not identify any Invariant
+ Sections then there are none.
+
+ The "Cover Texts" are certain short passages of text that are listed,
+ as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+ the Document is released under this License. A Front-Cover Text may
+ be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+ A "Transparent" copy of the Document means a machine-readable copy,
+ represented in a format whose specification is available to the
+ general public, that is suitable for revising the document
+ straightforwardly with generic text editors or (for images composed of
+ pixels) generic paint programs or (for drawings) some widely available
+ drawing editor, and that is suitable for input to text formatters or
+ for automatic translation to a variety of formats suitable for input
+ to text formatters. A copy made in an otherwise Transparent file
+ format whose markup, or absence of markup, has been arranged to thwart
+ or discourage subsequent modification by readers is not Transparent.
+ An image format is not Transparent if used for any substantial amount
+ of text. A copy that is not "Transparent" is called "Opaque".
+
+ Examples of suitable formats for Transparent copies include plain
+ ASCII without markup, Texinfo input format, LaTeX input format, SGML
+ or XML using a publicly available DTD, and standard-conforming simple
+ HTML, PostScript or PDF designed for human modification. Examples of
+ transparent image formats include PNG, XCF and JPG. Opaque formats
+ include proprietary formats that can be read and edited only by
+ proprietary word processors, SGML or XML for which the DTD and/or
+ processing tools are not generally available, and the
+ machine-generated HTML, PostScript or PDF produced by some word
+ processors for output purposes only.
+
+ The "Title Page" means, for a printed book, the title page itself,
+ plus such following pages as are needed to hold, legibly, the material
+ this License requires to appear in the title page. For works in
+ formats which do not have any title page as such, "Title Page" means
+ the text near the most prominent appearance of the work's title,
+ preceding the beginning of the body of the text.
+
+ The "publisher" means any person or entity that distributes copies of
+ the Document to the public.
+
+ A section "Entitled XYZ" means a named subunit of the Document whose
+ title either is precisely XYZ or contains XYZ in parentheses following
+ text that translates XYZ in another language. (Here XYZ stands for a
+ specific section name mentioned below, such as "Acknowledgements",
+ "Dedications", "Endorsements", or "History".) To "Preserve the Title"
+ of such a section when you modify the Document means that it remains a
+ section "Entitled XYZ" according to this definition.
+
+ The Document may include Warranty Disclaimers next to the notice which
+ states that this License applies to the Document. These Warranty
+ Disclaimers are considered to be included by reference in this
+ License, but only as regards disclaiming warranties: any other
+ implication that these Warranty Disclaimers may have is void and has
+ no effect on the meaning of this License.
+
+ 2. VERBATIM COPYING
+
+ You may copy and distribute the Document in any medium, either
+ commercially or noncommercially, provided that this License, the
+ copyright notices, and the license notice saying this License applies
+ to the Document are reproduced in all copies, and that you add no
+ other conditions whatsoever to those of this License. You may not use
+ technical measures to obstruct or control the reading or further
+ copying of the copies you make or distribute. However, you may accept
+ compensation in exchange for copies. If you distribute a large enough
+ number of copies you must also follow the conditions in section 3.
+
+ You may also lend copies, under the same conditions stated above, and
+ you may publicly display copies.
+
+
+ 3. COPYING IN QUANTITY
+
+ If you publish printed copies (or copies in media that commonly have
+ printed covers) of the Document, numbering more than 100, and the
+ Document's license notice requires Cover Texts, you must enclose the
+ copies in covers that carry, clearly and legibly, all these Cover
+ Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+ the back cover. Both covers must also clearly and legibly identify
+ you as the publisher of these copies. The front cover must present
+ the full title with all words of the title equally prominent and
+ visible. You may add other material on the covers in addition.
+ Copying with changes limited to the covers, as long as they preserve
+ the title of the Document and satisfy these conditions, can be treated
+ as verbatim copying in other respects.
+
+ If the required texts for either cover are too voluminous to fit
+ legibly, you should put the first ones listed (as many as fit
+ reasonably) on the actual cover, and continue the rest onto adjacent
+ pages.
+
+ If you publish or distribute Opaque copies of the Document numbering
+ more than 100, you must either include a machine-readable Transparent
+ copy along with each Opaque copy, or state in or with each Opaque copy
+ a computer-network location from which the general network-using
+ public has access to download using public-standard network protocols
+ a complete Transparent copy of the Document, free of added material.
+ If you use the latter option, you must take reasonably prudent steps,
+ when you begin distribution of Opaque copies in quantity, to ensure
+ that this Transparent copy will remain thus accessible at the stated
+ location until at least one year after the last time you distribute an
+ Opaque copy (directly or through your agents or retailers) of that
+ edition to the public.
+
+ It is requested, but not required, that you contact the authors of the
+ Document well before redistributing any large number of copies, to
+ give them a chance to provide you with an updated version of the
+ Document.
+
+
+ 4. MODIFICATIONS
+
+ You may copy and distribute a Modified Version of the Document under
+ the conditions of sections 2 and 3 above, provided that you release
+ the Modified Version under precisely this License, with the Modified
+ Version filling the role of the Document, thus licensing distribution
+ and modification of the Modified Version to whoever possesses a copy
+ of it. In addition, you must do these things in the Modified Version:
+
+ A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+ B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+ C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+ D. Preserve all the copyright notices of the Document.
+ E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+ F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+ G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+ H. Include an unaltered copy of this License.
+ I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+ J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+ K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+ L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+ M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+ N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+ O. Preserve any Warranty Disclaimers.
+
+ If the Modified Version includes new front-matter sections or
+ appendices that qualify as Secondary Sections and contain no material
+ copied from the Document, you may at your option designate some or all
+ of these sections as invariant. To do this, add their titles to the
+ list of Invariant Sections in the Modified Version's license notice.
+ These titles must be distinct from any other section titles.
+
+ You may add a section Entitled "Endorsements", provided it contains
+ nothing but endorsements of your Modified Version by various
+ parties--for example, statements of peer review or that the text has
+ been approved by an organization as the authoritative definition of a
+ standard.
+
+ You may add a passage of up to five words as a Front-Cover Text, and a
+ passage of up to 25 words as a Back-Cover Text, to the end of the list
+ of Cover Texts in the Modified Version. Only one passage of
+ Front-Cover Text and one of Back-Cover Text may be added by (or
+ through arrangements made by) any one entity. If the Document already
+ includes a cover text for the same cover, previously added by you or
+ by arrangement made by the same entity you are acting on behalf of,
+ you may not add another; but you may replace the old one, on explicit
+ permission from the previous publisher that added the old one.
+
+ The author(s) and publisher(s) of the Document do not by this License
+ give permission to use their names for publicity for or to assert or
+ imply endorsement of any Modified Version.
+
+
+ 5. COMBINING DOCUMENTS
+
+ You may combine the Document with other documents released under this
+ License, under the terms defined in section 4 above for modified
+ versions, provided that you include in the combination all of the
+ Invariant Sections of all of the original documents, unmodified, and
+ list them all as Invariant Sections of your combined work in its
+ license notice, and that you preserve all their Warranty Disclaimers.
+
+ The combined work need only contain one copy of this License, and
+ multiple identical Invariant Sections may be replaced with a single
+ copy. If there are multiple Invariant Sections with the same name but
+ different contents, make the title of each such section unique by
+ adding at the end of it, in parentheses, the name of the original
+ author or publisher of that section if known, or else a unique number.
+ Make the same adjustment to the section titles in the list of
+ Invariant Sections in the license notice of the combined work.
+
+ In the combination, you must combine any sections Entitled "History"
+ in the various original documents, forming one section Entitled
+ "History"; likewise combine any sections Entitled "Acknowledgements",
+ and any sections Entitled "Dedications". You must delete all sections
+ Entitled "Endorsements".
+
+
+ 6. COLLECTIONS OF DOCUMENTS
+
+ You may make a collection consisting of the Document and other
+ documents released under this License, and replace the individual
+ copies of this License in the various documents with a single copy
+ that is included in the collection, provided that you follow the rules
+ of this License for verbatim copying of each of the documents in all
+ other respects.
+
+ You may extract a single document from such a collection, and
+ distribute it individually under this License, provided you insert a
+ copy of this License into the extracted document, and follow this
+ License in all other respects regarding verbatim copying of that
+ document.
+
+
+ 7. AGGREGATION WITH INDEPENDENT WORKS
+
+ A compilation of the Document or its derivatives with other separate
+ and independent documents or works, in or on a volume of a storage or
+ distribution medium, is called an "aggregate" if the copyright
+ resulting from the compilation is not used to limit the legal rights
+ of the compilation's users beyond what the individual works permit.
+ When the Document is included in an aggregate, this License does not
+ apply to the other works in the aggregate which are not themselves
+ derivative works of the Document.
+
+ If the Cover Text requirement of section 3 is applicable to these
+ copies of the Document, then if the Document is less than one half of
+ the entire aggregate, the Document's Cover Texts may be placed on
+ covers that bracket the Document within the aggregate, or the
+ electronic equivalent of covers if the Document is in electronic form.
+ Otherwise they must appear on printed covers that bracket the whole
+ aggregate.
+
+
+ 8. TRANSLATION
+
+ Translation is considered a kind of modification, so you may
+ distribute translations of the Document under the terms of section 4.
+ Replacing Invariant Sections with translations requires special
+ permission from their copyright holders, but you may include
+ translations of some or all Invariant Sections in addition to the
+ original versions of these Invariant Sections. You may include a
+ translation of this License, and all the license notices in the
+ Document, and any Warranty Disclaimers, provided that you also include
+ the original English version of this License and the original versions
+ of those notices and disclaimers. In case of a disagreement between
+ the translation and the original version of this License or a notice
+ or disclaimer, the original version will prevail.
+
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to Preserve
+ its Title (section 1) will typically require changing the actual
+ title.
+
+
+ 9. TERMINATION
+
+ You may not copy, modify, sublicense, or distribute the Document
+ except as expressly provided under this License. Any attempt
+ otherwise to copy, modify, sublicense, or distribute it is void, and
+ will automatically terminate your rights under this License.
+
+ However, if you cease all violation of this License, then your license
+ from a particular copyright holder is reinstated (a) provisionally,
+ unless and until the copyright holder explicitly and finally
+ terminates your license, and (b) permanently, if the copyright holder
+ fails to notify you of the violation by some reasonable means prior to
+ 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+ reinstated permanently if the copyright holder notifies you of the
+ violation by some reasonable means, this is the first time you have
+ received notice of violation of this License (for any work) from that
+ copyright holder, and you cure the violation prior to 30 days after
+ your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+ licenses of parties who have received copies or rights from you under
+ this License. If your rights have been terminated and not permanently
+ reinstated, receipt of a copy of some or all of the same material does
+ not give you any rights to use it.
+
+
+ 10. FUTURE REVISIONS OF THIS LICENSE
+
+ The Free Software Foundation may publish new, revised versions of the
+ GNU Free Documentation License from time to time. Such new versions
+ will be similar in spirit to the present version, but may differ in
+ detail to address new problems or concerns. See
+ https://www.gnu.org/licenses/.
+
+ Each version of the License is given a distinguishing version number.
+ If the Document specifies that a particular numbered version of this
+ License "or any later version" applies to it, you have the option of
+ following the terms and conditions either of that specified version or
+ of any later version that has been published (not as a draft) by the
+ Free Software Foundation. If the Document does not specify a version
+ number of this License, you may choose any version ever published (not
+ as a draft) by the Free Software Foundation. If the Document
+ specifies that a proxy can decide which future versions of this
+ License can be used, that proxy's public statement of acceptance of a
+ version permanently authorizes you to choose that version for the
+ Document.
+
+ 11. RELICENSING
+
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+ World Wide Web server that publishes copyrightable works and also
+ provides prominent facilities for anybody to edit those works. A
+ public wiki that anybody can edit is an example of such a server. A
+ "Massive Multiauthor Collaboration" (or "MMC") contained in the site
+ means any set of copyrightable works thus published on the MMC site.
+
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+ license published by Creative Commons Corporation, a not-for-profit
+ corporation with a principal place of business in San Francisco,
+ California, as well as future copyleft versions of that license
+ published by that same organization.
+
+ "Incorporate" means to publish or republish a Document, in whole or in
+ part, as part of another Document.
+
+ An MMC is "eligible for relicensing" if it is licensed under this
+ License, and if all works that were first published under this License
+ somewhere other than this MMC, and subsequently incorporated in whole or
+ in part into the MMC, (1) had no cover texts or invariant sections, and
+ (2) were thus incorporated prior to November 1, 2008.
+
+ The operator of an MMC Site may republish an MMC contained in the site
+ under CC-BY-SA on the same site at any time before August 1, 2009,
+ provided the MMC is eligible for relicensing.
+
+
+ ADDENDUM: How to use this License for your documents
+
+ To use this License in a document you have written, include a copy of
+ the License in the document and put the following copyright and
+ license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+ replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+ If you have Invariant Sections without Cover Texts, or some other
+ combination of the three, merge those two alternatives to suit the
+ situation.
+
+ If your document contains nontrivial examples of program code, we
+ recommend releasing these examples in parallel under your choice of
+ free software license, such as the GNU General Public License,
+ to permit their use in free software.
+
+
+# Footnotes
+
+<sup><a id="fn.1" href="#fnr.1">1</a></sup> Contributed on Reddit by user b3n
+<https://www.reddit.com/r/emacs/comments/gdtqov/weekly_tipstricketc_thread/fq9186h/>.
+
+<sup><a id="fn.2" href="#fnr.2">2</a></sup> Contributed directly by André
Alexandre Gomes <https://gitlab.com/aadcg>.
+
+<sup><a id="fn.3" href="#fnr.3">3</a></sup> The `defmacro` and `dolist`
+method was contributed on Reddit by user b3n
+<https://www.reddit.com/r/emacs/comments/gqsz8u/weekly_tipstricketc_thread/fsfakhg/>.
- [elpa] externals/modus-operandi-theme d0c92e1 005/153: Refine section for advanced, DIY customisations, (continued)
- [elpa] externals/modus-operandi-theme d0c92e1 005/153: Refine section for advanced, DIY customisations, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 29c21b4 008/153: Clarify optional prefix arg for demo theme toggle, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme c0a86dd 017/153: Use correct references in GPL, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 40bb497 007/153: Let objed-hl use new colours from commit 39be2c3d3, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 2928af0 051/153: Fix broken footnote in 4d594f0ca, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 9f9160f 042/153: Miscellaneous Org tweaks for consistency, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 2968c4a 002/153: The themes are now part of upstream GNU Emacs, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 53606c6 011/153: Remove support for obsolete objed-extend face, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 9fed8eb 033/153: Update the manual's example to include new option, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme d9fa0ff 021/153: Add missing metadata to info manual, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme e596487 025/153: Add README in markdown format,
Stefan Monnier <=
- [elpa] externals/modus-operandi-theme 619e48b 045/153: Tweak custom fonts section in the manual, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 113ab25 032/153: Simplify style of org-special-keyword, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 00f8a28 044/153: Update README to note that the manual is available, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 72c0714 038/153: Add support for eshell-syntax-highlighting, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 0633c2a 047/153: Recompile manual (cover 619e48bbc and decf274f4), Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme d09be79 030/153: Expand docstring of new headings' alist option, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme d5b6321 028/153: Initial implementation of reviewed headings option, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 7789ae9 004/153: Clarify the version numbers that ship with Emacs, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 95ac8b4 020/153: Re-organise new doc files, Stefan Monnier, 2021/03/18
- [elpa] externals/modus-operandi-theme 49872b0 031/153: Expand manual with new heading styles alist option, Stefan Monnier, 2021/03/18