From 1c7776497617a6437a3ff3d805fc0eeee41d30e0 Mon Sep 17 00:00:00 2001 From: Protesilaos Stavrou Date: Thu, 17 Feb 2022 10:39:36 +0200 Subject: [PATCH] Update to version 2.1.0 --- CHANGELOG.org | 706 ++++++++++++++++++++++++++++++++++++++++ doc/modus-themes.info | 203 ++++++------ doc/modus-themes.org | 29 +- modus-operandi-theme.el | 2 +- modus-themes.el | 4 +- modus-vivendi-theme.el | 2 +- 6 files changed, 819 insertions(+), 127 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 2875323..586b3c0 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -15,6 +15,712 @@ For further details, please consult these additional resources: + Manual :: + Screenshots :: +* 2.1.0 + +#+begin_src text +Modus themes version 2.1.0 + +By Protesilaos Stavrou on 2022-02-17 + +The present entry records the changes made to the project since the +publication of version 2.0.0 on 2021-12-24. There have been more than +110 commits in the meantime (and this log is close to 5000 words). + +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). + +To access the URL of the manual visit this web page: +. Or read it in the Emacs +Info reader by evaluating this form: + + (info "(modus-themes) Top") + +The 'modus-operandi' and 'modus-vivendi' 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 +'master' branch (i.e. Emacs-29) and, by extension, GNU ELPA include the +latest tagged release. + + +Commands +======== + +The following produce a buffer that previews the colour palette of the +given theme ('modus-operandi' or 'modus-vivendi'). + +,* 'modus-themes-list-colors' prompts for a theme before producing the + preview. + +,* 'modus-themes-list-colors-current' uses the current Modus theme. + +These commands are useful to anyone who wants to reference a named +colour from the themes or copy a colour value, such as for the purposes +of user-level customisation (as documented at length in the manual +across several use-cases and with the inclusion of custom code). + +The commands are not bound to any key. + + +Customisation options +===================== + +,* Implemented the 'modus-themes-markup' variable, which supersedes the + now-deprecated 'modus-themes-intense-markup'. The new user option + accepts a list of properties (symbols). It affects constructs such as + Org's =verbatim=, ~code~, and {{{macro}}}. By default, when this user + option is either nil or an empty list, the affected constructs only + have a foreground colour (e.g. Org verbatim is magenta). Properties + that change this style are: + + 1. 'italic' for an added slant to the text. + 2. 'bold' for a heavier weight. + 3. 'background' to add a background colour. + 4. 'intense' to amplify the colouration (especially of 'background'). + + As with all user options which accept a list of properties, the order + of the symbols is no significant. In user configurations it may look + like this: + + (setq modus-themes-markup '(background intense bold)) + + [ Read the manual for bold and italic fonts. We do not hardcode a + :weight or :slant, instead giving the user the option to set their + own values. The defaults are what you would normally expect from + "bold" and "italic". ] + + Thanks to Rudolf Adamkovič for reporting some problems with the old + design in issue 274: + . + +,* Added the 'modus-themes-box-buttons' which affects all pseudo + graphical buttons, such as those found in Custom UI buffers or EWW web + pages which include search forms and the like. The variable accepts a + list of properties as its value. By default (nil or empty list), + buttons have a grey background and the familiar 3D effect. Valid + properties are: + + 1. 'flat' to remove the 3D effect. + 2. 'accented' to shift the colouration away from grey. + 3. 'faint' to reduce the overall colouration (e.g. grey becomes white). + 4. 'variable-pitch' to apply a proportionately spaced font. + 5. 'underline' to draw a line instead of applying a 3D or flat box + (particularly useful for those who use Emacs in a terminal emulator). + 6. The symbol of a font weight, such as 'bold', 'semibold', 'light' or + any one among those included in the 'modus-themes-weights' constant + (the underlying font family has to support the given weight). + 7. A number, expressed as a floating point (e.g. 0.9), which adjusts + the height of the button’s text to that many times the base font + size. The default height is the same as 1.0, though it need not be + explicitly stated. + + The order in which those symbols appear in the list is not + significant. If 'underline' and 'flat' are both specified, the former + takes precedence. In user init files the form may look like this: + + (setq modus-themes-box-buttons '(variable-pitch flat semilight 0.9)) + + Thanks to Daniel Mendler for suggesting this user option and providing + the relevant feedback in issue 282: + . + +,* Expanded the 'modus-themes-mail-citations' with an 'intense' variant. + For example: + + (setq modus-themes-mail-citations 'intense) + + The default is a moderately coloured style. Other variants include + 'faint' for subtle colouration and 'monochrome' for an all-grey look. + +,* Reviewed the 'modus-themes-completion' option and harmonised all the + face specifications it governs. The variable now accepts a fourth + stylistic variant in 'super-opinionated': it is like the 'opinionated' + one though some details are even more pronounced. Other noteworthy + items: + + [ Remember to read the doc string of 'modus-themes-completions', which + explains the grouping of the completion UIs. ] + + - The (setq modus-themes-completions 'moderate) style is more-or-less + the same across all completion UIs. The highlight applied to the + current line is a bespoke shade of blue, the characters are less + saturated than before and their hues are different, though the + overall effect should still feel "sufficiently colourful, but not + overdone". + + - The (setq modus-themes-completions nil) is the same as before. + However: + + - The current line in Ivy now uses a shade of blue that is + specific to completion UIs instead of an intense cyan + background. This is for theme-wide consistency. + + - Helm's current line has the same bespoke blue for its current + line instead of another shade of blue it was using before. + + - The (setq modus-themes-completions 'opinionated) should be the same + as before, notwithstanding the aforementioned tweaks to Ivy/Helm. + + - The (setq modus-themes-completions 'super-opinionated) for + Icomplete, Vertico, Selectrum, Mct uses the same blue for the + current line as is the default of Ivy and Helm. + + Miscellaneous: + + - The relevant private helper functions were rewritten. + + - We declare a few faces to help streamline certain styles. + + - Ivy action keys now inherit from 'modus-themes-key-binding'. We + generally try to make all keys look the same, except when that would + be detrimental to the usability of the given context/interface. + + - Some Ivy faces are simplified or otherwise tweaked to fit in with + the rest of the theme. + + Thanks to Rudolf Adamkovič for the feedback about Vertico in issues + 214 and 278 which prompted me to review all completion UIs: + + - + - + +,* Adjusted the applicable hues in some 'modus-themes-syntax' variants. In + particular: + + - The strings' hue has more hints of blue when 'modus-themes-syntax' + includes the 'green-strings' property. Such as: + + (setq modus-themes-syntax '(green-strings)) + (setq modus-themes-syntax '(alt-syntax green-strings)) + (setq modus-themes-syntax '(alt-syntax green-strings faint)) + (setq modus-themes-syntax '(alt-syntax green-strings faint yellow-comments)) + + - Strings are more orange/yellow than red when 'modus-themes-syntax' + includes the 'alt-syntax' property but NOT the 'green-strings'. For + example: + + (setq modus-themes-syntax '(alt-syntax)) + (setq modus-themes-syntax '(alt-syntax yellow-comments)) + (setq modus-themes-syntax '(alt-syntax yellow-comments faint)) + + - Backslashes for regexp constructs are coloured appropriately to look + distinct from the rest of the string and from the escaped construct in + all cases. + +,* Removed background colours from the the default style of Org block + delimiters. + + As I explained in Emacs bug#52587,[1] Org has code that overrides + themes which prefer not to extend the block delimiter faces to the + edge of the window (as we would like to do by default). This + practically means that we cannot have backgrounds for those lines and + keep them limited to the stretch of area covered by their text. + + As such, the default for Org block delimiter lines now is a gray + foreground with no distinct background colour. The user option + 'modus-themes-org-blocks' provides "blocky" alternatives that use + background colours---those extend to the edge of the window. + + [1] + +,* Deleted the compatibility layer for all user options that used to + accept symbols in the past but now expect a list of symbols. The + manual contains a snippet with all customisation options for those who + do not want to read all the relevant doc strings. Evaluate this: + + (info "(modus-themes) Customization Options") + + Or visit: . + + The original plan was to remove those during the transition to version + 2.0.0 (about a month ago) though I changed my mind thinking they would + not pose a longer-term problem. + + New information by Mark Bestley in issue 272 shows that this kind of + complexity can lead to errors: + . + + So it is better to keep things simple and ask users to configure all + user options based on the up-to-date documentation. + + Also thanks to Saša Janiška for the feedback in issue 272. + + +New packages, faces, or face groups +=================================== + +,* all-the-icons-dired. + +,* all-the-icons-ibuffer. + +,* 'child-frame-border' face (Emacs 28). + +,* 'citar' package. Thanks to Rudolf Adamkovič for the feedback in issue + 280: . + +,* 'elisp-shorthand-font-lock-face' (Emacs 29). Read the manual by + evaluating: + + (info "(elisp) Shorthands") + +,* 'ement' (ement.el) Matrix client, though it is not listed in any + archive yet: . + + Thanks to Samuel Culpepper for the feedback in issue 279: + . + + Also check the Ement issue tracker on the matter: + . + +,* 'mct' package. + +,* 'menu' face (built-in) which is used in the menu-bar when Emacs runs + without a graphical toolkit. + +,* 'pgtk-im-0' face (Emacs 29). This is shown as a single-character-long + block when you type the Compose key followed by the composable + characters. + +,* 'pyim' (an input method for CJK characters). Thanks to Yuanchen Xie for + the contribution in merge request 57: + . + The patch is small and is thus excluded from the requirement for + copyright assignment to the FSF (remember that the themes are built + into Emacs and any major contribution needs such copyright + assignment---read the relevant entry in the themes' manual). + +,* 'slime' and 'sly' packages. Thanks to John Haman for the feedback + which was done via email due to some problems with the web UI on + GitLab (this information is shared with permission). Please note that + I am not familiar with Common Lisp and could not test these + thoroughly. Any mistakes or omissions are my own. + + Concerning the web UI, there is a fully functional mirror of the + themes on GitHub, while email is always an option. Use whatever works + for you to report an issue or send a patch. + +,* 'textsec' package (Emacs 29). + +New indirectly supported packages +--------------------------------- + +These inherit from base faces and look good enough already or use +appropriate colours from the Modus themes: + +,* dtache +,* org-remark + + +Changes to supported faces or face groups +========================================= + +,* Stopped making key bindings look like boxes. We revert to the old + style we were using before the introduction of the 'help-key-binding' + face (Emacs 28). + + By default Emacs 28 or higher will render all key bindings it + identifies with a box around them. The idea is to make them look like + keys on a keyboard, which I never really liked because without + generous padding you get a very tight space between the character and + the box's borders which can look weird at small point sizes (Emacs + faces do not have padding in the same way CSS does). + + I tried following the default style for a few months and have concluded + that it is not good enough for our purposes (my preferences + notwithstanding): + + - The box attribute does not work in terminal emulators. This means + that keys only get a subtle grey background and the default + foreground, which can be hard to make them stand out from their + surrounding text if the font height is small and/or the keybinding is + short (e.g. a single character). + + - The box and grey background combination limits our options when we + need to colour-code different types of keys. For example, the + 'which-key' package can show TAB as T and applies to it a different + face to make the distinction obvious. In that case, the presence of + the tight box makes the use of a bold weight inappropriate: the + character and the box's borders seem to overlap. While the grey + background limits our choice of colour as, for instance, yellow + never looks good against it. Same principle for interfaces that can + have colour-coded keys like 'transient' and 'hydra', where we lose + much-needed flexibility. + +,* Adjusted the brightness of the 'which-key-special-key-face'. This is + the face that applies to special keys. For example: + + (setq which-key-special-keys '("SPC" "TAB" "RET" "ESC" "DEL")) + +,* Made 'transient' faces which are supposed to be de-emphasise certain + elements inherit the 'shadow' face. This is an implicit customisation + option, as it allows the user to adjust the foreground value of all + "less important" constructs simply by changing the 'shadow' face. + +,* Covered the 'transient-purple' face (these are like the colour-coding + of 'hydra'). + +,* Tweaked the 'transient-argument' and 'transient-value' faces to make + things look a bit more consistent with the other transient faces. + This is to avoid potential conflicts with the highlighted key + bindings, especially when transient uses hydra-style colour-coded + keys. + +,* Applied the same metaphors for key bindings to 'marginalia-key' + ('marginalia' package) and 'embark-keybinding' ('embark' package). + They inherit the 'modus-themes-key-binding' when possible. The only + exception is with (setq modus-themes-completions nil) where conflicts + may arise between the key's style and matching characters of the + ongoing completion session. + + Thanks to Rudolf Adamkovič for pointing out the inconsistency in issue + 278: . + +,* Refrained from treating LaTeX sections as headings. This is because + unlike Org/Outline/Markdown Latex is basically source code, so the + sectioning does not work the same way it does for those lightweight + markup/outlining modes. + + Furthermore, font-latex.el defines 'font-latex-fontify-sectioning' + which can be used to control the scale of those sections. It makes + sense for the themes to not interfere with that design and just allow + users to customise things uniformly regardless of the active theme. + + Thanks to Gustavo Barros for the detailed feedback in issue 265: + . + +,* Reviewed the hues of 'all-the-icons' and related packages. + +,* Applied the correct style to 'info-menu-header', meaning that it now + only uses a bold weight as it is not a real heading, instead of being + affected by the user option 'modus-themes-headings'. + +,* Included new 'telega-entity-type-spoiler' face. Thanks to bit9tream + for informing me about it in issue 271: + . The + conclusion: + + Tricky though perhaps dull + + I understand this is not an interesting topic and it probably is + too difficult to relate to the various data points without + visualising them and comparing the before and after + states. Furthermore, data can be deceptive and I have always + maintained that theme development stands at the intersection of + science and art (at least for the purposes of conforming with the + rigorous accessibility standards of the Modus themes). + + That granted, I wanted to shed light on the “behind the scenes” + work that is not immediately obvious when one checks a diff that + introduces some seemingly trivial tweaks like '#49d239'->'#49c029' + or '#7fcfff'->'#8fbfff'. + +,* Tweaked the hues of all graph colours, which are used in the + 'org-habit' table. The changes are subtle and should improve the + overall usability of the graph. For the technicalities, read: + . + + Also thanks to Rudolf Adamkovič for reporting the problem with white + text on yellow background in issue 270: + . + +,* Styled the 'markdown-highlighting-face'. This is the face used for + text in between double equals signs when the user option + 'markdown-enable-highlighting-syntax' is non-nil. + +,* Amplified the overall colouration of Eldoc's current argument. It is + a yellow foreground with a tinted background. The blue foreground + which was applied before could be hard to tell apart in some cases, + especially because it is a common colour that is used elsewhere in the + themes. Whereas the warmer hues are easier to discern, especially + while relying only on peripheral vision. + + Thanks to Rudolf Adamkovič for the feedback in issue 275: + . + +,* Instructed Geiser to use the same style for its argument as Eldoc + (edited the faces 'geiser-font-lock-autodoc-current-arg' and + 'geiser-font-lock-autodoc-identifier'). + +,* Made the 'keycast-key' face work when 'modus-themes-mode-line' has a + padding value (read the latter doc string or consult the manual). + +,* Refined the 'magit' faces for bisect, reflog, sequence, and signature + views. They get a bold weight and, where appropriate, are made to + comply with the 'modus-theems-deueteranopia' option (meaning that + greens turn into blues). + +,* Recoloured 'elfeed' tags from a shade of cyan to magenta, in the + interest of theme-wide consistency but also to make them easier to + tell apart from the name of the feed. Also updated the faces used in + the header-line to look better in context. + +,* Removed the hardcoded ':slant italic' from the 'italic' face, which is + consistent with how we do not hardcode ':weight bold' in the 'bold' + face. + + Such a design allows users to configure those faces and have the + desired slant/weight (and even font family) apply consistently + throughout the theme. Read the manual for further details: + . + + Thanks to user derek-upham for pointing out the inconsistency in issue + 21 over at the GitHub mirror: + . + +,* Improved the styles that apply to compilation buffers and related. + The overarching intent was to reduce the excess colouration, without + upsetting expectations and affecting the overall presentation. + + Thanks to Rudolf Adamkovič for the feedback in issue 277: + . + + Note that compilation buffers apply an underline by default. The + manual explains how to change that: + . + +,* Ensured a consistent style for the 'highlight' face across all + contexts (typically used for mouse hover effects). The mode line has + an exception when its style includes an accented background (per + 'modus-themes-mode-line'). + + Thanks to Rudolf Adamkovič for the feedback in issue 214: + . + +,* Changed the foreground of 'mode-line-emphasis' from blue to purple, in + order to avoid potential (albeit unlikely) confusion with other + indicators. + +,* Desaturated the 'man' and 'woman' foreground value of the bold + constructs and tweaked other faces to avoid potential inconsistencies. + Thanks to Daniel Mendler for the feedback: + . + +,* Removed certain exaggerations from widgets as seen in the Custom UI + and EWW. Specifically: + + - 'widget-field' does not need to ':extend', as that typically does + not look good. + + - 'custom-state' gets a warmer colour to convey its message more + effectively. + + - 'eww-form-text' no longer uses a ':box' because that breaks when the + widget occupies more than one line. + + - 'eww-form-textarea' can now inherit from 'eww-form-text'. + + Thanks to Daniel Mendler for the feedback on the style of those faces in + issue 284: . + + +The manual +========== + +,* Clarified the wording of 'shr' fonts, which affect 'eww', 'elfeed', + 'ement', and possibly others. + +,* Wrote section on custom Org emphasis faces. It includes code samples. + +,* Answered a Frequently Asked Question on whether the Modus themes are + "colour schemes"---they are not and it is important to understand why. + +,* Addressed another Frequently Asked Question about porting the themes + to other platforms or editors. Relevant blog posts which explain how + complex the issue is and why porting requires the same attention to + detail as this project: + + - . + - . + +,* Improved the sample code in the section about the backdrop of PDF + files while using 'pdf-tools'. Thanks to Utkarsh Singh for the patch, + which was sent via email. + +,* Provided sample code on an alternative style for Ediff. + + There was a discussion with Philip Kaludercic in issue 273 about making + this a defcustom: . + + I first entertained the notion and did set up a branch for testing + purposes. However, I ultimately decided that such a course of action + would establish a bad precedent because then every conceivable stylistic + tweak could, in principle, become a user option. Furthermore, the + potential defcustom would introduce too much complexity as Ediff would + have to continue to behave as other diffs (per 'modus-themes-diffs') if + the user did not want the alternative style. + + As such, documenting how a user can achieve this is the right choice. + +,* Fixed internal link in the manual. Thanks to Rudolf Adamkovič for + reporting the problem in issue 277: + . + + +Miscellaneous +============= + +,* Covered workaround for improving the accuracy of colour reproduction + in terminal emulators. The results are still not as good as the + graphical version of Emacs, though they are considerably better than + before. Thanks to gitrj95's issue 18 at the GitHub mirror, which + prompted me to research this topic: + . + +,* Helped report a bug in the PGTK build of Emacs where a new emacsclient + window with the 'modus-vivendi' face would not show the cursor: + . Thanks to + contributed to the discussion on issue 7 over at the GitHub mirror: + + +,* Shifted the hue of the intense 'hl-line' from a grey-cyan to a more + vivid blue by reducing the relative contribution of the green channel + of light. + + The change affects these styles: + + (setq modus-themes-hl-line '(accented intense)) + (setq modus-themes-hl-line '(accented intense underline)) + + Thanks to Rudolf Adamkovič for suggesting a more vivid colour in issue + 214: . + +,* Recalibrated the 'modus-vivendi' named colour 'bg-paren-match'. + + I wanted to increase its distance relative to the main background, + just to be sure that it is easier to spot. This is achieved by moving + the hueness from the yellow to the magenta side of the spectrum. + + Overall, the change is subtle and has no major impact on the contrast + ratio relative to the main background and foreground (we need to + consider both due to the specifics of show-paren-mode (and related)). + + The results (#5f362f is the old, #6f3355 the new): + + | | #000000 | #ffffff | #000000 | #ffffff | + |---------+---------+---------+---------+---------| + | #5f362f | 2.06 | 10.22 | 37904 | 333060 | + | #6f3355 | 2.28 | 9.21 | 58282 | 291037 | + + The TBLFM formula for this table (org-mode notation): + + $2='(Λ $1 @1$2);%.2f :: $3='(Λ $1 @1$3);%.2f :: $4='(Δ $1 @1$4) :: $5='(Δ $1 @1$5) + + The Greek letters mean: + + (defalias 'Λ #'modus-themes-contrast) + (defalias 'Δ #'color-distance) + +,* Expanded the "special" subset of the palette with faint variants of + the four backgrounds. These are reserved for special circumstances, + as the name implies. Below are the contrast values (see + 'modus-themes-contrast'). + + Modus Operandi main accept colours against faint special backgrounds: + + | | #f0f1ff | #ebf5eb | #fef2ea | #faeff9 | + |---------+---------+---------+---------+---------| + | #a60000 | 7.15 | 7.17 | 7.29 | 7.16 | + | #972500 | 7.26 | 7.28 | 7.40 | 7.28 | + | #a0132f | 7.13 | 7.15 | 7.27 | 7.14 | + | #7f1010 | 9.44 | 9.47 | 9.63 | 9.47 | + | #702f00 | 8.94 | 8.97 | 9.12 | 8.96 | + | #7f002f | 9.64 | 9.67 | 9.83 | 9.66 | + | #005e00 | 7.20 | 7.23 | 7.34 | 7.22 | + | #315b00 | 7.13 | 7.15 | 7.27 | 7.15 | + | #145c33 | 7.18 | 7.20 | 7.32 | 7.20 | + | #104410 | 10.09 | 10.12 | 10.29 | 10.12 | + | #30440f | 9.56 | 9.59 | 9.75 | 9.58 | + | #0f443f | 9.76 | 9.79 | 9.96 | 9.79 | + | #813e00 | 7.14 | 7.17 | 7.28 | 7.16 | + | #70480f | 7.14 | 7.17 | 7.28 | 7.16 | + | #863927 | 7.13 | 7.15 | 7.27 | 7.15 | + | #5f4400 | 8.10 | 8.12 | 8.26 | 8.12 | + | #5d5000 | 7.17 | 7.19 | 7.31 | 7.19 | + | #5e3a20 | 8.91 | 8.94 | 9.09 | 8.93 | + | #0031a9 | 9.31 | 9.34 | 9.49 | 9.33 | + | #2544bb | 7.14 | 7.16 | 7.28 | 7.16 | + | #0000c0 | 10.64 | 10.67 | 10.85 | 10.66 | + | #003497 | 9.66 | 9.70 | 9.86 | 9.69 | + | #0f3d8c | 9.06 | 9.09 | 9.24 | 9.09 | + | #001087 | 13.15 | 13.20 | 13.42 | 13.19 | + | #721045 | 9.99 | 10.02 | 10.19 | 10.01 | + | #8f0075 | 7.72 | 7.75 | 7.88 | 7.74 | + | #5317ac | 8.98 | 9.01 | 9.16 | 9.00 | + | #752f50 | 8.22 | 8.25 | 8.38 | 8.24 | + | #7b206f | 8.22 | 8.25 | 8.38 | 8.24 | + | #55348e | 8.26 | 8.29 | 8.42 | 8.28 | + | #00538b | 7.18 | 7.20 | 7.32 | 7.19 | + | #30517f | 7.18 | 7.20 | 7.32 | 7.20 | + | #005a5f | 7.13 | 7.15 | 7.27 | 7.15 | + | #005077 | 7.76 | 7.79 | 7.91 | 7.78 | + | #354f6f | 7.49 | 7.52 | 7.64 | 7.51 | + | #125458 | 7.69 | 7.72 | 7.85 | 7.71 | + + Modus Vivendi main accept colours against faint special backgrounds: + + | | #0e183a | #001f1a | #241613 | #251232 | + |---------+---------+---------+---------+---------| + | #ff8059 | 7.01 | 7.01 | 7.07 | 7.00 | + | #ef8b50 | 7.01 | 7.00 | 7.07 | 7.00 | + | #ff9077 | 7.85 | 7.85 | 7.93 | 7.85 | + | #ffa0a0 | 8.91 | 8.91 | 9.00 | 8.91 | + | #f5aa80 | 9.04 | 9.04 | 9.13 | 9.04 | + | #ff9fbf | 9.06 | 9.05 | 9.14 | 9.05 | + | #44bc44 | 7.04 | 7.04 | 7.11 | 7.04 | + | #70b900 | 7.13 | 7.13 | 7.20 | 7.12 | + | #00c06f | 7.24 | 7.24 | 7.31 | 7.24 | + | #78bf78 | 7.87 | 7.86 | 7.94 | 7.86 | + | #99b56f | 7.60 | 7.59 | 7.67 | 7.59 | + | #88bf99 | 8.23 | 8.22 | 8.30 | 8.22 | + | #d0bc00 | 8.98 | 8.98 | 9.07 | 8.98 | + | #c0c530 | 9.31 | 9.31 | 9.40 | 9.30 | + | #d3b55f | 8.71 | 8.71 | 8.79 | 8.71 | + | #d2b580 | 8.81 | 8.80 | 8.89 | 8.80 | + | #cabf77 | 9.28 | 9.27 | 9.36 | 9.27 | + | #d0ba95 | 9.20 | 9.20 | 9.29 | 9.20 | + | #2fafff | 7.18 | 7.18 | 7.25 | 7.18 | + | #79a8ff | 7.32 | 7.32 | 7.39 | 7.31 | + | #00bcff | 7.96 | 7.96 | 8.04 | 7.96 | + | #82b0ec | 7.74 | 7.74 | 7.81 | 7.74 | + | #a0acef | 7.97 | 7.96 | 8.04 | 7.96 | + | #80b2f0 | 7.89 | 7.88 | 7.96 | 7.88 | + | #feacd0 | 9.94 | 9.93 | 10.03 | 9.93 | + | #f78fe7 | 8.29 | 8.29 | 8.37 | 8.29 | + | #b6a0ff | 7.82 | 7.81 | 7.89 | 7.81 | + | #e0b2d6 | 9.51 | 9.50 | 9.60 | 9.50 | + | #ef9fe4 | 8.88 | 8.88 | 8.96 | 8.87 | + | #cfa6ff | 8.72 | 8.71 | 8.80 | 8.71 | + | #00d3d0 | 9.28 | 9.27 | 9.36 | 9.27 | + | #4ae2f0 | 11.09 | 11.09 | 11.20 | 11.09 | + | #6ae4b9 | 11.08 | 11.07 | 11.18 | 11.07 | + | #90c4ed | 9.34 | 9.34 | 9.43 | 9.33 | + | #a0bfdf | 9.10 | 9.09 | 9.18 | 9.09 | + | #a4d0bb | 10.18 | 10.17 | 10.27 | 10.17 | + +,* Add docs on color overrides through blending. Thanks to Alex Griffin + for the contribution in issue 269 and the subsequent patch in merge + request 56 (the patch is exempt from copyright assignment): + + - . + - . + +,* Fixed typo in the ':group' value of some faces defined in + modus-themes.el. Thanks to Gustavo Barros for reporting it in issue + 266: + +,* Updated copyright statement in all .el files to use the same wording + as all other files that are built into Emacs. + +,* Made all sorts of tweaks and refinements to doc strings and nodes in the + manual. + +Thanks again to everyone involved! This has been yet another cycle of +intense work which further iterated on an already solid base. +#+end_src + * 2.0.0 #+begin_src text diff --git a/doc/modus-themes.info b/doc/modus-themes.info index 27f45b3..bbf16a6 100644 --- a/doc/modus-themes.info +++ b/doc/modus-themes.info @@ -43,11 +43,11 @@ customization options for the ‘modus-operandi’ and ‘modus-vivendi’ themes, and provides every other piece of information pertinent to them. The documentation furnished herein corresponds to stable version -2.0.0, released on 2021-12-24. Any reference to a newer feature which +2.1.0, released on 2022-02-17. Any reference to a newer feature which does not yet form part of the latest tagged commit, is explicitly marked as such. - Current development target is 2.1.0-dev. + Current development target is 2.2.0-dev. * Menu: @@ -950,9 +950,7 @@ File: modus-themes.info, Node: Box buttons, Next: Command prompts, Prev: Link 4.8 Option for box buttons ========================== -[ Part of 2.1.0-dev ] - - Brief: Control the style of buttons in the Custom UI and related. +Brief: Control the style of buttons in the Custom UI and related. Symbol: ‘modus-themes-box-buttons’ (‘choice’ type, list of properties) @@ -1213,7 +1211,7 @@ Brief: Set the overall style of completion framework interfaces. 1. ‘nil’ (default) 2. ‘moderate’ 3. ‘opinionated’ - 4. ‘super-opinionated’ [ part of 2.1.0-dev ] + 4. ‘super-opinionated’ This is a special option that has different effects depending on the completion UI. The interfaces can be grouped in two categories, based @@ -1260,7 +1258,7 @@ Brief: Set the overall style of citations/quotes when composing emails. Possible values: 1. ‘nil’ (default) - 2. ‘intense’ [ Introduced as part of 2.1.0-dev. ] + 2. ‘intense’ 3. ‘faint’ 4. ‘monochrome’ @@ -1455,10 +1453,7 @@ File: modus-themes.info, Node: Markup, Next: Matching parentheses, Prev: Line 4.18 Option for markup style in Org and others ============================================== -[ Introduced as part of 2.1.0-dev. Supersedes the -‘modus-themes-intense-markup’ toggle. ] - - Brief: Choose style of markup in Org, Markdown, and others (affects +Brief: Choose style of markup in Org, Markdown, and others (affects constructs such as Org’s ‘=verbatim=’ and ‘~code~’). Symbol: ‘modus-themes-markup’ (‘boolean’ type) @@ -3696,7 +3691,7 @@ have lots of extensions, so the “full support” may not be 100% true… ‘vc-print-root-log’) • cider • circe - • citar [ part of 2.1.0-dev ] + • citar • color-rg • column-enforce-mode • company-mode* @@ -3745,7 +3740,7 @@ have lots of extensions, so the “full support” may not be 100% true… • elfeed-score • elpher • embark - • ement [ part of 2.1.0-dev ] + • ement • emms • enh-ruby-mode (enhanced-ruby-mode) • epa @@ -3838,7 +3833,7 @@ have lots of extensions, so the “full support” may not be 100% true… • marginalia • markdown-mode • markup-faces (‘adoc-mode’) - • mct [ part of 2.1.0-dev ] + • mct • mentor • messages • minimap @@ -3886,7 +3881,7 @@ have lots of extensions, so the “full support” may not be 100% true… • proced • prodigy • pulse - • pyim [ part of 2.1.0-dev ] + • pyim • quick-peek • racket-mode • rainbow-blocks @@ -3909,8 +3904,8 @@ have lots of extensions, so the “full support” may not be 100% true… • side-notes • sieve-mode • skewer-mode - • slime (slbd) [ part of 2.1.0-dev ] - • sly [ part of 2.1.0-dev ] + • slime (slbd) + • sly • smart-mode-line • smartparens • smerge @@ -4609,9 +4604,7 @@ File: modus-themes.info, Node: Note on Ement colors and fonts, Next: Note on H 7.16 Note on Ement colors and fonts =================================== -[ Part of 2.1.0-dev ] - - The ‘ement.el’ library by Adam Porter (also known as “alphapapa”) +The ‘ement.el’ library by Adam Porter (also known as “alphapapa”) defaults to a method of colorizing usernames in a rainbow style. This is controlled by the user option ‘ement-room-prism’ and can be disabled with: @@ -5991,91 +5984,91 @@ Node: Syntax styles30979 Node: Mixed fonts33111 Node: Link styles34375 Node: Box buttons36849 -Node: Command prompts39543 -Node: Mode line41364 -Node: Tab style45857 -Node: Completion UIs46520 -Node: Mail citations48613 -Node: Fringes49797 -Node: Language checkers50537 -Node: Line highlighting52979 -Node: Line numbers54576 -Node: Markup55644 -Node: Matching parentheses57337 -Node: Active region58714 -Node: Diffs60127 -Node: Org mode blocks61778 -Node: Org agenda64168 -Node: Heading styles72611 -Node: UI typeface77035 -Node: Advanced customization77934 -Node: More accurate colors in terminal emulators79481 -Node: Visualize the active Modus theme's palette80726 -Node: Per-theme customization settings81726 -Node: Case-by-case face specs using the themes' palette83082 -Node: Face specs at scale using the themes' palette87630 -Node: Remap face with local value92431 -Node: Cycle through arbitrary colors94856 -Node: Override colors101284 -Node: Override color saturation106149 -Node: Override colors through blending111828 -Node: Font configurations for Org and others114685 -Ref: Font configurations for Org and others-Footnote-1117501 -Node: Configure bold and italic faces117688 -Node: Custom Org todo keyword and priority faces121836 -Node: Custom Org emphasis faces125509 -Node: Update Org block delimiter fontification130310 -Node: Measure color contrast132227 -Node: Load theme depending on time of day134950 -Node: Backdrop for pdf-tools135943 -Node: Decrease mode line height138795 -Node: A theme-agnostic hook for theme loading142920 -Node: Diffs with only the foreground145311 -Node: Ediff without diff color-coding148425 -Node: Face coverage150520 -Node: Supported packages150972 -Node: Indirectly covered packages157620 -Node: Notes on individual packages158640 -Node: Note on avy hints159704 -Node: Note on calendarel weekday and weekend colors160872 -Node: Note on underlines in compilation buffers162055 -Node: Note on inline Latex in Org buffers162902 -Node: Note on dimmerel163512 -Node: Note on display-fill-column-indicator-mode164997 -Node: Note on highlight-parenthesesel166560 -Node: Note on mmm-modeel background colors172549 -Node: Note for prism174864 -Node: Note for god-mode178018 -Node: Note on company-mode overlay pop-up179622 -Ref: Note on company-mode overlay pop-up-Footnote-1180312 -Ref: Note on company-mode overlay pop-up-Footnote-2180379 -Node: Note on ERC escaped color sequences180434 -Ref: Note on ERC escaped color sequences-Footnote-1181862 -Node: Note on powerline or spaceline181972 -Node: Note on SHR colors182386 -Node: Note on SHR fonts182798 -Node: Note on Ement colors and fonts183431 -Node: Note on Helm grep184956 -Node: Note on vc-annotate-background-mode186433 -Node: Note on pdf-tools link hints187318 -Node: Frequently Asked Questions189750 -Node: Is the contrast ratio about adjacent colors?190381 -Node: What does it mean to avoid exaggerations?191888 -Node: Why are colors mostly variants of blue magenta cyan?193717 -Node: What is the best setup for legibility?198030 -Node: Are these color schemes?200675 -Node: Port the Modus themes to other platforms?204395 -Node: Contributing207179 -Node: Sources of the themes207576 -Node: Issues you can help with208212 -Node: Patches require copyright assignment to the FSF209412 -Node: Acknowledgements211707 -Node: Meta214703 -Node: GNU Free Documentation License217182 -Node: Indices242534 -Node: Function index242713 -Node: Variable index244236 -Node: Concept index246450 +Node: Command prompts39517 +Node: Mode line41338 +Node: Tab style45831 +Node: Completion UIs46494 +Node: Mail citations48565 +Node: Fringes49711 +Node: Language checkers50451 +Node: Line highlighting52893 +Node: Line numbers54490 +Node: Markup55558 +Node: Matching parentheses57151 +Node: Active region58528 +Node: Diffs59941 +Node: Org mode blocks61592 +Node: Org agenda63982 +Node: Heading styles72425 +Node: UI typeface76849 +Node: Advanced customization77748 +Node: More accurate colors in terminal emulators79295 +Node: Visualize the active Modus theme's palette80540 +Node: Per-theme customization settings81540 +Node: Case-by-case face specs using the themes' palette82896 +Node: Face specs at scale using the themes' palette87444 +Node: Remap face with local value92245 +Node: Cycle through arbitrary colors94670 +Node: Override colors101098 +Node: Override color saturation105963 +Node: Override colors through blending111642 +Node: Font configurations for Org and others114499 +Ref: Font configurations for Org and others-Footnote-1117315 +Node: Configure bold and italic faces117502 +Node: Custom Org todo keyword and priority faces121650 +Node: Custom Org emphasis faces125323 +Node: Update Org block delimiter fontification130124 +Node: Measure color contrast132041 +Node: Load theme depending on time of day134764 +Node: Backdrop for pdf-tools135757 +Node: Decrease mode line height138609 +Node: A theme-agnostic hook for theme loading142734 +Node: Diffs with only the foreground145125 +Node: Ediff without diff color-coding148239 +Node: Face coverage150334 +Node: Supported packages150786 +Node: Indirectly covered packages157302 +Node: Notes on individual packages158322 +Node: Note on avy hints159386 +Node: Note on calendarel weekday and weekend colors160554 +Node: Note on underlines in compilation buffers161737 +Node: Note on inline Latex in Org buffers162584 +Node: Note on dimmerel163194 +Node: Note on display-fill-column-indicator-mode164679 +Node: Note on highlight-parenthesesel166242 +Node: Note on mmm-modeel background colors172231 +Node: Note for prism174546 +Node: Note for god-mode177700 +Node: Note on company-mode overlay pop-up179304 +Ref: Note on company-mode overlay pop-up-Footnote-1179994 +Ref: Note on company-mode overlay pop-up-Footnote-2180061 +Node: Note on ERC escaped color sequences180116 +Ref: Note on ERC escaped color sequences-Footnote-1181544 +Node: Note on powerline or spaceline181654 +Node: Note on SHR colors182068 +Node: Note on SHR fonts182480 +Node: Note on Ement colors and fonts183113 +Node: Note on Helm grep184612 +Node: Note on vc-annotate-background-mode186089 +Node: Note on pdf-tools link hints186974 +Node: Frequently Asked Questions189406 +Node: Is the contrast ratio about adjacent colors?190037 +Node: What does it mean to avoid exaggerations?191544 +Node: Why are colors mostly variants of blue magenta cyan?193373 +Node: What is the best setup for legibility?197686 +Node: Are these color schemes?200331 +Node: Port the Modus themes to other platforms?204051 +Node: Contributing206835 +Node: Sources of the themes207232 +Node: Issues you can help with207868 +Node: Patches require copyright assignment to the FSF209068 +Node: Acknowledgements211363 +Node: Meta214359 +Node: GNU Free Documentation License216838 +Node: Indices242190 +Node: Function index242369 +Node: Variable index243892 +Node: Concept index246106  End Tag Table diff --git a/doc/modus-themes.org b/doc/modus-themes.org index 4efb628..a3bc468 100644 --- a/doc/modus-themes.org +++ b/doc/modus-themes.org @@ -5,9 +5,9 @@ #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 2.0.0 -#+macro: release-date 2021-12-24 -#+macro: development-version 2.1.0-dev +#+macro: stable-version 2.1.0 +#+macro: release-date 2022-02-17 +#+macro: development-version 2.2.0-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -799,8 +799,6 @@ their documentation strings. :end: #+vindex: modus-themes-box-buttons -[ Part of {{{development-version}}} ] - Brief: Control the style of buttons in the Custom UI and related. Symbol: ~modus-themes-box-buttons~ (=choice= type, list of properties) @@ -1074,7 +1072,7 @@ Possible values: 1. ~nil~ (default) 2. ~moderate~ 3. ~opinionated~ -4. ~super-opinionated~ [ part of {{{development-version}}} ] +4. ~super-opinionated~ This is a special option that has different effects depending on the completion UI. The interfaces can be grouped in two categories, based @@ -1124,7 +1122,7 @@ Symbol: ~modus-themes-mail-citations~ (=choice= type) Possible values: 1. ~nil~ (default) -2. ~intense~ [ Introduced as part of {{{development-version}}}. ] +2. ~intense~ 3. ~faint~ 4. ~monochrome~ @@ -1332,9 +1330,6 @@ updated to accommodate this aesthetic. :end: #+vindex: modus-themes-markup -[ Introduced as part of {{{development-version}}}. Supersedes the - ~modus-themes-intense-markup~ toggle. ] - Brief: Choose style of markup in Org, Markdown, and others (affects constructs such as Org's ==verbatim== and =~code~=). @@ -3663,7 +3658,7 @@ have lots of extensions, so the "full support" may not be 100% true… + change-log and log-view (such as ~vc-print-log~, ~vc-print-root-log~) + cider + circe -+ citar [ part of {{{development-version}}} ] ++ citar + color-rg + column-enforce-mode + company-mode* @@ -3712,7 +3707,7 @@ have lots of extensions, so the "full support" may not be 100% true… + elfeed-score + elpher + embark -+ ement [ part of {{{development-version}}} ] ++ ement + emms + enh-ruby-mode (enhanced-ruby-mode) + epa @@ -3804,7 +3799,7 @@ have lots of extensions, so the "full support" may not be 100% true… + marginalia + markdown-mode + markup-faces (~adoc-mode~) -+ mct [ part of {{{development-version}}} ] ++ mct + mentor + messages + minimap @@ -3852,7 +3847,7 @@ have lots of extensions, so the "full support" may not be 100% true… + proced + prodigy + pulse -+ pyim [ part of {{{development-version}}} ] ++ pyim + quick-peek + racket-mode + rainbow-blocks @@ -3875,8 +3870,8 @@ have lots of extensions, so the "full support" may not be 100% true… + side-notes + sieve-mode + skewer-mode -+ slime (slbd) [ part of {{{development-version}}} ] -+ sly [ part of {{{development-version}}} ] ++ slime (slbd) ++ sly + smart-mode-line + smartparens + smerge @@ -4565,8 +4560,6 @@ This is a non-exhaustive list. :custom_id: h:8e636056-356c-4ca7-bc78-ebe61031f585 :end: -[ Part of {{{development-version}}} ] - The =ement.el= library by Adam Porter (also known as "alphapapa") defaults to a method of colorizing usernames in a rainbow style. This is controlled by the user option ~ement-room-prism~ and can be disabled with: diff --git a/modus-operandi-theme.el b/modus-operandi-theme.el index 7258d4b..aac5b04 100644 --- a/modus-operandi-theme.el +++ b/modus-operandi-theme.el @@ -4,7 +4,7 @@ ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes -;; Version: 2.0.0 +;; Version: 2.1.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/modus-themes.el b/modus-themes.el index 0e9267f..a902cc8 100644 --- a/modus-themes.el +++ b/modus-themes.el @@ -4,8 +4,8 @@ ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes -;; Version: 2.0.0 -;; Last-Modified: <2022-02-17 06:17:19 +0200> +;; Version: 2.1.0 +;; Last-Modified: <2022-02-17 10:36:27 +0200> ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/modus-vivendi-theme.el b/modus-vivendi-theme.el index 84a9735..3e78a6c 100644 --- a/modus-vivendi-theme.el +++ b/modus-vivendi-theme.el @@ -4,7 +4,7 @@ ;; Author: Protesilaos Stavrou ;; URL: https://gitlab.com/protesilaos/modus-themes -;; Version: 2.0.0 +;; Version: 2.1.0 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility