212 lines
7.2 KiB
Plaintext
212 lines
7.2 KiB
Plaintext
|
||
|
||
<p>I just published version <code>0.8.0</code> of the Modus themes. These are my
|
||
highly-accessible themes for GNU Emacs. They conform with the WCAG AAA
|
||
standard for colour contrast accessibility (a minimum contrast ratio of
|
||
7:1 between the foreground and background values). You can find the
|
||
packages on ELPA, MELPA, MELPA stable:</p>
|
||
|
||
<ul>
|
||
<li><code>modus-operandi-theme</code> (light)</li>
|
||
<li><code>modus-vivendi-theme</code> (dark)</li>
|
||
</ul>
|
||
|
||
<p>Below are the release notes copied verbatim.</p>
|
||
|
||
<hr />
|
||
|
||
<h2>Modus Operandi and Modus Vivendi version 0.8.0</h2>
|
||
|
||
<p>By Protesilaos Stavrou <a href="mailto:info@protesilaos.com">info@protesilaos.com</a> on 2020-04-28</p>
|
||
|
||
<p>This entry records the changes since version 0.7.0 (2020-03-30). The
|
||
present release contains a little more than a hundred commits, covering
|
||
one month of intense work.</p>
|
||
|
||
<p>All changes are aligned with the primary objective of this project,
|
||
which is conformance with the WCAG AAA accessibility standard for colour
|
||
contrast. This translates to a minimum contrast ratio of 7:1 between a
|
||
given combination of foreground and background colours.</p>
|
||
|
||
<p>All customisation options mentioned herein are off (<code>nil</code>) by default.
|
||
The project’s policy is to offer such features on an “opt-in” basis,
|
||
while always respecting the principle of least surprise.</p>
|
||
|
||
<p>Refer to the README for further information.</p>
|
||
|
||
<h2>Four new customisation options</h2>
|
||
|
||
<p>The options in outline, with their detailed description below:</p>
|
||
|
||
<ul>
|
||
<li>Rainbow headings</li>
|
||
<li>Section headings</li>
|
||
<li>3D modeline</li>
|
||
<li>Subtle diffs</li>
|
||
</ul>
|
||
|
||
<ol>
|
||
<li>
|
||
<p>“Rainbow headings” will apply more vivid colours to headings in
|
||
<code>org-mode</code> and <code>outline-mode</code>. The gradation is similar to that of a
|
||
rainbow’s colour spectrum.</p>
|
||
|
||
<p>The default is to use colour values that are closer to the grey
|
||
scale.</p>
|
||
</li>
|
||
<li>
|
||
<p>“Section headings” also apply to <code>org-mode</code> and <code>outline-mode</code>. They
|
||
will draw an overline over each heading and use a nuanced background
|
||
colour that is appropriate for each level. For Org, this option has
|
||
some additional effects, where it will render keywords and priority
|
||
cookies in a box and add to them a subtle background. This is to
|
||
make sure that everything feels consistent (to the extent possible).</p>
|
||
|
||
<p>The default is to not use overlines, backgrounds, boxes in any of the
|
||
relevant faces. This is consistent with the standard austere
|
||
colouration of headings: to not deviate too much from a “plain text”
|
||
aesthetic.</p>
|
||
</li>
|
||
</ol>
|
||
|
||
<p>NOTE: “rainbow headings” and “section headings” can work on their own or
|
||
be combined together.</p>
|
||
|
||
<ol>
|
||
<li>
|
||
<p>“3D modeline” will use a faux unpressed button style for the current
|
||
window’s modeline (like the standard looks of <code>emacs -Q</code>). The
|
||
colours used for the active and inactive modelines are tweaked
|
||
accordingly to maximise the effect while retaining the visual
|
||
distinction between them.</p>
|
||
|
||
<p>The default is to draw the modelines in a two-dimensional style, with
|
||
the active one having a more noticeable border around it.</p>
|
||
</li>
|
||
<li>
|
||
<p>“Subtle diffs” will use colour-coded text for line-wise differences
|
||
without applying any appropriately-coded background value or, where
|
||
necessary, by using only a subtle greyscale background. This affects
|
||
<code>diff-mode</code>, <code>magit</code>, <code>ediff</code>, and <code>smerge-mode</code>. For Magit an extra
|
||
set of tweaks is implemented to account for the differentiation
|
||
between the focused and unfocused diff hunks.</p>
|
||
|
||
<p>Due to their unique requirements, word-wise or refined changes are
|
||
always drawn with a colour-coded background, though it is less
|
||
intense when this option is enabled.</p>
|
||
|
||
<p>The default is to use a colour-coded background and foreground
|
||
combination (e.g. light green text on a dark green backdrop) and to
|
||
make appropriate adjustments for refined diffs and modes of
|
||
interaction such as Magit’s focused/unfocused diff states.</p>
|
||
</li>
|
||
</ol>
|
||
|
||
<h2>Other major refinements</h2>
|
||
|
||
<ul>
|
||
<li>
|
||
<p>Thoroughly revise the colours of <code>ediff</code> and <code>smerge-mode</code>, so that
|
||
they are aligned with those of <code>diff-mode</code> and <code>magit</code>. This is in
|
||
addition to the “subtle diffs” options mentioned in the previous
|
||
section.</p>
|
||
</li>
|
||
<li>
|
||
<p>Review the faces used by Flycheck and Flymake. A wavy/curly underline
|
||
is now used in all terminals that support it. The underlined text is
|
||
drawn with a more nuanced foreground than before. The previous design
|
||
was exaggerating an already clear effect and could make things more
|
||
difficult under certain circumstances.</p>
|
||
</li>
|
||
<li>
|
||
<p>All language checkers, including the aforementioned linter front-ends,
|
||
now benefit from a new set of colours that are designed specifically
|
||
for this particular purpose. Makes the affected faces feel more
|
||
different than their context.</p>
|
||
</li>
|
||
<li>
|
||
<p>Use dedicated colours for escape sequences, regular expression
|
||
constructs, and quoted characters. The goal is to better
|
||
differentiate them from their surroundings.</p>
|
||
</li>
|
||
<li>
|
||
<p>Tweak the colours of <code>hydra</code> to improve the distinction between its
|
||
various types of behaviour.</p>
|
||
</li>
|
||
<li>
|
||
<p>Reduce the overall luminance of the background colours used in the
|
||
fringes by the likes of <code>flycheck</code>, <code>flymake</code>, <code>diff-hl</code>, etc. They
|
||
should now not stand out more than they should, while retaining their
|
||
intended role.</p>
|
||
</li>
|
||
<li>
|
||
<p>Implement more saturated colours in Elfeed. The previous choices
|
||
could make it harder to differentiate the various parts of the
|
||
presentation.</p>
|
||
</li>
|
||
<li>
|
||
<p>Make better use of the customisation options for bold and slanted
|
||
constructs where that is allowed. If a face is not tied to the
|
||
semantics of these styles then it is drawn without them, unless the
|
||
user specifically opts for the relevant customisation options.</p>
|
||
</li>
|
||
</ul>
|
||
|
||
<h2>Added support for packages (A-Z)</h2>
|
||
|
||
<ul>
|
||
<li>ag</li>
|
||
<li>color-rg</li>
|
||
<li>ctrlf</li>
|
||
<li>debbugs</li>
|
||
<li>eglot</li>
|
||
<li>forge</li>
|
||
<li>helpful</li>
|
||
<li>highlight-symbol</li>
|
||
<li>ibuffer</li>
|
||
<li>icomplete</li>
|
||
<li>iflipb</li>
|
||
<li>magit-imerge</li>
|
||
<li>man</li>
|
||
<li>orderless</li>
|
||
<li>page-break-lines</li>
|
||
<li>parrot</li>
|
||
<li>phi-grep</li>
|
||
<li>phi-search</li>
|
||
<li>pomidor</li>
|
||
<li>rcirc</li>
|
||
<li>spell-fu</li>
|
||
<li>switch-window</li>
|
||
<li>swoop</li>
|
||
<li>tab-bar-mode</li>
|
||
<li>tab-line-mode</li>
|
||
<li>trashed</li>
|
||
<li>tomatinho</li>
|
||
<li>tuareg</li>
|
||
<li>vimish-fold</li>
|
||
<li>visible-mark</li>
|
||
<li>vterm</li>
|
||
<li>wcheck-mode</li>
|
||
<li>winum</li>
|
||
<li>woman</li>
|
||
</ul>
|
||
|
||
<h2>Miscellaneous changes and concluding remarks</h2>
|
||
|
||
<ul>
|
||
<li>
|
||
<p>Rewrote large parts of the README to make the customisation options
|
||
easier to discover and understand.</p>
|
||
</li>
|
||
<li>
|
||
<p>Updated the screen shots and their description in the relevant Wiki
|
||
page: https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots</p>
|
||
</li>
|
||
</ul>
|
||
|
||
<hr />
|
||
|
||
<p>For more information, check the <a href="https://gitlab.com/protesilaos/modus-themes">git repository of the
|
||
modus-themes</a>.</p>
|
||
|
||
|