emacs/var/elfeed/db/data/ba/ba9060b22395182834250b7896c03ba9eb15942e
2022-01-03 12:49:32 -06:00

1469 lines
58 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 released version <code>2.0.0</code> of <a href="https://protesilaos.com/emacs/modus-themes">the Modus
themes</a>. The release notes
are reproduced below, followed by a verbatim copy of the fully
annnotated <code>org-mode</code> file I used to track the progress of this release.
For any questions, feel welcome to <a href="https://protesilaos.com/contact/">contact
me</a>.</p>
<p>I will now take a short break and will then prepare the patch for the
<code>master</code> branch on emacs.git (currently this corresponds to Emacs
version 29). The <code>modus-themes</code> package in GNU ELPA is a <code>:core</code>
package meaning that it fetches its contents from emacs.git, so expect
an update to trickle down shortly after my patch is merged.</p>
<hr />
<h2>Modus themes version 2.0.0</h2>
<p>By Protesilaos Stavrou <a href="mailto:info@protesilaos.com">info@protesilaos.com</a> on 2021-12-24</p>
<p>This entry covers the changes made to the project since the publication
of version 1.7.0 on 2021-11-18. There have been more than 90 commits in
the meantime. This is a major upgrade with some backward-incompatible
changes, even though most work was done behind the scenes (i.e. not in
git commits but local testing) to guarantee the relevance of all
user-facing styles, code practices, et cetera.</p>
<p>All modifications of colour combinations mentioned herein are made in
accordance with the primary accessibility objective of the themes for a
minimum contrast ratio of 7:1 between background and foreground values
in their given combination (the WCAG AAA standard for relative colour
luminance). Edits also account for colour-coding that is optimised for
the needs of users with red-green colour deficiency (deuteranopia).</p>
<p>To access the URL of the manual visit this web page:
<a href="https://protesilaos.com/emacs/modus-themes">https://protesilaos.com/emacs/modus-themes</a>. Or read it in the Emacs
Info reader by evaluating this form:</p>
<pre><code>(info "(modus-themes) Top")
</code></pre>
<p>The <code>modus-operandi</code> and <code>modus-vivendi</code> themes are built into Emacs-28
(next stable release) or later, and are available on GNU ELPA as well as
other archives. Emacs-28 ships version 1.6.0, while the current
<code>master</code> branch (i.e. Emacs-29) and, by extension, GNU ELPA include the
latest tagged release.</p>
<p>A fully fledged org-mode file with the annotated task list for Modus
themes version 2.0.0 is supplied as complementary material to the
present entry. It should be annexed below this text on the announcement
page: <a href="https://protesilaos.com/codelog/2021-12-24-modus-themes-2-0-0/">https://protesilaos.com/codelog/2021-12-24-modus-themes-2-0-0/</a>.</p>
<h3>Customisation options</h3>
<p>There are some breaking changes that were necessary to improve the code
base and make things easier as well as more efficient for end users.
Please read carefully and apologies in advance for whatever
inconvenience.</p>
<ul>
<li>
<p>The <code>modus-themes-variable-pitch-headings</code> no longer has any effect.
Instead, users can specify a <code>variable-pitch</code> property to the list
they pass to the <code>modus-themes-headings</code> or <code>modus-themes-org-agenda</code>
(examples below).</p>
</li>
<li>
<p>All <code>modus-themes-scale-*</code> options are removed. Scaling of headings
is now handled directly by the user options <code>modus-themes-headings</code>
and <code>modus-themes-org-agenda</code> (code samples below).</p>
</li>
<li>
<p>The <code>modus-themes-headings</code> option now accepts a floating point (see
function <code>floatp</code>) that represents the multiplier relative to the base
font size. This can be used to scale headings accordingly. Since
this option can target individual heading levels (for 1 through 8),
users can now implement their desired scale with greater precision.
Whereas before it was limited to the first four levels, admittedly for
no good reason.</p>
<p>The newly introduced <code>variable-pitch</code> property can also be applied on
a per-level basis (making it easy to combine with existing properties,
such as a custom weight, for maximum control). Example:</p>
<pre><code>;; This is an alist: read the manual or its doc string.
(setq modus-themes-headings
'((1 . (variable-pitch light 1.6))
(2 . (overline semibold 1.4))
(3 . (monochrome overline 1.2))
(4 . (overline 1.1))
(t . (rainbow 1.05))))
</code></pre>
</li>
<li>
<p>The <code>modus-themes-org-agenda</code> follows the same design as the
<code>modus-themes-headings</code> where appropriate. Headings that can be
scaled accept a floating point, while those that may be rendered in a
proportionately spaced font accept the <code>variable-pitch</code> property. In
addition, a custom font weight is also supported in the relevant
places (just as with <code>modus-themes-headings</code>). Overall, the interface
can now be tailored to the users preferences with greater precision.</p>
<pre><code>;; This is an alist: read the manual or its doc string.
(setq modus-themes-org-agenda
'((header-block . (variable-pitch light 1.6))
(header-date . (bold-today grayscale underline-today 1.2))
(event . (accented varied))
(scheduled . uniform)
(habit . traffic-light)))
</code></pre>
</li>
<li>
<p>The <code>modus-themes-scale-small</code> that was used in the Org agenda
interface has been removed. No replacement is provided, as the
downsizing had the undesired effect of breaking the otherwise neat
alignment of elements on the grid.</p>
</li>
<li>
<p>The <code>modus-themes-mode-line-padding</code> option has been removed.
Instead, users can specify a natural number (positive integer)
directly in the list of properties passed to the
<code>modus-themes-mode-line</code> variable. This has no effect when the
<code>moody</code> property is also set, because the Moody library applies its
own padding. For example:</p>
<pre><code>(setq modus-themes-mode-line '(borderless accented 4))
</code></pre>
<p>Though not related to changes on our end, users of Emacs 29 must now
set <code>x-use-underline-position-properties</code> to nil for padding to work
properly (due to other adjustments upstream). This relates to Emacs
bug#52324 we had reported:
<a href="https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52324">https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52324</a>.</p>
</li>
<li>
<p>All deuteranopia styles are consolidated in a single toggle:
<code>modus-themes-deuteranopia</code>. The <code>modus-themes-success-deuteranopia</code>
is thus rendered obsolete and superseded, while the individual
deuteranopia-friendly styles for diffs (<code>modus-themes-diffs</code>) and the
Org agendas habit graph (<code>modus-themes-org-agenda</code>) are altogether
removed. As opposed to top-level forms, there is no clean way to
notify the user of the deprecation of individual values of a user
option.</p>
</li>
<li>
<p>The “foreground only” style has been altogether removed from the user
option <code>modus-themes-diffs</code>. It never was up to the aesthetic
standard of the themes even though the colours met the minimum 7:1
contrast ratio. There is a new section in the manual which documents
how to implement such a style with user-level configurations. Short
version:</p>
</li>
</ul>
<pre><code class="language-elisp">(defun my-modus-themes-custom-faces ()
(modus-themes-with-colors
(custom-set-faces
`(modus-themes-diff-added ((,class :background unspecified :foreground ,green))) ; OR ,blue for deuteranopia
`(modus-themes-diff-changed ((,class :background unspecified :foreground ,yellow)))
`(modus-themes-diff-removed ((,class :background unspecified :foreground ,red)))
`(modus-themes-diff-refine-added ((,class :background ,bg-diff-added :foreground ,fg-diff-added)))
;; `(modus-themes-diff-refine-added ((,class :background ,bg-diff-added-deuteran :foreground ,fg-diff-added-deuteran)))
`(modus-themes-diff-refine-changed ((,class :background ,bg-diff-changed :foreground ,fg-diff-changed)))
`(modus-themes-diff-refine-removed ((,class :background ,bg-diff-removed :foreground ,fg-diff-removed)))
`(modus-themes-diff-focus-added ((,class :background ,bg-dim :foreground ,green))) ; OR ,blue for deuteranopia
`(modus-themes-diff-focus-changed ((,class :background ,bg-dim :foreground ,yellow)))
`(modus-themes-diff-focus-removed ((,class :background ,bg-dim :foreground ,red)))
`(modus-themes-diff-heading ((,class :background ,bg-alt :foreground ,fg-main)))
`(diff-indicator-added ((,class :foreground ,green))) ; OR ,blue for deuteranopia
`(diff-indicator-changed ((,class :foreground ,yellow)))
`(diff-indicator-removed ((,class :foreground ,red)))
`(magit-diff-added ((,class :background unspecified :foreground ,green-faint)))
`(magit-diff-changed ((,class :background unspecified :foreground ,yellow-faint)))
`(magit-diff-removed ((,class :background unspecified :foreground ,red-faint)))
`(magit-diff-context-highlight ((,class :background ,bg-dim :foreground ,fg-dim))))))
;; This is so that the changes persist when switching between
;; modus-operandi and modus-vivendi
(add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces)
</code></pre>
<h3>Removed support for packages</h3>
<p>The following are no longer supported by the themes. The reasons vary
in each case, though they boil down to (i) the package being obsoleted,
or (ii) the packages faces inheriting from base faces that we already
support (e.g. font-lock). Each case was carefully considered as part of
the comprehensive review of all packages supported by the themes, though
chances are that some mistake was made regardless. If you believe a
package should not have been removed, please report as much.</p>
<ul>
<li>ag</li>
<li>apt-sources-list</li>
<li>apt-sources-list</li>
<li>buffer-expose</li>
<li>counsel-org-capture-string</li>
<li>define-word</li>
<li>diredc</li>
<li>disk-usage</li>
<li>easy-kill</li>
<li>flyspell-correct</li>
<li>git-gutter{,fringe}+</li>
<li>git-lens</li>
<li>git-walktree</li>
<li>highlight-blocks</li>
<li>highlight-defined</li>
<li>highlight-escape-sequences</li>
<li>highlight-symbol</li>
<li>highlight-tail</li>
<li>hyperlist-mode</li>
<li>isl (isearch-light)</li>
<li>minibuffer-line</li>
<li>mu4e-conversation</li>
<li>no-emoji</li>
<li>objed</li>
<li>parrot</li>
<li>phi-search</li>
<li>pkgbuild-mode</li>
<li>rainbow-identifiers</li>
<li>sallet</li>
<li>spell-fu</li>
<li>spray</li>
<li>swoop</li>
<li>vdiff</li>
<li>volatile-highlights</li>
</ul>
<h3>Changes to supported faces or face groups</h3>
<ul>
<li>
<p>Eliminated any possible exaggerations in wgrep faces. Those no longer
use coloured backgrounds. Instead they have colour-coded foreground
colours as well as a bold weight (they ultimately inherit from the
<code>bold</code> face, which is a “hidden” customisation option, as explained in
the manual).</p>
</li>
<li>
<p>Forced Org block delimiters to not extend their background by default
(though check <code>modus-themes-org-blocks</code>). That was the intended
design all along, but now it needs to be made explicit. See, for
example, bug#52587 for Emacs:
<a href="https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52587">https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52587</a></p>
</li>
<li>
<p>Revised the <code>org-sexp-date</code> face so that it no longer looks like
<code>org-date</code>. Dates are clickable buttons: they work like links, so
they have an underline by default and are subject to the
<code>modus-themes-links</code> user option. Whereas the <code>org-sexp-date</code> is not
applied to interactive elements and must thus be visually distinct.</p>
<p>This face is used for diary-style entries in Org files. For example:</p>
<pre><code>%%(diary-anniversary 2000 12 25) NAME %d%s birthday
</code></pre>
</li>
<li>
<p>Rewrote several Auctex/Tex faces to inherit from base faces where
relevant (e.g. <code>bold</code>, <code>success</code>) as well as from font-lock faces. In
the latter case, the end-result makes Auctex/Tex subject to the
<code>modus-themes-syntax</code> option. These refinements promote theme-wide
consistency without detracting from the established styles.</p>
</li>
<li>
<p>Improved Git (Magit) commit faces for warnings or errors. This
concerns two cases:</p>
<ol>
<li>
<p>The summary line exceeds the recommended limit of 50 characters.
This now uses a yellow foreground colour which contrasts well with
the summary lines new blue hue (blue and yellow are complementary
for our purposes, meaning that they have good contrast in hueness).</p>
</li>
<li>
<p>The second line (the one right below the summary) has text that
should not be there. This one is coloured in a shade of red, which
again contrasts well with blue.</p>
</li>
</ol>
<p>Thanks to Damien Cassou for noticing in issue 261 that the previous
style of applying tinted backgrounds did not work well when
<code>hl-line-mode</code> was enabled (<code>hl-line-mode</code> overrides backgrounds and
so the warnings/errors where not always obvious):
<a href="https://gitlab.com/protesilaos/modus-themes/-/issues/261">https://gitlab.com/protesilaos/modus-themes/-/issues/261</a>.</p>
</li>
<li>
<p>Added support for the new <code>magit-branch-warning</code> face that we helped
upstream define: <a href="https://github.com/magit/magit/issues/4550">https://github.com/magit/magit/issues/4550</a>. It
disambiguates warnings in Magit status buffers from the generic and
often inappropriate for such a context <code>font-lock-warning-face</code>.</p>
</li>
<li>
<p>Simplified all the Apropos faces. They no longer look like buttons or
links as that makes the presentation of <code>M-x apropos</code> very busy.
Instead, they now only have a foreground colour.</p>
</li>
<li>
<p>Updated support for org-roam faces by removing old entries and
covering new ones.</p>
</li>
<li>
<p>Replaced old company-mode faces with their new aliases:</p>
<ul>
<li>company-scrollbar-bg =&gt; company-tooltip-scrollbar-thumb</li>
<li>company-scrollbar-fg =&gt; company-tooltip-scrollbar-track</li>
</ul>
</li>
<li>
<p>Made <code>org-column-title</code> inherit from <code>fixed-pitch</code> when the user
option <code>modus-themes-mixed-fonts</code> is non-nil. This is needed to line
up columns correctly. Thanks to Björn Lindström for the contribution
in merge request 52:
<a href="https://gitlab.com/protesilaos/modus-themes/-/merge_requests/52">https://gitlab.com/protesilaos/modus-themes/-/merge_requests/52</a>.</p>
</li>
<li>
<p>Forced the <code>org-colview</code> faces to use the same height, even when
headings are scaled (see <code>modus-themes-headings</code>). This ensures that
the columns are aligned properly and text fits on the same row.
Thanks to Björn Lindström for the contribution in merge request 53:
<a href="https://gitlab.com/protesilaos/modus-themes/-/merge_requests/53">https://gitlab.com/protesilaos/modus-themes/-/merge_requests/53</a>.</p>
</li>
<li>
<p>Refrained from applying a bold weight to the Org date selection
indicator in the calendar. The use of bold has the potential to create
problems with the alignment of dates for certain typefaces that do not
have a proper bold variant. Also, there is no need for added emphasis
given that we already use a prominent background colour.</p>
</li>
<li>
<p>Made <code>M-x org-table-header-line-mode</code> or the third-party package
<code>org-table-sticky-header</code> use colours that fit better with those of
tables.</p>
</li>
<li>
<p>Removed explicit styling of the <code>magit-branch-current</code> face because
its definition checks if the <code>:box</code> attribute can be set and if not, it
uses <code>:inverse-video</code>. Useful for terminal emulators.</p>
</li>
<li>
<p>Expanded support for the <code>mode-line-active</code> face for Emacs29. The
face upstream basically adds proportionately spaced fonts (the
<code>variable-pitch</code> face) to the mode line. The themes can already use
that if the user option <code>modus-themes-variable-pitch-ui</code> is non-nil.
Thanks to Manuel Uberti for the feedback in issue 257:
<a href="https://gitlab.com/protesilaos/modus-themes/-/issues/257">https://gitlab.com/protesilaos/modus-themes/-/issues/257</a>.</p>
</li>
<li>
<p>Implemented some stylistic refinements for ERC and Rcirc to ensure
theme-wide consistency (e.g. timestamps are a shade of cyan).</p>
</li>
<li>
<p>Tweaked adoc-mode faces for stylistic theme-wide consistency.</p>
</li>
<li>
<p>Refashioned all the git faces of Treemacs so that they are more
consistent with other such contexts or uses. The new styles also
conform with the <code>modus-themes-deuteranopia</code> option.</p>
</li>
</ul>
<h3>Miscellaneous</h3>
<ul>
<li>
<p>Ended the wanton use of internal functions in places that did not
require them. Instead, the themes define faces that evaluate such
functions once and pass their results to the relevant entries. Cases
include:</p>
<ul>
<li>
<p>Symlink and/or broken link faces in contexts such as Dired,
Eshell, Helm, Trashed.</p>
</li>
<li>
<p>Tabbed interfaces (tab-bar, tab-line, centaur-tabs).</p>
</li>
<li>
<p>Verbatim markup or that of inline code in Org, Markdown, Asciidoc,
etc.</p>
</li>
<li>
<p>The optional use of <code>variable-pitch</code> for User Interface elements
(see <code>modus-themes-variable-pitch-ui</code>).</p>
</li>
</ul>
</li>
<li>
<p>Refined the dedicated diff background colours of modus-vivendi that
are used when the user option <code>modus-themes-deuteranopia</code> is non-nil.
The changes improve the distinction between all red and yellow
constructs in contexts where they appear together (e.g. smerge-mode).
Basically, yellows will look more bright, while reds appear as
brown. The corresponding blues are toned down a bit to be consistent
with the other colours. Consequently, the standard shades of green
for added lines (when <code>modus-themes-deuteranopia</code> is nil) are
recalibrated to combine well with all other values.</p>
</li>
<li>
<p>Made several faces return an <code>unspecified</code> value instead of nil for
their unused attributes under certain circumstances. This is to guard
against third-party code that unconditionally expects a non-nil value.</p>
</li>
<li>
<p>Omitted {over,under}line attributes from the mode line when the
<code>padded</code> property is added to the <code>modus-themes-mode-line</code> user
option. Those are not necessary in that context. Thanks to Illia
Ostapyshyn for the contribution in merge request 54:
<a href="https://gitlab.com/protesilaos/modus-themes/-/merge_requests/54">https://gitlab.com/protesilaos/modus-themes/-/merge_requests/54</a></p>
</li>
<li>
<p>Rewrote several internal functions in the interest of consistency and
clarity.</p>
</li>
<li>
<p>Deleted two user options that were long obsolete: (i)
<code>modus-themes-org-habit</code> has been superseded by
<code>modus-themes-org-agenda</code> since version 1.5.0 of the themes and (ii)
<code>modus-themes-intense-hl-line</code> has been replaced by
<code>modus-themes-hl-line</code> since version 1.3.0.</p>
</li>
<li>
<p>Removed parentheses from headings in the manual as they are invalid
characters for some version of Texinfo. See Emacs bug#52126:
<a href="https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52126">https://debbugs.gnu.org/cgi/bugreport.cgi?bug=52126</a>.</p>
</li>
<li>
<p>Updated all doc strings so that quoted lists yield valid syntax in
Help buffers; syntax that can be directly evaluated (otherwise Emacs
prettifies straight quotes as curly ones, which break the code).
Thanks to Christian Tietze for bringing this issue to my attention:
<a href="https://gitlab.com/protesilaos/modus-themes/-/issues/248#note_753169268">https://gitlab.com/protesilaos/modus-themes/-/issues/248#note_753169268</a>.</p>
</li>
<li>
<p>Rewrote all sections of the manual to document the current state of
the project as pertains to valid user options, explicitly supported
face groups, and so on.</p>
</li>
</ul>
<p>Thanks again to everyone involved. The themes are stable and this
release sets the foundations for the next year of developments.</p>
<h2>Annex with task list for Modus themes version 2.0.0</h2>
<p>The following is a copy of the file I used to track the progress for
this release. I did it this way because there are some breaking changes
and I wanted to keep a record of them so that users are fully informed.
Please place the text in an <code>org-mode</code> buffer for better results:</p>
<pre><code class="language-org">* DONE [#A] Modus themes 2.0.0 [13/13] :modus:
CLOSED: [2021-12-05 Sun 22:11]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 22:11]
:END:
Maybe some of those can be done before we formally transition to version
=2.0.0=, though it is better to make them all part of a major change.
** DONE [#A] Clean up face groups [60/60]
CLOSED: [2021-12-03 Fri 08:43]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 08:43]
:END:
These need to be reviewed on a case-by-case basis. Some may be removed,
others revised to make sure they are okay. The list is non-exhaustive.
*** DONE ag
CLOSED: [2021-12-02 Thu 19:39]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:39] \\
This package already inherits from basic faces and should work well
without any further adjustments.
:END:
*** CANCEL all-the-icons
CLOSED: [2021-12-03 Fri 08:41]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-03 Fri 08:41] \\
This package is used virtually everywhere. While we should normally not
have to colourise icons due to (i) their larger surface area relative to
text glyphs and (ii) their cosmetic utility, I prefer to err on the side
of caution and continue supporting it.
:END:
Unlike text, icons occupy a larger surface area and thus have a lower
requirement for colour contrast. I need to review all the colours they
use in case there is something that we really need to address, but in
general we might be fine with removing at least some of those faces.
*** DONE apt-sources-list
CLOSED: [2021-12-02 Thu 19:35]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:35] \\
This package already inherits from basic faces. There seems to be no
need to extend support for it at the theme level, also because of its
niche utility (I mean, how often do you edit your apt sources and how
difficult is it to just live with the standard font-lock faces for a
few minutes?).
:END:
*** DONE buffer-expose
CLOSED: [2021-12-02 Thu 19:35]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:35] \\
This package already inherits from basic faces. There seems to be no
need to extend support for it at the theme level.
:END:
*** DONE counsel-org-capture-string
CLOSED: [2021-12-02 Thu 21:53]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:53] \\
It inherits from a font-lock face. There is no need to style it
explicitly.
:END:
*** CANCEL cursor-flash
CLOSED: [2021-12-02 Thu 22:10]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 22:10] \\
We recently added support for it. Let's keep it until a future review.
:END:
*** DONE define-word
CLOSED: [2021-12-02 Thu 21:18]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:18] \\
Its faces inherit from basic ones, so we are safe in removing explicit
support for it.
:END:
*** DONE diredc
CLOSED: [2021-12-02 Thu 21:26]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:26] \\
This is a massive package that seems like a de facto fork of Dired. I
cannot promise support for it in its current stage, so it is better to
remove it from the themes until someone who uses it in earnest comes
along and helps cover its use-case.
:END:
*** CANCEL dired-git
CLOSED: [2021-12-02 Thu 21:55]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:55] \\
It seems to be in a stable state. I will keep supporting it until
further notice.
:END:
*** DONE disk-usage
CLOSED: [2021-12-02 Thu 19:50]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:50] \\
This package inherits from base faces and should be okay for the
occasional usage of its interface.
:END:
*** CANCEL easy-jekyll
CLOSED: [2021-12-02 Thu 21:27]
:LOGBOOK:
- State "CANCEL" from "WAIT" [2021-12-02 Thu 21:27] \\
It only defines one face. Let's keep supporting it.
:END:
#+begin_src emacs-lisp
(defface easy-jekyll-help-face
`((((class color) (background light))
,@(and (&gt;= emacs-major-version 27) '(:extend t))
:inherit font-lock-function-name-face
:background "#f0f8ff")
(((class color) (background dark))
,@(and (&gt;= emacs-major-version 27) '(:extend t))
:inherit font-lock-function-name-face
:background "#2f4f4f"))
"Definition of help color."
:group 'easy-jekyll-faces)
#+end_src
*** DONE easy-kill
CLOSED: [2021-12-02 Thu 19:59]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:59] \\
This package inherits from base faces and should be okay without
explicit theme support. I am actually not sure we should remove this,
but I am willing to take the risk. If someone objects to this change,
they are free to contact me and I shall reconsider.
:END:
*** CANCEL el-search
CLOSED: [2021-12-02 Thu 19:56]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 19:56] \\
I have never seen this package in any user config, but its face
definitions are not good enough for our purposes. So we keep supporting
it for the time being.
:END:
*** CANCEL elfeed-score
CLOSED: [2021-12-02 Thu 21:14]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:14] \\
This package is actively maintained and we should continue support it.
Ideally, someone should patch its warning/error/info faces so that they
inherit from the faces warning/error/success. I might do it, though not
sure when.
:END:
*** CANCEL equake
CLOSED: [2021-12-02 Thu 21:28]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:28] \\
The package is actively maintained and I will continue supporting it.
:END:
*** CANCEL evil-snipe
CLOSED: [2021-12-02 Thu 21:12]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:12] \\
This package is actively maintained and someone had asked me to keep
supporting it.
:END:
*** CANCEL evil-visual-mark-mode
CLOSED: [2021-12-02 Thu 21:12]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:12] \\
I am not sure about this. It is a single face though, so I am willing
to continue support it until a future review.
:END:
*** CANCEL flx
CLOSED: [2021-12-02 Thu 21:30]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:30] \\
For me this package seems to have been superseded by the =orderless=
package as well as the built-in flex option in =completion-styles=.
However, it is only a single face and it is being actively maintained,
so I will continue supporting it.
:END:
Is this still relevant in light of Emacs' own flex completion style?
*** DONE flyspell-correct
CLOSED: [2021-12-02 Thu 21:09]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:09] \\
We support it indirectly, because it inherits from the isearch face.
:END:
*** CANCEL git-gutter
CLOSED: [2021-12-02 Thu 19:43]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 19:43] \\
This package continues to be maintained. It is =git-gutter+= that is de
facto obsolete.
:END:
*** DONE git-gutter+
CLOSED: [2021-12-02 Thu 19:43]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:43] \\
These packages (it and git-gutter-fringe+) are de facto obsolete for
several years now. Use git-gutter or git-gutter-fringe instead.
:END:
*** CANCEL git-fringe
CLOSED: [2021-12-02 Thu 19:46]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 19:46] \\
This package is actively maintained. It is =git-gutter-fringe+= that is
de facto obsolete.
:END:
*** DONE git-gutter-fringe+
CLOSED: [2021-12-02 Thu 19:46]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:46] \\
These packages (it and git-gutter+) are de facto obsolete for several
years now. Use git-gutter or git-gutter-fringe instead.
:END:
*** DONE git-lens
CLOSED: [2021-12-02 Thu 20:27]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:27] \\
This package is de facto obsolete. I tried to update its broken
homepage URL one year ago, but never received a reply:
&lt;https://gitlab.com/pidu/git-lens/-/merge_requests/1&gt;.
:END:
*** CANCEL git-timemachine
CLOSED: [2021-12-02 Thu 20:28]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 20:28] \\
I am not sure this package is actively maintained. Though I have seen
it in some user init files, so I will keep supporting it for the time
being.
:END:
*** DONE git-walktree
CLOSED: [2021-12-02 Thu 20:30]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:30] \\
Has not been updated in two years. Its faces are okay because they
inherit from font-lock.
:END:
*** DONE highlight-blocks
CLOSED: [2021-12-02 Thu 20:45]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:45] \\
This package does not even have a README. It was last updated almost
three years ago and there seems to be no activity in its git repo. I
am thus willing to take the risk of removing it. If anyone objects to
this change, they are welcome to inform me about it and I shall
reconsider.
:END:
*** DONE highlight-defined
CLOSED: [2021-12-02 Thu 20:36]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:36] \\
This package is actively maintained. It inherits from font-lock, so
there is no need to keep explicit support for it.
:END:
*** DONE highlight-escape-sequences
CLOSED: [2021-12-02 Thu 21:01]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:01] \\
This package inherits from faces we already support, so there is no
need to style it explicitly.
:END:
*** DONE highlight-symbol
CLOSED: [2021-12-02 Thu 21:07]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:07] \\
This package is no longer maintained. Also, it may be easier to just
use the built-in highlight-regexp functionality (bound to M-s h r and
can also be extended from isearch---contact me if you need help).
Read the manual by evaluating:
(info "(emacs) Highlight Interactively")
:END:
*** DONE highlight-tail
CLOSED: [2021-12-02 Thu 20:56]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:56] \\
This package is hosted on EmacsWiki and I cannot know whether there is
any activity around its development. Its history of changes stops at
2007, while its Commentary section makes references to speed issues.
While I am not sure about its status, I am thus willing to take the
risk of removing it. If anyone objects to this change, they are
welcome to inform me about it and I shall reconsider.
:END:
*** CANCEL highlight-thing
CLOSED: [2021-12-02 Thu 21:08]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:08] \\
I am not sure about this case. It is only one face, so I will keep
supporting it for the time being.
:END:
*** CANCEL hl-defined
CLOSED: [2021-12-02 Thu 20:46]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 20:46] \\
This package is maintained on the Emacs Wiki. It seems to be actively
maintained and so we must continue supporting it.
:END:
*** DONE hyperlist (hyperlist-mode)
CLOSED: [2021-12-02 Thu 20:47]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:47] \\
This package has not been updated in two years and I have never heard
of anyone using it. Maybe Org is enough?
:END:
*** DONE iflipb
CLOSED: [2021-12-02 Thu 20:52]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:52] \\
This package is actively supported and we should continue styling it
directly.
:END:
*** CANCEL interaction-log
CLOSED: [2021-12-02 Thu 21:56]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:56] \\
I am not sure about this. It seems to be stable and I remember seeing
it in use. Will continue supporting until a future review.
:END:
*** DONE isl
CLOSED: [2021-12-02 Thu 22:02]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 22:02] \\
I remember adding support for this on the premise that a package would
eventually become available on some ELPA. This has not happened and I
am not sure what to expect. As such, removing it may be a drastic
measure, though I am willing to take the risk. If anyone objects to
this change, they are welcome to inform me about it and I shall
reconsider.
:END:
&lt;https://github.com/thierryvolpiatto/isearch-light&gt;
*** CANCEL macrostep
CLOSED: [2021-12-02 Thu 21:51]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:51] \\
While it has not been updated in a long time, this package likely has a
broad user-base. Someone I trust was using it recently. Let's keep
supporting its faces.
:END:
*** CANCEL mentor
CLOSED: [2021-12-02 Thu 21:49]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:49] \\
This package is actively maintained. I will continue supporting it.
:END:
*** DONE minibuffer-line
CLOSED: [2021-12-02 Thu 22:03]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 22:03] \\
It inherits from mode-line-inactive, which we support. There is no
need to support it explicitly.
:END:
*** CANCEL minimap
CLOSED: [2021-12-02 Thu 21:48]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:48] \\
I am not sure about this. I will review it at a later date.
:END:
*** CANCEL mood-line
CLOSED: [2021-12-02 Thu 22:02]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 22:02] \\
This package is actively maintained. I will continue supporting it.
:END:
*** DONE mu4e-conversation
CLOSED: [2021-12-02 Thu 19:13]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:13] \\
This package is broken and obsolete for several months now. Its
README explains as much.
:END:
*** DONE no-emoji
CLOSED: [2021-12-02 Thu 21:48]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:48] \\
It inherits from the dired-header face, which could be wrong under
some circumstances. At any rate, there is no need to support it
explicitly.
:END:
It inherits from the ~dired-header~ face, which is wrong. Maybe we can
just patch it upstream to inherit from, say, ~bold~, ~warning~ or some
font-lock face?
*** DONE objed
CLOSED: [2021-12-02 Thu 22:09]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 22:09] \\
This package is subject to a rewrite. Its three faces inherit from
basic faces that we support. While we would have reasons to style
things differently, I think that we are better off removing it from
the themes until further notice.
:END:
*** DONE parrot
CLOSED: [2021-12-02 Thu 21:45]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:45] \\
Its sole face inherits from 'highlight', which we support. There is
no need to style it explicitly.
:END:
*** CANCEL phi-grep
CLOSED: [2021-12-02 Thu 21:43]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:43] \\
This package is actively maintained and we should continue supporting
it.
:END:
*** DONE phi-search
CLOSED: [2021-12-02 Thu 21:41]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:41] \\
Its homepage points to a website that seems to have nothing to do with
the package. What is going on? I am not sure about this decision,
but am willing to take the risk of removing it. If anyone objects to
this change, they are welcome to inform me about it and I shall
reconsider.
:END:
*** DONE pkgbuild-mode
CLOSED: [2021-12-02 Thu 20:23]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:23] \\
This package covers a very narrow niche. Its sole face uses a red
underline for errors, which is bearable.
:END:
*** CANCEL rainbow-blocks
CLOSED: [2021-12-02 Thu 21:39]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:39] \\
This package is actively maintained and we should continue supporting
it.
:END:
*** DONE rainbow-identifiers
CLOSED: [2021-12-02 Thu 20:21]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:21] \\
This package has not been updated in seven years and has no other
activity in its git repo. This may be because it is stable and "just
works". Or it has been de facto deprecated. Though I cannot be
certain, I am willing to take the risk and remove it from the themes.
If someone objects to this change, they are welcome to inform me about
and I shall reconsider.
:END:
*** DONE sallet
CLOSED: [2021-12-02 Thu 19:33]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:33] \\
This package seems to be experimental. I could not find any
user-facing documentation. There exists a dev notes file which, as
its name suggests, is not for regular users:
&lt;https://github.com/Fuco1/sallet/blob/master/dev-notes.org&gt;.
:END:
*** DONE spell-fu
CLOSED: [2021-12-02 Thu 21:33]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:33] \\
Its sole face seems to be okay: there is no need to support it
explicitly.
:END:
*** DONE spray
CLOSED: [2021-12-02 Thu 21:37]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 21:37] \\
I can no longer find this package. Its homepage URL returns a 404
error.
:END:
*** CANCEL suggest
CLOSED: [2021-12-02 Thu 21:37]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 21:37] \\
I am not sure about this. It is a single face. Keep it there until a
future review.
:END:
*** DONE swoop
CLOSED: [2021-12-02 Thu 20:14]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:14] \\
This package is deprecated for more than a year now. It recommends
using helm-swoop instead.
:END:
*** CANCEL sx
CLOSED: [2021-12-02 Thu 20:09]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 20:09] \\
This package seems to be in a stable state and has a broad user-base.
As such, I am willing to continue supporting it even though I am not a
user of the Stack Exchange service.
:END:
*** CANCEL telega
CLOSED: [2021-12-02 Thu 20:06]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-02 Thu 20:06] \\
This seems to be a very popular package and was even featured at
EmacsConf 2021. Though I am not a user of Telegram, I am willing to
keep the support for this package: if something does not look right, I
hope people will tell me about it.
:END:
*** DONE vdiff
CLOSED: [2021-12-02 Thu 20:18]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:18] \\
This package already inherits from the built-in diff-mode faces, so
seems to be no need to keep supporting it explicitly.
:END:
*** DONE volatile-highlights
CLOSED: [2021-12-02 Thu 20:04]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 20:04] \\
There is a better alternative in Daniel Mendler's goggles package:
&lt;https://github.com/minad/goggles&gt;.
:END:
** DONE [#A] Review all "translation layer for legacy values" [12/12]
CLOSED: [2021-12-03 Fri 19:54]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:54]
:END:
I will keep the translation layer everywhere for a few more months (or
even longer). There is no reason to break people's configurations, even
though the breakage would be small, all things considered.
As such, we use this as an opportunity to review the functions for
stylistic consistency and edit them accordingly.
*** DONE modus-themes--prompt
CLOSED: [2021-12-03 Fri 18:22]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 18:22] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--paren
CLOSED: [2021-12-03 Fri 19:34]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:34] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--syntax-foreground
CLOSED: [2021-12-03 Fri 19:35]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:35] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--syntax-extra
CLOSED: [2021-12-03 Fri 19:36]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:36] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--syntax-string
CLOSED: [2021-12-03 Fri 19:36]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:36] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--syntax-comment
CLOSED: [2021-12-03 Fri 19:36]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:36] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--heading
CLOSED: [2021-12-03 Fri 19:37]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:37] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--mode-line-attrs
CLOSED: [2021-12-03 Fri 18:11]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 18:11] \\
Moved the conditionality of the box attribute outside the ~let~
binding and also renamed a locally bound variable for greater clarity.
:END:
*** DONE modus-themes--link
CLOSED: [2021-12-03 Fri 19:40]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:40] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--link-color
CLOSED: [2021-12-03 Fri 19:40]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:40] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--region
CLOSED: [2021-12-03 Fri 19:41]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:41] \\
Change the symbol of a local variable for greater clarity.
:END:
*** DONE modus-themes--hl-line
CLOSED: [2021-12-03 Fri 19:42]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 19:42] \\
Change the symbol of a local variable for greater clarity.
:END:
** DONE [#A] Review inline functions [4/4]
CLOSED: [2021-12-03 Fri 21:32]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 21:32]
:END:
*** DONE Streamline use of modus-themes--variable-pitch-ui
CLOSED: [2021-12-03 Fri 21:31]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 21:31] \\
We use a new bespoke face, which is then inherited by all relevant
constructs. This minimises the use of the internal function.
:END:
*** DONE Analyse use of modus-themes--link-color [2/2]
CLOSED: [2021-12-03 Fri 20:38]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 20:40]
:END:
Maybe we don't need all of those and can instead consolidate around 2-3
styles.
**** DONE Simplify apropos faces
CLOSED: [2021-12-03 Fri 20:13]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 20:13] \\
They do not need to look like buttons because of how "busy" the buffer
of 'M-x apropos' ends up looking.
:END:
**** DONE Comment out discontinued org-roam faces
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 20:38] \\
It seems that all the faces we support to date no longer exist upstream.
Instead there are all sorts of new faces that we urgently need to cover.
Hopefully some org-roam user can help me make sense of the context.
:END:
*** DONE Consolidate the modus-themes--tab styles
CLOSED: [2021-12-03 Fri 21:18]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 21:18] \\
Applied bespoke faces and had all relevant interfaces inherit from them.
:END:
*** DONE Make more considerate use of modus-themes--syntax-comment
CLOSED: [2021-12-03 Fri 21:04]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-03 Fri 21:04] \\
There was no need to style the Git (Magit) commit/rebase faces for
special keywords in comments.
:END:
There are a few places that we could do without it. Perhaps we can
apply a single colour or just use a bold weight. Will need to test.
** DONE [#A] Support current org-roam faces
CLOSED: [2021-12-05 Sun 18:01]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 18:01]
:END:
** DONE [#B] Decide on the modus-themes-scale-* [3/3]
CLOSED: [2021-12-05 Sun 16:34]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 16:34] \\
The following variables no longer have any effect:
+ modus-themes-scale-headings
+ modus-themes-variable-pitch-headings
+ modus-themes-scale-1
+ modus-themes-scale-2
+ modus-themes-scale-3
+ modus-themes-scale-4
+ modus-themes-scale-title
Instead everything is consolidated in two variables:
+ modus-themes-headings
+ modus-themes-org-agenda
The paradigm for those is the same (read their doc strings for further
details):
+ To set the height of a heading, just specify a floating point.
+ To make a specific heading use a proportionately spaced font, simply
include variable-pitch in the list of properties.
:END:
*** DONE Remove modus-themes-scale-small
CLOSED: [2021-12-05 Sun 13:17]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 13:17]
:END:
It is not useful in general. It is only used in the Org agenda and it
breaks the otherwise neat alignment (because it is contingent on the
size of the font, rather than being done pixelwise)... The idea of
smaller text in the agenda is appealing, but not if it break things.
*** DONE Decide on modus-themes-scale-title
CLOSED: [2021-12-05 Sun 15:31]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:31] \\
I deprecated this user option. All relevant places now inherit from
~modus-themes-heading-1~. As for the agenda structure (explained in the
user option ~modus-themes-org-agenda~), it now accepts a number argument
to set its height. Same principle as with ~modus-themes-headings~.
:END:
*** DONE Check modus-themes--scale [4/4]
CLOSED: [2021-12-05 Sun 15:31]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:31]
:END:
Regardless of whether we review the aforementioned, we need to be more
considerate with how we apply the =,@(modus-themes--scale ...)=.
**** DONE Review markup-faces (adoc-mode) faces
CLOSED: [2021-12-05 Sun 15:30]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:30] \\
Headings inherit from modus-themes-heading-N. Also tweaked some faces
for stylistic consistency.
:END:
**** DONE Review auctex and Tex faces
CLOSED: [2021-12-05 Sun 15:29]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:29] \\
Reviewed all faces to inherit from the appropriate font-lock-* face.
Headings now inherit from modus-themes-heading-N.
:END:
**** DONE org-tree-slide-header-overlay-face inherit from org-document-title
CLOSED: [2021-12-05 Sun 15:29]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:29]
:END:
**** DONE Miscellaneous headings [6/6]
CLOSED: [2021-12-05 Sun 15:28]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:28]
:END:
Review them on a case-by-case basis.
***** DONE font-latex-slide-title-face
CLOSED: [2021-12-05 Sun 15:00]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:00] \\
Just inherit from ~modus-themes-heading-1~.
:END:
***** DONE cfw:face-title
CLOSED: [2021-12-05 Sun 15:09]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:09] \\
Made it look like ~org-document-title~.
:END:
***** DONE helm-source-header
CLOSED: [2021-12-05 Sun 15:06]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:06] \\
I made it inherit from ~modus-themes-pseudo-header~ while changing its
foreground to a more subtle colour.
:END:
Just use a =:height=? This needs more thought and extensive testing.
***** DONE ioccur-title-face
CLOSED: [2021-12-05 Sun 15:08]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:08] \\
I made it inherit from ~modus-themes-pseudo-header~ while changing its
foreground to a more subtle colour.
:END:
Same as for the helm-source-header.
***** DONE phi-grep-heading-face
CLOSED: [2021-12-05 Sun 15:08]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:08] \\
I made it inherit from ~modus-themes-pseudo-header~ while changing its
foreground to a more subtle colour.
:END:
I do not remember how its interface looks like. Needs to be tested
thoroughly, but maybe a =:height= attribute will be enough.
***** DONE EMMS headings [4/4]
:LOGBOOK:
- State "DONE" from "DONE" [2021-12-05 Sun 15:14] \\
Made everything work without a height. Maybe this is a drastic
measure and we will eventually need to review it, although this was
already the default (subject to the now-deprecated user option
~modus-themes-scale-headings~).
:END:
****** DONE emms-browser-album-face
CLOSED: [2021-12-05 Sun 15:09]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:09]
:END:
****** DONE emms-browser-artist-face
CLOSED: [2021-12-05 Sun 15:10]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:10]
:END:
****** DONE emms-browser-composer-face
CLOSED: [2021-12-05 Sun 15:10]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:10]
:END:
****** DONE emms-browser-year/genre-face
CLOSED: [2021-12-05 Sun 15:10]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 15:10]
:END:
** DONE [#A] Consolidate mode line options
CLOSED: [2021-12-05 Sun 22:10]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-05 Sun 22:10] \\
Deprecated the user option ~modus-themes-mode-line-padding~ and made the
user option ~modus-themes-mode-line~ accept a natural number directly.
When the number is greater than 1, it adds N extra padding.
:END:
** CANCEL [#C] Formalise guidelines for package support
CLOSED: [2021-12-05 Sun 17:17]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-05 Sun 17:17] \\
Better not write those down. I will just exercise judgement. Though I
think we are already doing well.
:END:
Going forward, I want us to be more opinionated about which packages we
support. Otherwise the scope of the themes is practically infinite.
This is a /tentative/ list of scenaria, with the understanding that we are
never going to subject ourselves to a mechanistic process and shall
always exercise judgement:
+ The package has an established user base and/or clear niche and/or is
actively maintained. If a package re-invents an existing feature in a
way that is not clearly better, then we exercise a "wait-and-see"
approach (we do not need to support a new package from day one).
+ The package is generally useful and is not tied to someone's personal
setup. Example of packages that are disqualified: =prot-diff.el= from
[[https://gitlab.com/protesilaos/dotfiles][my dotfiles]].
+ The package can be used without registering for some external service.
For example, I cannot maintain =sx= because I do not use the
stackexchange service. In such cases, users must actively help with
the design.
+ The colours that the package uses are not consistent with the
technical objectives of the themes (accessibility, deuteranopia
support where relevant) OR in case where it inherits from font-lock
faces, the result does not look good in context and/or consistent with
the rest of the theme. For example, a package that inherits the
~region~ face when what it really wanted was ~match~ or ~highlight~.
+ If the package hardcodes colour values like red or green instead of
inheriting from the ~error~ or ~success~ faces, we first try to contact
the maintainer to provide a patch that works with all themes. Same
principle for when it inherits from base faces but does it in a
sub-optimal way (like the above example with ~region~ and ~match~ or
~highlight~). A small patch upstream is for cases where we would have
done exactly that at the theme level. Contributing to packages is
better for the ecosystem.
+ There are several packages/faces that hardcode colour values which are
taken from the Modus themes or are consistent with our objectives. We
normally do not need to explicitly style those. If, however, there is
something we should do, such as to make the faces conditional on a
customisation option, then we must style them (provided the package is
useful, has a user-base, etc.). Doing so while informing the package
maintainer is also a good idea.
** CANCEL [#C] Document nobreak-char-display in the manual
CLOSED: [2021-12-05 Sun 18:17]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-12-05 Sun 18:17] \\
It is not a major issue. Let's ignore it for now until there is proof
that we need to document it in the manual.
:END:
** DONE [#A] Remove long-obsoleted user options [2/2]
CLOSED: [2021-12-02 Thu 19:08]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:08]
:END:
*** DONE Remove modus-themes-org-habit
CLOSED: [2021-12-02 Thu 19:08]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:08]
:END:
*** DONE Remove make-obsolete of modus-themes-intense-hl-line
CLOSED: [2021-12-02 Thu 19:08]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 19:08]
:END:
This form:
#+begin_src emacs-lisp
(make-obsolete 'modus-themes-intense-hl-line 'modus-themes-hl-line "1.3.0")
#+end_src
** DONE [#A] Implement universal deuteranopia toggle
CLOSED: [2021-12-02 Thu 16:50]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 16:50] \\
Everything should now be subject to a single toggle:
modus-themes-deuteranopia. The modus-themes-success-deuteranopia is
thus superseded, while the individual deuteranopia-friendly styles for
diffs and the Org agenda's habit graph are altogether removed (there
is no clean way to notify the user of their deprecation---apologies
for the inconvenience!).
:END:
Note [[https://gitlab.com/protesilaos/modus-themes/-/issues/258][issue 258]] about the potential of using colour space adjustments to
cover all types of colour deficiency. I think the consolidation into a
single boolean does not contradict that notion, but we will see.
** DONE [#B] Simplify diff-related helper functions
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 18:50] \\
Basically we just had to simplify the conditionality for deuteranopia
and remove the relevant arguments.
:END:
** DONE [#A] Remove "foreground only" diffs
CLOSED: [2021-12-02 Thu 13:30]
:LOGBOOK:
- State "DONE" from "TODO" [2021-12-02 Thu 13:30] \\
There is a new section in the manual for those who want to restore
that style. I have been meaning to remove it for a long time, because
it is not up to the established standard of the themes, but there was
no good opportunity to do so. Now that we are approaching version
2.0.0 of the themes, it is right to make such backward-incompatible
changes.
:END:
#+begin_src emacs-lisp
;; Short version of what is in the manual:
(defun my-modus-themes-custom-faces ()
(modus-themes-with-colors
(custom-set-faces
`(modus-themes-diff-added ((,class :background unspecified :foreground ,green))) ; OR ,blue for deuteranopia
`(modus-themes-diff-changed ((,class :background unspecified :foreground ,yellow)))
`(modus-themes-diff-removed ((,class :background unspecified :foreground ,red)))
`(modus-themes-diff-refine-added ((,class :background ,bg-diff-added :foreground ,fg-diff-added)))
;; `(modus-themes-diff-refine-added ((,class :background ,bg-diff-added-deuteran :foreground ,fg-diff-added-deuteran)))
`(modus-themes-diff-refine-changed ((,class :background ,bg-diff-changed :foreground ,fg-diff-changed)))
`(modus-themes-diff-refine-removed ((,class :background ,bg-diff-removed :foreground ,fg-diff-removed)))
`(modus-themes-diff-focus-added ((,class :background ,bg-dim :foreground ,green))) ; OR ,blue for deuteranopia
`(modus-themes-diff-focus-changed ((,class :background ,bg-dim :foreground ,yellow)))
`(modus-themes-diff-focus-removed ((,class :background ,bg-dim :foreground ,red)))
`(modus-themes-diff-heading ((,class :background ,bg-alt :foreground ,fg-main)))
`(diff-indicator-added ((,class :foreground ,green))) ; OR ,blue for deuteranopia
`(diff-indicator-changed ((,class :foreground ,yellow)))
`(diff-indicator-removed ((,class :foreground ,red)))
`(magit-diff-added ((,class :background unspecified :foreground ,green-faint)))
`(magit-diff-changed ((,class :background unspecified :foreground ,yellow-faint)))
`(magit-diff-removed ((,class :background unspecified :foreground ,red-faint)))
`(magit-diff-context-highlight ((,class :background ,bg-dim :foreground ,fg-dim))))))
;; This is so that the changes persist when switching between
;; modus-operandi and modus-vivendi
(add-hook 'modus-themes-after-load-theme-hook #'my-modus-themes-custom-faces)
#+end_src
** CANCEL [#C] Experiment with markup tweaks
CLOSED: [2021-11-27 Sat 07:56]
:LOGBOOK:
- State "CANCEL" from "TODO" [2021-11-27 Sat 07:56] \\
There is no pressing need for this. It would also make the code more
complex. Maybe we can come up with something else after the release
of version 2.0.0.
:END:
#+begin_src emacs-lisp
(defcustom modus-themes-text-markup nil
"Control the style of markup in text-related modes (e.g. Org)."
:group 'modus-themes
:package-version '(modus-themes . "1.7.0")
:version "28.1"
:type '(set
(cons :tag "Inline code"
(const inline-code)
(set :tag "Presentation of inline code" :greedy t
(const :tag "Subtle background and foreground (default)" nil)
(const :tag "No background" no-background)
(const :tag "Intense foreground color" intense)))
(cons :tag "Metadata and comments"
(const metadata)
(set :tag "Style of metadata and comments" :greedy t
(const :tag "Subtle foreground (default)" nil)
(const :tag "Added background" background)
(const :tag "Intense foreground" intense)
(const :tag "Apply color accent" accented))))
:set #'modus-themes--set-option
:initialize #'custom-initialize-default
:link '(info-link "(modus-themes) Plain text markup"))
#+end_src
</code></pre>