emacs/var/elfeed/db/data/47/473363a5e63c231c9e98bb3a5696e3673cd466b2
2022-01-03 12:49:32 -06:00

277 lines
10 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>I just published version <code>0.7.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.7.0</h2>
<p>By Protesilaos Stavrou <a href="mailto:info@protesilaos.com">info@protesilaos.com</a> on 2020-03-30</p>
<p>This entry documents the changes since version 0.6.0 (2020-03-01). The
present release is the largest to date containing 110 commits.</p>
<p>All changes conform with the primary objective of this project, which is
conformance with the WCAG AAA accessibility standard for colour
contrast. This represents 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 projects policy is to offer such features on an “opt-in” basis.
Refer to the README or each themes source code for the names of these
user-facing symbols.</p>
<h2>Major refinements to existing face groups</h2>
<ul>
<li>
<p>The headline feature of this release is a refined set of colours for
visualising version-control-system differences (“diffs”). The new
colours are less intense than before and are designed to better convey
the meaning of the constructs they apply to. Affected face groups are
those of <code>magit</code> and <code>diff-mode</code>. A future release will assess how
similar packages, such as <code>ediff</code>, can benefit from this work.</p>
</li>
<li>
<p>The other major set of changes concerns the colours that apply to
fringes (see <code>fringe-mode</code>). A new customisation option allows for a
distinct background for the fringes (courtesy of Anders Johansson in
commit 80fb704). The default uses the same colours as the main
buffers background. Building on this effort, fringe indicators, such
as those of <code>flycheck</code> now benefit from an entirely new set of
background+foreground colour combinations that are designed
specifically for the fringes.</p>
</li>
<li>
<p>A new customisation option allows users to render <code>org-mode</code> source
blocks in a distinct background colour. The default is to use the
same background as the rest of the buffer. When this option is
enabled, the background colour for the beginning and end line of such
blocks is extended to the end of the window (using the <code>:extend t</code>
attribute for &gt;= Emacs 27). Older Emacs versions already extend to
the end of the window.</p>
</li>
<li>
<p>The colour combination that shows the matching parentheses or
delimiters has been reviewed. The commit is fairly small and the
changes are immediately noticeable only to the most discerning of
eyes. Still, the considerations informing the review imposed a
rigorous method. Rather than summarise the findings, interested
readers are advised to refer to commit af3a327: it offers a
comprehensive analysis on the matter.</p>
</li>
</ul>
<h2>Added support for packages (A-Z)</h2>
<ul>
<li>auctex/tex</li>
<li>bm</li>
<li>buffer-expose</li>
<li>centaur-tabs</li>
<li>cider (tentative, feedback is much appreciated)</li>
<li>csv-mode</li>
<li>dynamic-ruler</li>
<li>ebdb</li>
<li>elfeed-score</li>
<li>flyspell-correct</li>
<li>fold-this</li>
<li>freeze-it</li>
<li>frog-menu</li>
<li>git-walktree</li>
<li>helm-switch-shell</li>
<li>highlight-defined</li>
<li>highlight-escape-sequences (hes-mode)</li>
<li>highlight-numbers</li>
<li>highlight-thing</li>
<li>hl-todo</li>
<li>ioccur</li>
<li>julia</li>
<li>kaocha-runner</li>
<li>markup-faces (adoc-mode)</li>
<li>multiple-cursors</li>
<li>num3-mode</li>
<li>org-roam</li>
<li>org-superstar</li>
<li>org-treescope</li>
<li>outline-minor-mode</li>
<li>paradox</li>
<li>rainbow-identifiers</li>
<li>rg</li>
<li>ripgrep</li>
<li>sallet (tentative, feedback is much appreciated)</li>
<li>selectrum</li>
<li>sesman</li>
<li>side-notes</li>
<li>skewer-mode</li>
<li>stripes</li>
<li>symbol-overlay</li>
<li>syslog-mode</li>
<li>vc-annotate (C-x v g)</li>
<li>volatile-highlights</li>
<li>web-mode</li>
<li>yaml-mode</li>
</ul>
<h3>Note about VC-annotate</h3>
<p>Quoting from the relevant note in the projects README:</p>
<pre><code>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 contribute as per the information in the
Contributing section).
</code></pre>
<h2>Overview of refinements to already supported packages</h2>
<p>In this section the notion of “dedicated colours” pertains to colour
values that are reserved for special faces. They are never used for
syntax highlighting or other common scenaria.</p>
<ul>
<li>
<p>Define new background colours for fringe indicators (as noted in the
first section). Apply them to <code>bm</code>, <code>diff-hl</code>, <code>git-gutter</code>,
<code>flycheck</code> fringe indicators. All such indicators are now made more
visible and work better with the new customisation option for
rendering the fringes in a distinct background.</p>
</li>
<li>
<p>Define dedicated colours for tab-like interfaces. Currently these
apply only to <code>centaur-tabs</code>. The intention is to eventually
implement them to the tab modes that ship with Emacs 27, as well as
any other package that offers such functionality.</p>
</li>
<li>
<p>Define dedicated colours for actions that “mark” items. Use them in
<code>dired</code>, <code>proced</code>, <code>gnus</code>. An accented background is combined with an
accented foreground. The intention is to make the underlying
construct distinct even under circumstances where the marks
background changes, such as when it intersects with <code>hl-line-mode</code> or
<code>stripes</code>: the accented foreground will still be recognisable as a
colour that differs from the main foreground. The use of a bold font
weight further reinforces the intended action.</p>
</li>
<li>
<p>Refine <code>dired</code> faces to account for the new “mark” styles.
Directories are no longer rendered in a bold weight.</p>
</li>
<li>
<p>Tweak the colours used in the built-in <code>diary</code> and <code>calendar</code> for
better usability.</p>
</li>
<li>
<p>Tweak <code>deadgrep</code> colours for consistency with packages that offer
similar functionality.</p>
</li>
<li>
<p>Tweak <code>compilation-line-number</code> in the interest of consistency with
similar interfaces.</p>
</li>
<li>
<p>Use a more appropriate colour for <code>trailing-whitespace</code>. It now is a
colour value that was designed specifically as a background.</p>
</li>
<li>
<p>Expand <code>fountain-mode</code> support by covering its new heading faces. The
headings will be presented in larger font sizes, or using proportional
fonts, should the user enable the relevant theme customisation options
(see README or source code).</p>
</li>
<li>
<p>Remove bold weight from matching parentheses in <code>show-paren-mode</code> and
<code>smartparens</code>. The temporarily applied bold weight can cause
misalignments while using certain fonts. Also apply the new colours
for matching delimiters, as documented in the first section.</p>
</li>
<li>
<p>Refine <code>outline-mode</code> colours to be consistent with those of Orgs
headings.</p>
</li>
<li>
<p>Several usability and colour refinements for <code>helm</code> and related
packages in that milieu.</p>
</li>
<li>
<p>Remove box property from emphasis markers in the mode line. It
created inconsistencies with other faces.</p>
</li>
<li>
<p>Refine the colours used in Magit logs, <code>change-log</code>, <code>log-view</code>. They
are meant to be more distinct from their context, without drawing too
much attention to themselves.</p>
</li>
<li>
<p>Minor internal fixes for indentation and the like.</p>
</li>
</ul>
<h2>Miscellaneous changes and concluding remarks</h2>
<ul>
<li>
<p>Add section in the README which documents a legal requirement for all
potential non-trivial code contributions: the need to assign copyright
to the Free Software Foundation. The Modus Themes are now distributed
via the official GNU ELPA repository and copyright over them is
assigned to the FSF.</p>
</li>
<li>
<p>Add CHANGELOG file which consolidates all tagged release notes such as
this one.</p>
</li>
<li>
<p>Add new screen shots to the relevant Wiki page, together with detailed
descriptions on what is being demonstrated:
https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots</p>
</li>
</ul>
<p>Special thanks to Manuel Uberti for reporting several issues and
offering feedback where appropriate. I was able to add support for lots
of new packages. While a few among the already supported face groups
underwent tweaks and refinements. The <code>helm</code> ecosystem benefited the
most.</p>
<p>Thanks to Anders Johansson for the patch that introduced the
fringes-related customisation option. It inspired me to reconsider the
use of this particular area of the interface, which eventually led to
the barrage of commits that refashioned the fringe indicators. A major
win overall.</p>
<p>Thanks to Jonathan Otsuka for fixing an error of mine on the naming of
some symbols. My apologies for missing it: I will be more careful from
now on.</p>
<p>Note: both patches were small, requiring no copyright assignment.
Larger contributions are always welcome, though make sure you read the
section in the README with regard to assigning copyright to the Free
Software Foundation.</p>
<hr />
<p>For more information, check the <a href="https://gitlab.com/protesilaos/modus-themes">git repository of the
modus-themes</a>.</p>