diff --git a/CHANGELOG.org b/CHANGELOG.org index f9fd605..e19d996 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -15,6 +15,703 @@ For further details, please consult these additional resources: + Manual :: + Screenshots :: +* 4.0.0 +:PROPERTIES: +:CUSTOM_ID: h:cd353ccc-daf5-4ee5-885a-b3f21be92b66 +:END: + +This is the biggest release in the history of the project. +Previously, a new version would consist of about 100 commits to the +Git repository. This one includes 400+ of them in the span of one +month. The out-of-the-box looks of the themes are largely the same as +before, though I have made a lot of internal changes that affect how +the themes are instantiated and customised. + +As part of this development cycle, I produced publications informing +users of the upcoming changes, while demonstrating the new feature of +overriding the colour palette and its semantic mappings. + +- 2022-12-03 Emacs: breaking changes coming to 'modus-themes' version 4 :: +- 2022-12-07 Emacs: change colour values and mappings in Modus themes version 4 :: +- 2022-12-17 Emacs: modus-themes version 4 demo [video] :: +- 2022-12-28 Emacs: note for MELPA or Git users of the Modus themes ahead of version 4 :: + +I did this in the hope of preparing users for the refactored Modus +themes, though I understand that not everyone has had the chance to +consult those entries. The general idea is that *old custom code will +not work* and most user options are either removed or confined to a +more precise scope. + +Custom code will not work because the named colours of the palettes +have changed. Many user options are made redundant by the new +overrides' system. Specifically, if an option pertains to +colouration, it is now done via overrides instead of the old method of +me hardcoding styles (e.g. for stuff like "rainbow" headings). + +More details below. This is a long entry. Please take your time to +study it before upgrading to the new version of the themes. + +** There now are six Modus themes for more legibility needs +:PROPERTIES: +:CUSTOM_ID: h:f305dd08-a713-4369-a16d-af9403ab6c22 +:END: + +Quoting from the manual's "Overview" section: + +#+begin_quote +The Modus themes consist of six themes, divided into three subgroups. + +- Main themes :: ~modus-operandi~ is the project's main light theme, + while ~modus-vivendi~ is its dark counterpart. These two themes are + part of the project since its inception. They are designed to cover + a broad range of needs and are, in the opinion of the author, the + reference for what a highly legible "default" theme should look + like. + +- Tinted themes :: ~modus-operandi-tinted~ and ~modus-vivendi-tinted~ + are variants of the two main themes. They slightly tone down the + intensity of the background and provide a bit more color variety. + ~modus-operandi-tinted~ has a set of base tones that are shades of + light ochre (earthly colors), while ~modus-vivendi-tinted~ gives a + night sky impression. + +- Deuteranopia themes :: ~modus-operandi-deuteranopia~ and its + companion ~modus-vivendi-deuteranopia~ are optimized for users with + red-green color deficiency. This means that they do not use red and + green hues for color-coding purposes, such as for diff removed and + added lines. Instead, they implement colors that are discernible by + users with deueteranopia or deuteranomaly (mostly yellow and blue + hues). +#+end_quote + +All six themes will be included in Emacs 30 (~modus-operandi~ and +~modus-vivendi~ are in Emacs since August 2020). I asked about it on +the emacs-devel mailing list and received the approval of Eli +Zaretskii, one of the Emacs maintainers. The full thread: +. + +*** New command to select one of the Modus themes +:PROPERTIES: +:CUSTOM_ID: h:e4f011c4-46d3-4e4f-ad3e-9a609ef8bd5e +:END: + +The ~modus-themes-select~ command uses minibuffer completion to load +one of the six themes in the collection. Loading a Modus theme +disables all other Modus themes. + +NOTE that Emacs can load multiple themes, which typically produces +undesirable results and undoes the work of the designer. Use the +~disable-theme~ command if you are trying other themes beside the +Modus collection. + +*** New user option to specify themes to toggle +:PROPERTIES: +:CUSTOM_ID: h:c4efdaca-505b-4724-81b4-4a5340cbcaba +:END: + +The ~modus-themes-to-toggle~ is a variable that affects the command +~modus-themes-toggle~. By default, the toggling happens between the +~modus-operandi~ and ~modus-vivendi~ themes, as was always the case. +Though with the addition of new themes, it is possible to change this +to something like: + +#+begin_src emacs-lisp +(setq modus-themes-to-toggle '(modus-operandi-deuteranopia modus-vivendi-deuteranopia)) +#+end_src + +If ~modus-themes-to-toggle~ does not specify two Modus themes, the +~modus-themes-toggle~ command will prompt with completion for a theme +among the collection (this is practically the same as the aforementioned +~modus-themes-select~ command). + +** Colour palettes and their overrides are much more powerful +:PROPERTIES: +:CUSTOM_ID: h:c20673d3-d992-4827-bd24-80329962dc8e +:END: + +In previous versions, there were options to override colour values. +Those were difficult to use as they (i) required expertise on picking +the correct values and (ii) it was not clear which colour was used +where. + +The new version broadens the colour palette to include *named colours* +and *semantic colour mappings*. Named colours are associations +between a symbol and a colour value, such as =(blue-warmer "#354fcf")=. +While semantic colour mappings apply those named colours to specific +constructs such as =(heading-2 yellow-faint)= for all level 2 headings. + +What this means is that overrides can now be targeted at semantic +mappings as well to refashion practically every aspect of the themes. +The manual provides lots of examples that can be copied and used +directly. For example, it is possible to change the sequence of +colours in headings so that, say, there is a colour-coding that +denotes depth. Links to relevant entries are included in this +document. + +The ~modus-themes-common-palette-overrides~ user option contains +entries that are shared between all the themes. While there also +exist theme-specific options such as ~modus-operandi-palette-overrides~. + +For technical insight into the palette overrides, consult the manual: +. + +For practical examples check "Stylistic variants using palette +overrides" and its subsections: +. + +** Preset overrides for faint or intense colouration +:PROPERTIES: +:CUSTOM_ID: h:5ba76bb2-9ca8-4202-aca3-31aaca239d94 +:END: + +The palette overrides are comprehensive and can be tweaked in a +detailed way. Still, users may prefer to use the presets for a +"faint" or "intense" style. These presets showcase the new feature by +styling elements that were previously not subject to configuration. +They also provide the convenience of a common set of stylistic +patterns. + +Read the "Palette override presets" section in the manual for how to +use and/or extend those: +. + +** Named colours are more meaningful +:PROPERTIES: +:CUSTOM_ID: h:94e59644-8ef8-4a46-9666-a241ba04b21a +:END: + +In the past, the variants of the main accent colours were named like: + +- =red= +- =red-alt= +- =red-alt-other= + +The improved naming scheme changes those to: + +- =red= +- =red-warmer= +- =red-cooler= + +Semantically, the "warmer" variants have more yellow or red while the +"cooler" ones have greater contribution of cyan or blue. As such, the +user can expect =green-warmer= to be an olive green and =green-cooler= +to be that of the pine (though olive trees can have blue-green +colouration and pine trees can be "warmer", but I digress). + +Named colours can be previewed with the commands +~modus-themes-list-colors~ (alias ~modus-themes-preview-colors~) and +~modus-themes-list-colors-current~ (alias +~modus-themes-preview-colors-current~). + +Those commands accept a =C-u= prefix argument, in which case they show +the semantic colour mappings. + +** Rationalisation of the colour palette +:PROPERTIES: +:CUSTOM_ID: h:cb378214-54a1-4b5b-a801-aa206b94ae38 +:END: + +In previous versions, there were a lot of named colours that were +added ad-hoc, such as =fg-special-cold= and =bg-special-calm-faint=. +There was no clear design pattern behind them, nor was it obvious +where those colours should be used. Furthermore, there were colours +that were reserved for the various permutations of user options. + +This was too complex for users who wanted/needed to refashion aspects +of the themes. It was also difficult to maintain. + +The new palettes are more streamlined and their application is more +predictable. This only matters to users who tweak the themes: it +makes their life easier, although it does render inapplicable any +previous custom code. + +** Deprecation of user options +:PROPERTIES: +:CUSTOM_ID: h:fcaa0f80-7e78-44b1-ab04-90acb0046139 +:END: + +The following subsections explain the topics in further detail. The +general idea for this change is that palette overrides provide a more +powerful, more flexible, and less complex alternative. The code base +is considerably smaller. + +With overrides, I can now provide support to cases such as: + +- Users who need different sets of greys as their monitor has + inadequate colour reproduction (this is much more common than you + think). +- Users who want to make individual elements stand out, such as to + turn the delimiters of Org source blocks (the =#+begin_src= and + =#+end_src= lines) into, say, a shade of red. +- Users who want to tone down the =TODO= and =DONE= keywords while + making headings more colourful. Or the inverse, or any combination + in-between the extremes. +- Users who want Org property drawers to be more colourful but inline + code to be faint. + +You get the idea... All these and many more are now possible. +Whereas in the past I would either have to tell people that it is not +possible or hardcode a stylistic alternative via user options, thus +further complicating the code base. + +Catering to all those use-cases is important due to the maximalist +scope of the Modus themes: I cannot tell people to use another theme, +because here is where they come for their legibility needs. This is +consistent with my experience that accessibility is not a +one-size-fits-all and that the most accessible design is that which is +flexible, ceteris paribus. + +*** ~modus-themes-intense-mouseovers~ +:PROPERTIES: +:CUSTOM_ID: h:7f4a658a-613b-4ab9-bc05-d9aa6179830b +:END: + +This user option would amplify the background colour of mouse hover +effects (technically, the ~highlight~ and ~mode-line-highlight~ +faces). It always used a blue colour. + +The same effect can now be achieved via overrides, except it is now +possible to use any background colour or level of intensity that is +provided by the themes' palette. The manual provides concrete +examples: . + +*** ~modus-themes-org-agenda~ +:PROPERTIES: +:CUSTOM_ID: h:778abb81-4bcb-4a5c-85eb-eec9f417a443 +:END: + +This was a complex user option that was hard to test, document, and +maintain. Most aspects of the Org agenda can be affected via +overrides, as demonstrated in the manual: +. + +*** ~modus-themes-fringes~ +:PROPERTIES: +:CUSTOM_ID: h:b1ee38d7-45a0-474b-8c97-774f61462cc6 +:END: + +This user option provided two shades of grey and the option for an +invisible background for the Emacs fringe. The same and better can be +done via overrides, as shown in the manual: +. + +*** ~modus-themes-lang-checkers~ +:PROPERTIES: +:CUSTOM_ID: h:ad06917b-a078-48c8-97e8-1182e085a15c +:END: + +This was another complex user option that offered several stylistic +variants of dubious value. The main problem it had is that linter +highlights are often applied automatically, so any super intense style +becomes unusable. Same when a file has lots of warnings/errors. + +The semantic colour mappings I provide for this case are limited to +underlines, which I think is the most usable/legible design. The +manual provides concrete examples on how to tweak those: +. + +*** ~modus-themes-mode-line~ +:PROPERTIES: +:CUSTOM_ID: h:1b82b764-97f5-406a-8440-bae415c7d294 +:END: + +Yet another very complex user option that I removed in the interest of +maintainability. All its stylistic permutations (and more) for +colours are possible via overrides: + +- Make the mode line borderless :: +- Make the active mode line colorful :: + +It is also possible to add padding to the mode line, though I explain +why this was always a dirty hack: +. + +*** ~modus-themes-diffs~ +:PROPERTIES: +:CUSTOM_ID: h:dd2879a4-37c1-4ded-bc7e-24a217248961 +:END: + +I have redesigned all diff-related colours to improve their usability. +They are less intense than before, but still stand out clearly. I am +purposefully not documenting how to use overrides here as I want users +to give this redesign a try. We can always document and refine things +at a later point. + +*** ~modus-themes-subtle-line-numbers~ +:PROPERTIES: +:CUSTOM_ID: h:bcce1b94-a223-4324-b0a6-940e389819a8 +:END: + +This was a simple, but ultimately very limited option. We can do much +better with overrides because we can tweak every aspect of this +interface without making the code more complex. The manual shows how +to do it in style: +. + +*** ~modus-themes-markup~ +:PROPERTIES: +:CUSTOM_ID: h:5eedfd24-9480-4b76-8b64-e625d3220a8d +:END: + +This was a poorly named user option that only affected inline code +elements in prose. The new semantic colour mappings provide more +points of entry and thus make it easier to tweak things to one's +liking (including tables, property drawers, source block delimiters +(the =#+begin_src= and =#+end_src= lines)), and more. The manual +shows how: +. + +*** ~modus-themes-paren-match~ +:PROPERTIES: +:CUSTOM_ID: h:8dbe54c3-5bfc-424c-8952-f68015f6c6c4 +:END: + +The colouration of matching parentheses of the ~show-paren-mode~ can +still be affected via overrides: +. + +*** ~modus-themes-syntax~ +:PROPERTIES: +:CUSTOM_ID: h:22910131-87bf-4c03-bbf4-aac3010b570a +:END: + +This was a user option that controlled the colouration of programming +modes. We can reproduce it with overrides, except we now also have +the freedom to adapt things further: + +- Make comments yellow and strings green :: +- Make code syntax use the old alt-syntax style :: +- Make use of alternative styles for code syntax :: + +*** ~modus-themes-links~ +:PROPERTIES: +:CUSTOM_ID: h:68d41ee9-d277-45f9-a6cd-543dac9282c8 +:END: + +The colouration of links can now be affected via palette overrides, as +documented in the manual: +. + +*** ~modus-themes-region~ +:PROPERTIES: +:CUSTOM_ID: h:b97b78df-9ed9-4173-8de2-303851231e06 +:END: + +Overrides can be used to affect the region's colouration and/or to +prevent the active region highlight from changing the underlying text +colour. As always, the manual covers the details: +. + +*** ~modus-themes-deuteranopia~ +:PROPERTIES: +:CUSTOM_ID: h:e5fee2a1-2ace-4b4b-9aea-554d2b4a7c2d +:END: + +Instead of this rather limited option, users are advised to use the +new bespoke themes: ~modus-operandi-deuteranopia~ and +~modus-vivendi-deuteranopia~. They are designed to cater to the needs +of people with red-green colour deficiency. + +*** ~modus-themes-mail-citations~ +:PROPERTIES: +:CUSTOM_ID: h:bb8a81c5-d0c1-4150-bf7a-254d1684d95e +:END: + +All parts of an email composition buffer (per the standard +=message.el= library) are configurable via palette overrides. Not +just citation lines, but also message headers. The manual shows +several stylistic alternatives: +. + +Note that apart from this change, I also redesigned several faces that +affect emails. This was done in the interest of consistency and to +avoid some exaggerations. + +*** ~modus-themes-tabs-accented~ +:PROPERTIES: +:CUSTOM_ID: h:1574b5bc-d615-4053-9bbf-79396745519b +:END: + +I do not provide documentation on how to reproduce this style because +I think it was not widely used. It is possible to do it with +overrides. If anyone needs it, they are invited to contact me about +it. + +*** ~modus-themes-box-buttons~ +:PROPERTIES: +:CUSTOM_ID: h:19c81a75-a65e-49cb-83e5-c44167821865 +:END: + +All "graphical" buttons use a proportionately spaced font +(~variable-pitch~) by default as it helps with legibility. The +colours of those buttons can be changed by overriding the relevant +entries: +. + +[ Use my ~fontaine~ package to affect fonts via faces and to apply + presets for various contexts. ] + +** Changes to remaining user options +:PROPERTIES: +:CUSTOM_ID: h:c93db0f4-1032-411a-881e-0c5fd23480cf +:END: + +*** The ~modus-themes-headings~ also affects the Org agenda +:PROPERTIES: +:CUSTOM_ID: h:c2f088b6-dc84-4285-9ece-c877be6b274f +:END: + +This user option applies to heading level 0 through 8 and also to the +agenda date and structure constructs. Here is a complete example: + +#+begin_src emacs-lisp +(setq modus-themes-headings ; read the manual's entry of the doc string + '((0 . (variable-pitch light 1.9)) + (1 . (variable-pitch light 1.8)) + (2 . (variable-pitch regular 1.7)) + (3 . (variable-pitch regular 1.6)) + (4 . (variable-pitch regular 1.5)) + (5 . (variable-pitch 1.4)) ; absence of weight means `bold' + (6 . (variable-pitch 1.3)) + (7 . (variable-pitch 1.2)) + (agenda-date . (semilight 1.5)) + (agenda-structure . (variable-pitch light 1.9)) + (t . (variable-pitch 1.1)))) +#+end_src + +*** The ~modus-themes-headings~ no longer affects colours +:PROPERTIES: +:CUSTOM_ID: h:bb0bac60-ad22-4699-9579-881431972294 +:END: + +All colour-related changes can be done via palette overrides. This +gives the user maximum flexibility on the choice of applied colours +(e.g. to have alternating contrasting foregrounds or shades of the +same hue). The manual shows several examples: +. + +*** The ~modus-themes-completions~ is simpler +:PROPERTIES: +:CUSTOM_ID: h:0b29c525-7def-4149-a26b-70ca5e021a27 +:END: + +It no longer covers =popup= entries as distinct from =selection=. +This is because I revised all the applicable colours and faces to +consolidate styles. + +The =matches= and =selection= keys now read the same list of values. + +All changes to colours are done through palette overrides, as +demonstrated in the manual (again, far more flexible): +. + +*** The ~modus-themes-prompts~ is simpler +:PROPERTIES: +:CUSTOM_ID: h:7e5b9fea-b696-4e8a-bebe-a7fbb0eb460a +:END: + +This user option now only affects the typographic features of prompts. +It can read any font weight, as explained in its documentation. +Colours are influenced by semantic colour mappings in the palette and +can be overridden accordingly. The manual shows several styles: +. + +*** Auto-reload theme when configuring via Custom +:PROPERTIES: +:CUSTOM_ID: h:b26a2a1f-ee1e-4001-a3d0-4d4d7cb4fd5f +:END: + +The user option ~modus-themes-custom-auto-reload~ supersedes the old +~modus-themes-inhibit-reload~. It is now set to a non-~nil~ value by +default. + +We do this as a convenience for users who tweak theme settings via the +Custom UI and who do not know that all modifications to user options +require a theme re-load for changes to take effect. Read more in the +manual: +. + +** Deprecation of public functions +:PROPERTIES: +:CUSTOM_ID: h:8167bf46-7a43-4b46-b2ed-a66e5d73bb96 +:END: + +The ~modus-themes-color~ and ~modus-themes-color-alts~ are deprecated. +Users are invited to concentrate on the ~modus-themes-with-colors~ +macro. The manual provides several examples on that front. + +The ~modus-themes-load-themes~ is no longer necessary due to the +refactoring of the code base. + +The ~modus-themes-load-operandi~ and ~modus-themes-load-vivendi~ are +superseded by the general ~modus-themes-load-theme~. It accepts the +symbol of a Modus theme as its argument. + +The command ~modus-themes-report-bug~ is no more. Just send an email +to the mailing list or to me privately. Find the information with +=M-x describe-package= and then specify =modus-themes=. +Alternatively, check my website: . + +** Removed support for some packages +:PROPERTIES: +:CUSTOM_ID: h:34ffc5ed-574d-44f1-8a27-c2e6bb8c69e0 +:END: + +These are the most notable packages that are no longer supported: + +- ~dired+~ +- ~lsp-mode~ +- ~helm~ +- ~treemacs~ + +The reason is that they are very hard to use for me as an outsider. +They provide lots of features, which means that I cannot easily +identify faces in their context unless I become an expert in the +relevant functionality. + +Other removed packages: + +- ~artbollocks-mode~. Use ~writegood-mode~. +- ~apropos~. Its default faces are fine. +- ~awesome-tray~. +- ~bbdb~ and ~ebdb~. They are hard to set up, but their faces are + usable. +- ~calfw~. Hard to set up and also seems to no longer be maintained. +- ~easy-jekyll~ +- ~dir-treeview~ +- ~eros~ +- ~eshell-git-prompt~ +- ~eshell-prompt-extras~ +- ~eshell-syntax-highlighting~ +- ~evil-goggles~ +- ~evil-snipe~ +- ~evil-visual-mark-mode~ +- ~fountain-mode~. I need someone who uses it to help me test it. +- ~macrostep~ +- ~mentor~ +- ~mini-modeline~ +- ~mmm-mode~. I need someone who uses it to help me test it. +- ~org-table-sticky-header~. +- ~phi-grep~ +- ~pomidor~ +- ~rainbow-blocks~. Use Adam Porter's (aka alphapapa) =prism.el=. +- ~semantic~ +- ~smartparens~ +- ~spaceline~ +- ~sx~ +- ~telephone-line~ +- ~tomatinho~ +- ~winum~ +- ~xterm-color~. + +** Thanks for their feedback on the development of version 4 +:PROPERTIES: +:CUSTOM_ID: h:bdaa3eaf-67e8-4de8-b8d5-7b11fa28dbcd +:END: + +In alphabetical order: + +- Aleksei Pirogov :: Noticed that there were no semantic colour + mappings for the ~rainbow-delimiters~ (and related), thus reminding + me to make the requisite arrangements. Aleksei also spotted a + regression during the development of the "faint" overrides' preset. + These were done on the GitHub mirror: + + - + - + +- Anders Johansson :: Pointed out some irregularities with the use of + ~make-obsolete~ in the =version-4= development branch. I should be + using ~make-obsolete-variable~ in some cases: + + +- Charlotte Van Petegem :: Reminded me to document how to reproduce + the old "alt-syntax" style by using palette overrides: + + +- Christian Tietze :: Spotted a bug in how shared palette overrides + would not be read in certain scenaria. Also suggested tweaks to the + documentation, which reminded me of tasks that still had to be done: + + - + - + - + +- Daniel Mendler (aka @minad on GitHub) :: Contacted me to comment on + the general redesign. From the discussion I learnt that preset + overrides would be useful. This information is shared with + permission, as it was done via a private channel. + +- James Ferguson :: Commented on the colours of the tab-bar and thus + inspired me to define relevant semantic colour mappings: + + +- Philip Kaludercic :: Opined that the ~modus-themes-inhibit-reload~ + should not be deprecated in the interest of usability. As noted + above, its functionality is preserved and now enabled by default in + ~modus-themes-custom-auto-reload~. Through the discussion we also + arrived at the concept of shared palette overrides instead of only + having theme-specific ones: + + - + - + +- Tony Zorman :: Noted that there was no clear upgrade path to + version 4. This helped me explain some of the technicalities of + packaging and of the themes' redesign, but also to update the + manual: + . + +- a1ks :: Reported a bug caused by the typo of an extra backtick. + This was done on the GitHub mirror: + . + +- soaringbind :: Identified some omissions in the code where I forgot + to update certain Avy and Org faces. This continued in a second + thread about the use of some obsolete faces: + + - + - + +- tumashu :: Experimented with the overrides and thus helped me + identify an area where the documentation could be improved. This + was done on the GitHub mirror: + + - + - + +- wakamenod :: Encountered a bug that was caused by a mistake of mine + that affected how themes are instantiated. This was done on the + GitHub mirror: . + +** The largest release to date +:PROPERTIES: +:CUSTOM_ID: h:54a6bcd1-6ba0-42ed-8fdd-b83ee3efee73 +:END: + +There are many more changes that I did not describe. This already +lengthy document is me covering just the headline features. The gist +is that I spent the last month refactoring and testing the themes to +ensure they can cope with the needs of users for years to come. + +I understand that the palette overrides are a new way of doing things +and that some users may be inconvenienced over the short-term as they +update their configurations. I strongly believe that this system is +better and the Modus themes can now cover all the legibility needs of +users, while also catering to their aesthetic preferences. + ++ Package name (GNU ELPA): ~modus-themes~ ++ Official manual: ++ Change log: ++ Colour palette: ++ Sample pictures: ++ Git repo on SourceHut: + - Mirrors: + + GitHub: + + GitLab: ++ Mailing list: ++ Backronym: My Old Display Unexpectedly Sharpened ... themes + * 3.0.0 :PROPERTIES: :CUSTOM_ID: h:6829db8d-52c5-43a8-a026-f213dcfaced9 @@ -166,7 +863,7 @@ Miscellaneous These prompts are consistent with how 'load-theme' works, but not with what the user of 'modus-themes-toggle' has come to expect. - + Users who do not like to maintain a 'custom-file' (like me) are thus penalised each time they invoke the command. @@ -1396,13 +2093,13 @@ Changes to supported faces or packages ,* Improved the colours used by 'avy' to always guarantee constrast in hueness between side-by-side characters with a variety of user settings. I tried various styles, such as: - + (setq avy-style 'pre) (setq avy-style 'at-full) For the sake of completeness, I also ran tests by modifying the 'avy-lead-faces' (which is a 'defconst', not a 'defcustom'): - + (setq avy-lead-faces '(avy-lead-face avy-lead-face-0 @@ -1429,7 +2126,7 @@ Changes to supported faces or packages Avy styles. Thanks to Daniel Mendler (Vertico's developer) for the reminder: . - + ,* Applied warmer though still not saturated colours for Org clocking overlays. The previous style could be mistaken for a mouse highlight or the highlighted line if 'modus-themes-hl-line' included the diff --git a/doc/modus-themes.info b/doc/modus-themes.info index f3de238..329c544 100644 --- a/doc/modus-themes.info +++ b/doc/modus-themes.info @@ -39,15 +39,15 @@ Copyright (C) 2020-2022 Free Software Foundation, Inc. modify this GNU manual.” This manual, written by Protesilaos Stavrou, describes the -customization options for the ‘modus-operandi’ and ‘modus-vivendi’ -themes, and provides every other piece of information pertinent to them. +customization options for the Modus themes, and provides every other +piece of information pertinent to them. The documentation furnished herein corresponds to stable version -pre-4.0.0, released on N/A. Any reference to a newer feature which does -not yet form part of the latest tagged commit, is explicitly marked as -such. +4.0.0, released on 2023-01-01. 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 4.0.0-dev. + Current development target is 4.1.0-dev. • Package name (GNU ELPA): ‘modus-themes’ • Official manual: @@ -699,10 +699,7 @@ File: modus-themes.info, Node: Custom reload theme, Next: Bold constructs, Up 4.1 Option for reloading the theme on custom change =================================================== -[ Revised as part of 4.0.0-dev. It used to be named -‘modus-themes-inhibit-reload’. ] - - Brief: Toggle reloading of the active theme when an option is changed +Brief: Toggle reloading of the active theme when an option is changed through the Custom UI. Symbol: ‘modus-themes-custom-auto-reload’ (‘boolean’ type) @@ -811,10 +808,7 @@ File: modus-themes.info, Node: Command prompts, Next: Completion UIs, Prev: M 4.5 Option for command prompt styles ==================================== -[ Refactored as part of 4.0.0-dev. Made it possible to specify any font -weight. Removed all color permutations. Use overrides for those. ] - - Brief: Control the style of command prompts (e.g. minibuffer, shell, +Brief: Control the style of command prompts (e.g. minibuffer, shell, IRC clients). Symbol: ‘modus-themes-prompts’ (‘choice’ type, list of properties) @@ -870,12 +864,7 @@ File: modus-themes.info, Node: Completion UIs, Next: Org mode blocks, Prev: C 4.6 Option for completion framework aesthetics ============================================== -[ Refactored with breaking changes as part of 4.0.0-dev. We removed the -optional intense styles as there now is a uniform intensity: the subtle -gray selection line is no longer available. Changes to colors can be -implemented via the overrides. ] - - Brief: Set the overall style of completion framework interfaces. +Brief: Set the overall style of completion framework interfaces. Symbol: ‘modus-themes-completions’ (‘alist’ type properties) @@ -984,12 +973,7 @@ File: modus-themes.info, Node: Heading styles, Next: UI typeface, Prev: Org m 4.8 Option for the headings’ overall style ========================================== -[ Refactored with breaking changes as part of 4.0.0-dev. Removed the -optional styles of an added foreground, background, and overline. Added -‘agenda-date’ and ‘agenda-structure’ keys for the Org agenda headings. -] - - Brief: Heading styles with optional list of values per heading level. +Brief: Heading styles with optional list of values per heading level. Symbol: ‘modus-themes-headings’ (‘alist’ type, multiple properties) @@ -2427,8 +2411,7 @@ constructs in the ‘blue-warmer’ color value (*note Option for palette overrides: Palette overrides.). Aliases for those commands are ‘modus-themes-preview-colors’ and -‘modus-themes-preview-colors-current’. [ These aliases are part of -4.0.0-dev. ] +‘modus-themes-preview-colors-current’. Each row shows a foreground and background coloration using the underlying value it references. For example a line with ‘#a60000’ (a @@ -3378,7 +3361,7 @@ affected face groups. The items with an appended asterisk ‘*’ tend to have lots of extensions, so the “full support” may not be 100% true… • ace-window - • agda2-mode [Part of 4.0.0-dev.] + • agda2-mode • all-the-icons • all-the-icons-dired • all-the-icons-ibuffer @@ -3401,7 +3384,7 @@ have lots of extensions, so the “full support” may not be 100% true… • cider • circe • citar - • clojure-mode [Part of 4.0.0-dev] + • clojure-mode • column-enforce-mode • company-mode* • compilation-mode @@ -3554,7 +3537,7 @@ have lots of extensions, so the “full support” may not be 100% true… • quick-peek • rainbow-delimiters • rcirc - • rcirc-color [Part of 4.0.0-dev] + • rcirc-color • recursion-indicator • regexp-builder (also known as ‘re-builder’) • rg (rg.el) @@ -5570,116 +5553,116 @@ B.3 Concept index  Tag Table: Node: Top874 -Node: Overview7703 -Node: How do the themes look like10101 -Node: Learn about the latest changes10460 -Node: Installation10848 -Node: Install manually from source11778 -Node: Install from the archives12603 -Node: Install on GNU/Linux13202 -Node: Debian 11 Bullseye13695 -Node: GNU Guix14105 -Node: Dealing with byte compilation errors14388 -Node: Enable and load15546 -Node: Sample configuration with and without use-package18132 -Node: Differences between loading and enabling20718 -Node: Customization options22756 -Node: Custom reload theme26363 -Node: Bold constructs27361 -Node: Italic constructs28197 -Node: Mixed fonts28968 -Node: Command prompts29964 -Node: Completion UIs31916 -Node: Org mode blocks34916 -Node: Heading styles36796 -Node: UI typeface41378 -Node: Palette overrides42307 -Node: Palette override presets46739 -Node: Stylistic variants using palette overrides49236 -Node: Make the mode line borderless50895 -Node: Make the active mode line colorful52059 -Node: Make the fringe invisible or another color54006 -Node: Make links use subtle or no underlines55502 -Node: Make prompts more or less colorful56505 -Node: Make completion matches more or less colorful58175 -Node: Make comments yellow and strings green61982 -Node: Make code syntax use the old alt-syntax style63891 -Node: Make use of alternative styles for code syntax67178 -Node: Make matching parenthesis more or less intense70846 -Node: Make box buttons more or less gray72288 -Node: Make TODO and DONE more or less intense73600 -Node: Make headings more or less colorful75309 -Node: Make Org agenda more or less colorful77715 -Node: Make inline code in prose use alternative styles80453 -Node: Make mail citations and headers more or less colorful83018 -Node: Make the region preserve text colors plus other styles85719 -Node: Make mouse highlights more or less colorful87487 -Node: Make language underlines less colorful88800 -Node: Make line numbers use alternative styles90252 -Node: Advanced customization92154 -Node: More accurate colors in terminal emulators93604 -Node: Range of color with terminal emulators94845 -Node: Preview theme colors97559 -Node: Per-theme customization settings99296 -Node: Use theme colors in code with modus-themes-with-colors100661 -Node: Add padding to mode line102468 -Node: Remap face with local value105043 -Node: Font configurations for Org and others107464 -Ref: Font configurations for Org and others-Footnote-1110371 -Node: Configure bold and italic faces110558 -Node: Custom Org todo keyword and priority faces114713 -Node: Custom Org emphasis faces118278 -Node: Update Org block delimiter fontification123101 -Node: Measure color contrast125018 -Node: Load theme depending on time of day127716 -Node: Backdrop for pdf-tools128724 -Node: Toggle themes without reloading them131587 -Node: A theme-agnostic hook for theme loading132863 -Node: Custom hl-todo colors135285 -Node: Add support for solaire-mode136810 -Node: Face coverage139721 -Node: Supported packages140173 -Node: Indirectly covered packages145566 -Node: Notes on individual packages146919 -Node: Note on calendarel weekday and weekend colors148019 -Node: Note on git-gutter in Doom Emacs149167 -Node: Note on php-mode multiline comments151511 -Node: Note on underlines in compilation buffers152264 -Node: Note on inline Latex in Org buffers153101 -Node: Note on dimmerel153711 -Node: Note on display-fill-column-indicator-mode155196 -Node: Note on highlight-parenthesesel156595 -Node: Note on mmm-modeel background colors162573 -Node: Note for prism164873 -Node: Note on company-mode overlay pop-up168041 -Ref: Note on company-mode overlay pop-up-Footnote-1168771 -Ref: Note on company-mode overlay pop-up-Footnote-2168838 -Node: Note on ERC escaped color sequences168893 -Ref: Note on ERC escaped color sequences-Footnote-1170321 -Node: Note on powerline or spaceline170431 -Node: Note on SHR colors170845 -Node: Note on SHR fonts171269 -Node: Note on Ement colors and fonts171908 -Node: Note on pdf-tools link hints173418 -Node: Note on the Notmuch logo175878 -Node: Note on goto-address-mode faces176416 -Node: Frequently Asked Questions177528 -Node: Is the contrast ratio about adjacent colors?178159 -Node: What does it mean to avoid exaggerations?179666 -Node: Why are colors mostly variants of blue magenta cyan?181516 -Node: What is the best setup for legibility?185822 -Node: Are these color schemes?188467 -Node: Port the Modus themes to other platforms?192149 -Node: Contributing194921 -Node: Sources of the themes195318 -Node: Issues you can help with196212 -Node: Patches require copyright assignment to the FSF197603 -Node: Acknowledgements199823 -Node: GNU Free Documentation License203596 -Node: Indices228960 -Node: Function index229139 -Node: Variable index230171 -Node: Concept index231997 +Node: Overview7667 +Node: How do the themes look like10065 +Node: Learn about the latest changes10424 +Node: Installation10812 +Node: Install manually from source11742 +Node: Install from the archives12567 +Node: Install on GNU/Linux13166 +Node: Debian 11 Bullseye13659 +Node: GNU Guix14069 +Node: Dealing with byte compilation errors14352 +Node: Enable and load15510 +Node: Sample configuration with and without use-package18096 +Node: Differences between loading and enabling20682 +Node: Customization options22720 +Node: Custom reload theme26327 +Node: Bold constructs27230 +Node: Italic constructs28066 +Node: Mixed fonts28837 +Node: Command prompts29833 +Node: Completion UIs31638 +Node: Org mode blocks34385 +Node: Heading styles36265 +Node: UI typeface40619 +Node: Palette overrides41548 +Node: Palette override presets45980 +Node: Stylistic variants using palette overrides48477 +Node: Make the mode line borderless50136 +Node: Make the active mode line colorful51300 +Node: Make the fringe invisible or another color53247 +Node: Make links use subtle or no underlines54743 +Node: Make prompts more or less colorful55746 +Node: Make completion matches more or less colorful57416 +Node: Make comments yellow and strings green61223 +Node: Make code syntax use the old alt-syntax style63132 +Node: Make use of alternative styles for code syntax66419 +Node: Make matching parenthesis more or less intense70087 +Node: Make box buttons more or less gray71529 +Node: Make TODO and DONE more or less intense72841 +Node: Make headings more or less colorful74550 +Node: Make Org agenda more or less colorful76956 +Node: Make inline code in prose use alternative styles79694 +Node: Make mail citations and headers more or less colorful82259 +Node: Make the region preserve text colors plus other styles84960 +Node: Make mouse highlights more or less colorful86728 +Node: Make language underlines less colorful88041 +Node: Make line numbers use alternative styles89493 +Node: Advanced customization91395 +Node: More accurate colors in terminal emulators92845 +Node: Range of color with terminal emulators94086 +Node: Preview theme colors96800 +Node: Per-theme customization settings98494 +Node: Use theme colors in code with modus-themes-with-colors99859 +Node: Add padding to mode line101666 +Node: Remap face with local value104241 +Node: Font configurations for Org and others106662 +Ref: Font configurations for Org and others-Footnote-1109569 +Node: Configure bold and italic faces109756 +Node: Custom Org todo keyword and priority faces113911 +Node: Custom Org emphasis faces117476 +Node: Update Org block delimiter fontification122299 +Node: Measure color contrast124216 +Node: Load theme depending on time of day126914 +Node: Backdrop for pdf-tools127922 +Node: Toggle themes without reloading them130785 +Node: A theme-agnostic hook for theme loading132061 +Node: Custom hl-todo colors134483 +Node: Add support for solaire-mode136008 +Node: Face coverage138919 +Node: Supported packages139371 +Node: Indirectly covered packages144703 +Node: Notes on individual packages146056 +Node: Note on calendarel weekday and weekend colors147156 +Node: Note on git-gutter in Doom Emacs148304 +Node: Note on php-mode multiline comments150648 +Node: Note on underlines in compilation buffers151401 +Node: Note on inline Latex in Org buffers152238 +Node: Note on dimmerel152848 +Node: Note on display-fill-column-indicator-mode154333 +Node: Note on highlight-parenthesesel155732 +Node: Note on mmm-modeel background colors161710 +Node: Note for prism164010 +Node: Note on company-mode overlay pop-up167178 +Ref: Note on company-mode overlay pop-up-Footnote-1167908 +Ref: Note on company-mode overlay pop-up-Footnote-2167975 +Node: Note on ERC escaped color sequences168030 +Ref: Note on ERC escaped color sequences-Footnote-1169458 +Node: Note on powerline or spaceline169568 +Node: Note on SHR colors169982 +Node: Note on SHR fonts170406 +Node: Note on Ement colors and fonts171045 +Node: Note on pdf-tools link hints172555 +Node: Note on the Notmuch logo175015 +Node: Note on goto-address-mode faces175553 +Node: Frequently Asked Questions176665 +Node: Is the contrast ratio about adjacent colors?177296 +Node: What does it mean to avoid exaggerations?178803 +Node: Why are colors mostly variants of blue magenta cyan?180653 +Node: What is the best setup for legibility?184959 +Node: Are these color schemes?187604 +Node: Port the Modus themes to other platforms?191286 +Node: Contributing194058 +Node: Sources of the themes194455 +Node: Issues you can help with195349 +Node: Patches require copyright assignment to the FSF196740 +Node: Acknowledgements198960 +Node: GNU Free Documentation License202733 +Node: Indices228097 +Node: Function index228276 +Node: Variable index229308 +Node: Concept index231134  End Tag Table diff --git a/doc/modus-themes.org b/doc/modus-themes.org index cc1b40b..7d9507f 100644 --- a/doc/modus-themes.org +++ b/doc/modus-themes.org @@ -4,9 +4,9 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version pre-4.0.0 -#+macro: release-date N/A -#+macro: development-version 4.0.0-dev +#+macro: stable-version 4.0.0 +#+macro: release-date 2023-01-01 +#+macro: development-version 4.1.0-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -22,9 +22,8 @@ #+texinfo: @insertcopying This manual, written by Protesilaos Stavrou, describes the -customization options for the ~modus-operandi~ and ~modus-vivendi~ -themes, and provides every other piece of information pertinent to -them. +customization options for the Modus themes, and provides every other +piece of information pertinent to them. The documentation furnished herein corresponds to stable version {{{stable-version}}}, released on {{{release-date}}}. Any reference @@ -526,9 +525,6 @@ reloaded for changes to take effect. :end: #+vindex: modus-themes-custom-auto-reload -[ Revised as part of {{{development-version}}}. It used to be named - ~modus-themes-inhibit-reload~. ] - Brief: Toggle reloading of the active theme when an option is changed through the Custom UI. @@ -645,10 +641,6 @@ the ~fixed-pitch~ face. :end: #+vindex: modus-themes-prompts -[ Refactored as part of {{{development-version}}}. Made it possible -to specify any font weight. Removed all color permutations. Use -overrides for those. ] - Brief: Control the style of command prompts (e.g. minibuffer, shell, IRC clients). @@ -710,11 +702,6 @@ In user configuration files the form may look like this: :end: #+vindex: modus-themes-completions -[ Refactored with breaking changes as part of {{{development-version}}}. - We removed the optional intense styles as there now is a uniform - intensity: the subtle gray selection line is no longer available. - Changes to colors can be implemented via the overrides. ] - Brief: Set the overall style of completion framework interfaces. Symbol: ~modus-themes-completions~ (=alist= type properties) @@ -835,11 +822,6 @@ quote/verse blocks require setting :end: #+vindex: modus-themes-headings -[ Refactored with breaking changes as part of {{{development-version}}}. - Removed the optional styles of an added foreground, background, and - overline. Added =agenda-date= and =agenda-structure= keys for the - Org agenda headings. ] - Brief: Heading styles with optional list of values per heading level. Symbol: ~modus-themes-headings~ (=alist= type, multiple properties) @@ -2286,8 +2268,7 @@ constructs in the =blue-warmer= color value ([[#h:34c7a691-19bb-4037-8d2f-67a07e #+findex: modus-themes-preview-colors #+findex: modus-themes-preview-colors-current Aliases for those commands are ~modus-themes-preview-colors~ and -~modus-themes-preview-colors-current~. [ These aliases are part of -{{{development-version}}}. ] +~modus-themes-preview-colors-current~. Each row shows a foreground and background coloration using the underlying value it references. For example a line with =#a60000= (a @@ -3287,7 +3268,7 @@ affected face groups. The items with an appended asterisk =*= tend to have lots of extensions, so the "full support" may not be 100% true… + ace-window -+ agda2-mode [Part of {{{development-version}}}.] ++ agda2-mode + all-the-icons + all-the-icons-dired + all-the-icons-ibuffer @@ -3309,7 +3290,7 @@ have lots of extensions, so the "full support" may not be 100% true… + cider + circe + citar -+ clojure-mode [Part of {{{development-version}}}] ++ clojure-mode + column-enforce-mode + company-mode* + compilation-mode @@ -3461,7 +3442,7 @@ have lots of extensions, so the "full support" may not be 100% true… + quick-peek + rainbow-delimiters + rcirc -+ rcirc-color [Part of {{{development-version}}}] ++ rcirc-color + recursion-indicator + regexp-builder (also known as ~re-builder~) + rg (rg.el) diff --git a/modus-themes.el b/modus-themes.el index a3f1a8f..de71fe5 100644 --- a/modus-themes.el +++ b/modus-themes.el @@ -6,7 +6,7 @@ ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 4.0.0 +;; Version: 4.0.1 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility