Commit graph

161 commits

Author SHA1 Message Date
Protesilaos Stavrou fe281a7651
Use an explicit foreground for the fg-paren-match mapping 2024-03-15 07:09:31 +02:00
Protesilaos Stavrou 114ffb4141
Replace colour names with their hex values 2024-03-13 06:23:57 +02:00
Protesilaos Stavrou 80c5d25ad4
Add semantic color mapping 'fg-paren-match' 2024-03-03 08:17:53 +02:00
Protesilaos Stavrou 8f9255c5e1
Make the prose block delimiters more subtle 2024-03-02 12:01:46 +02:00
Protesilaos Stavrou 5bec85b46d
modus-vivendi-tinted: make key bindings red to fit better with the theme 2024-03-02 07:50:33 +02:00
Protesilaos Stavrou 0ae74c87e2
modus-vivendi-tinted: tweak bg-paren-match to fit better with the theme 2024-03-02 07:50:13 +02:00
Protesilaos Stavrou 3ba09931d0
DEPRECATE modus-themes-org-blocks; use semantic color mappings (and overrides) 2024-03-02 07:40:24 +02:00
Protesilaos Stavrou f4237bdb02
Update development links 2024-01-17 04:54:30 +02:00
Protesilaos Stavrou 2de70fa128
Update copyright years 2024-01-12 08:30:14 +02:00
Niall Dooley ae1b4522f3
Rearrange some lines to ease diffing
Add missing keywords line for consistency.
2023-12-16 11:57:48 +02:00
Protesilaos Stavrou 241bba6b36
Add semantic colour mappings for search 2023-12-14 07:52:11 +02:00
Protesilaos Stavrou 1d7817c05c
Recalibrate all the "nuanced" background colours
There are a tiny bit easier to spot. This means that they should be
visible even on display where colour reproduction is not optimal.
2023-12-12 12:30:57 +02:00
Protesilaos Stavrou 6940c37554
Add semantic color mappings for active arguments/values 2023-12-09 10:37:39 +02:00
Protesilaos Stavrou 186d808464
Recalibrate all nuanced backgrounds
They now are more consistent in terms of their overall intensity.
2023-12-09 09:35:43 +02:00
Protesilaos Stavrou b7b60365fb
Add 'prose-table-formula' semantinc colour mapping; use it in 'org-formula' 2023-11-24 10:14:21 +02:00
Protesilaos Stavrou b23c84e6b4
Expand 'deftheme' with metadata
This is to support new features in Emacs where themes can specify
the set they belong to, as well as whether they are light or dark.
The built-in command is 'theme-choose-variant'.

This is in response to Emacs bug#65468:
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=65468>.  Thanks to
Mauro Aranda for bringing this matter to my attention.
2023-08-25 06:37:18 +03:00
Protesilaos Stavrou 7b65e735b8
Add semantic colour mappings for terminal emulators
These are used by ansi-term, vterm, and the like.  The idea is to
empower users to differentiate background and foreground values.  By
convention, terminal emulators use the same value for both background
and foreground, although this is not optimal with high contrast themes
because what works as a foreground does not necessarily look nice as a
background.

The default values of the new mappings retain the prior state, just to
not break existing configurations.

Thanks to Tony Zorman for reporting the bug that provided the impetus
for this change:
<https://lists.sr.ht/~protesilaos/modus-themes/%3C87fs4wforf.fsf%40hyperspace%3E>.
2023-08-10 12:28:08 +03:00
Protesilaos Stavrou 4e331d27de
Revise bg-hover hue in all themes except tritanopia
The previous colour was not sufficiently distinct from bg-completion.
This would make it hard to spot the difference while, for example,
using 'vertico-mode' in tandem with 'vertico-mouse-mode'.

Same principle for the difference between the mouse hover and lazy
isearch highlights (e.g. in Dired or Occur buffers).

Changing the hue here follows the same principle that underpinned the
redesign of the grey backgrounds for version 4 of the project:
depending on hardware capabilities, colour reproduction may not be
optimal, so we need to be more considerate with the choice of colour
values.

The tritanopia themes are not affected by this, as they already use
highly distinct hues.

Thanks to Daniel Mendler[1] for bringing this matter to my attention
and for testing the proposed alternatives.  This was done via a
private channel and the information is shared with permission.

[1] <https://github.com/minad>
2023-07-07 09:52:13 +03:00
Protesilaos Stavrou 99b23d6983
Add support for japanese-holidays
Thanks to Olaf Meeuwissen for bringing this package to my attention
and showing me how traditional Japanese calendars style Saturdays.
This was done in issue 311 on the GitLab mirror:
<https://gitlab.com/protesilaos/modus-themes/-/issues/311>.
2023-06-15 07:22:14 +03:00
Protesilaos Stavrou 0557146806
Tone down the holiday mapping in some themes 2023-05-28 06:20:44 +03:00
Protesilaos Stavrou ae1d68d4b9
Ensure diary and holiday colours are distinct and legible 2023-05-22 09:10:57 +03:00
Protesilaos Stavrou 51eca51ef3
Define "prominent" faces and semantic colour mappings
These are used for Flymake/Flycheck fringe indicators, errors in
isearch, and other such highlights.
2023-05-17 09:24:57 +03:00
Protesilaos Stavrou adbd8e3f83
Add semantic colour mappings for space errors
This extends commit fe02830.
2023-05-17 07:53:00 +03:00
Protesilaos Stavrou b503206a62
Introduce semantic colour mappings for marks
These are encountered in various buffers, such as Dired and Trashed.
2023-05-17 07:38:30 +03:00
Protesilaos Stavrou fe028304d4
Make whitespace-mode much more subtle; add semantic colour mappings
The previous style involved the use of a dim grey background.  While
this is good to spot invisible characters quickly, it is bad for users
who want to run 'whitespace-mode' at all times (e.g. for Python which
is space-sensitive).

We thus remove the backgrounds by default but provide the option to
reinstate them via palette overrides (as documented at length in the
manual).  To this end, we have two new semantic colour mappings for
ordinary negative space and its invisible characters.

Thanks to Christian Tietze and Oliver Epper for their feedback in
issue 80 on the GitHub mirror: <https://github.com/protesilaos/modus-themes/issues/80>.
2023-05-17 07:17:45 +03:00
Protesilaos Stavrou 66b85092c4
Recalibrate "graph" colours
These are most notably used by the 'org-habit' consistency graph,
which is displayed in the Org agenda.
2023-05-03 07:56:27 +03:00
Protesilaos Stavrou 98690410be
Add semantic colour mapping for "date range" 2023-05-02 14:42:29 +03:00
Protesilaos Stavrou 038295f72c
Make all theme descriptions more informative 2023-03-25 17:37:33 +02:00
Protesilaos Stavrou 21099418eb
Add bg-diff-context palette entry; implement it 2023-02-04 09:09:31 +02:00
Protesilaos Stavrou 1ee4c9576f
RENAME bg-\(added\|changed\|removed\)-intense to bg-\1-fringe
This specifies what the colours are used for.  Otherwise they are
confusing.

This change breaks any colour overrides for those names.  They need to
be renamed to use "-fringe" instead of "-intense".
2023-02-04 08:31:48 +02:00
Protesilaos Stavrou 235435c68f
Refine diff colours for fringes and deuteranopia added
Thanks to Andrew Troppin for showing me some usability issues with the
previous style.  This was done via a private channel and the
information is shared with permission.
2023-02-04 08:27:02 +02:00
Protesilaos Stavrou 188f68ba43
Make it possible to have recursive palette mapping
This means that a semantic colour mapping in the palette can have as
its value another mapping.  The function will find the underlying
colour.

This solves a problem reported by Imran Khan on the mailing list:
<https://lists.sr.ht/~protesilaos/modus-themes/%3Cb7ca4702162fd575593f8ded28d9a888.contact%40imrankhan.live%3E>.

I was aware of it from before the release of version 4.0.0 but I was
hesitant to implement recursion prior to getting some feedback on the
new palette overriding feature.

Also thanks to Christian Tietze for participating in that discussion
on the mailing list.
2023-01-04 12:28:06 +02:00
Protesilaos Stavrou 953f70236d
Refine the nuanced backgrounds of the tinted themes 2023-01-03 18:05:57 +02:00
Protesilaos Stavrou 6ae40baacc
Update copyright years 2023-01-01 14:01:57 +02:00
Protesilaos Stavrou 57cb3347ad
Make sure all outline headers are the correct length 2022-12-31 15:04:53 +02:00
Protesilaos Stavrou 32dc7f9bc1
Deprecate modus-themes-region; use overrides
This is the last user option that we need to deprecate for the release
of version 4.  Now all colour-related changes happen through palette
overrides.

Thanks to Christian Tietze for reminding me about it:
<https://lists.sr.ht/~protesilaos/modus-themes/%3Cm1ilhtrs09.fsf%40christiantietze.de%3E>.
2022-12-30 18:56:51 +02:00
Protesilaos Stavrou 575644f9a3
Add uncommon accent backgrounds 2022-12-30 18:56:51 +02:00
Protesilaos Stavrou 52a848e42c
Add missing entry for paren match underline
Thanks to Tony Zorman for reminding me about it:
<https://lists.sr.ht/~protesilaos/modus-themes/%3C874jtew0gp.fsf%40hyperspace%3E>.
2022-12-30 05:26:53 +02:00
Protesilaos Stavrou 93401ca2c8
Clarify that mappings cannot be recursive
Thanks to tumashu for reminding me of this in issue 56 on the GitHub
mirror: <https://github.com/protesilaos/modus-themes/issues/56>.
2022-12-29 14:47:42 +02:00
Protesilaos Stavrou 72eb32f4fb
Implement rainbow mappings
These are now used in the rainbow-delimiters package, but there may be
more applications.

Thanks to Aleksei Pirogov for bringing this matter to my attention in
issue 54 on the GitHub mirror: <https://github.com/protesilaos/modus-themes/issues/54>.
2022-12-29 10:38:44 +02:00
Protesilaos Stavrou 2fa9a272fe
Simplify modus-themes-prompts; add overrides for its colors 2022-12-28 15:47:18 +02:00
Protesilaos Stavrou eb38b92495
Decouple accent mappings from completion 2022-12-28 14:58:12 +02:00
Protesilaos Stavrou 7c74495bf7
Give appropriate name to intense backgrounds 2022-12-28 14:56:08 +02:00
Protesilaos Stavrou 8bb44672da
Refine uncommon accents for the dark themes 2022-12-28 14:35:37 +02:00
Protesilaos Stavrou 737253a0bd
Remove some of the uncommon colors from the palettes 2022-12-28 06:34:13 +02:00
Protesilaos Stavrou 13beb314f8
Add 'date-weekday' mapping 2022-12-28 05:44:00 +02:00
Protesilaos Stavrou ff4bbd5dae
Refine colour-coded underlines 2022-12-27 07:28:20 +02:00
Protesilaos Stavrou af2efb9fe9
Refine tinted modeline colours 2022-12-27 07:02:26 +02:00
Protesilaos Stavrou 8f74db7030
Revise info mapping for all except deuteranopia 2022-12-27 06:53:29 +02:00
Protesilaos Stavrou 670bbaf869
Add intense diff foregrounds; use them for diffstat 2022-12-27 06:45:27 +02:00
Protesilaos Stavrou c45374473a
Refine mode line err, warning, info 2022-12-27 06:25:37 +02:00
Protesilaos Stavrou daeb717da8
Revise color of info mapping except for deuteranopia 2022-12-26 10:56:30 +02:00
Protesilaos Stavrou b8aa0887be
Implement mode line mappings for err, warning, info 2022-12-26 10:48:52 +02:00
Protesilaos Stavrou 83b6cfd9d7
Dim the fringe mapping 2022-12-26 10:17:26 +02:00
Protesilaos Stavrou 533595cf16
Define a 'date-now' mapping 2022-12-26 03:53:12 +02:00
Protesilaos Stavrou d8daaf85b9
Only allow 'unspecified' in palettes
Makes it easier to read for someone who is not familiar with what 't'
means for underlines.
2022-12-26 03:33:10 +02:00
Protesilaos Stavrou 9e4d1eb4c6
Remove duplicate TODOs 2022-12-25 14:49:24 +02:00
Protesilaos Stavrou e478002d82
Use overrides for heading background and overline 2022-12-24 09:09:33 +02:00
Protesilaos Stavrou 41a9d726a8
Reorganise the palettes 2022-12-24 08:49:24 +02:00
Protesilaos Stavrou 30b7868fed
Rename accent mappings for consistency 2022-12-23 13:23:32 +02:00
Protesilaos Stavrou baa8dcec18
Expand link mappings; accept 't' and 'unspecified' values 2022-12-23 13:22:54 +02:00
Protesilaos Stavrou d7affae1b6
Add nuanced accented backgrounds 2022-12-23 13:16:10 +02:00
Protesilaos Stavrou 86547e4c21
Clarify doc strings of palette overrides 2022-12-23 12:34:58 +02:00
Protesilaos Stavrou 9cd3314018
Deprecate modus-themes-links; use mappings instead 2022-12-22 12:15:15 +02:00
Protesilaos Stavrou 53e98dd349
Deprecate modus-themes-subtle-line-numbers; add mappings 2022-12-22 07:09:16 +02:00
Protesilaos Stavrou 718557503a
Make box buttons respond to palette overrides 2022-12-21 12:05:23 +02:00
Protesilaos Stavrou 912731d599
Sort date mappings A-Z 2022-12-20 09:16:39 +02:00
Protesilaos Stavrou 64ffc9d21d
Expand and refine mappings for dates 2022-12-20 09:06:05 +02:00
Protesilaos Stavrou c70713eecb
Add mappings for prose-done, prose-todo 2022-12-20 08:45:13 +02:00
Protesilaos Stavrou 3b40d82a92
Reorganise some palette mappings 2022-12-20 07:01:00 +02:00
Protesilaos Stavrou 0d49906db4
Rename 'tag' mapping to 'prose-tag' 2022-12-20 06:57:21 +02:00
Protesilaos Stavrou 3e2a8704ed
Add mappings for more prose constructs (e.g. org-mode) 2022-12-20 06:47:25 +02:00
Protesilaos Stavrou cdfbd26801
Introduce more colours (work-in-progress) 2022-12-20 06:37:33 +02:00
Protesilaos Stavrou 24e6b3e1e3
Re-order some entries in the palette 2022-12-20 04:43:46 +02:00
Protesilaos Stavrou ca4c8f6e31
Add support for font-lock-doc-markup-face
Thanks to Mattias Engdegård for bringing 'font-lock-doc-markup-face'
to my attention and for explaining the stylistic demands it has.
2022-12-19 16:38:42 +02:00
Protesilaos Stavrou b891d54771
Tweak magenta-faint across all themes 2022-12-19 13:17:35 +02:00
Protesilaos Stavrou 889c5dc34e
Add tab colours to the palette 2022-12-19 05:41:37 +02:00
Protesilaos Stavrou f01530e9b7
Update doc strings of individual theme overrides 2022-12-18 08:38:44 +02:00
Protesilaos Stavrou dab4cbfb33
Make overrides 'defcustom'; rename common overrides
Thanks to Philip Kaludercic for suggesting the conversion of these
variables to user options:
<https://lists.sr.ht/~protesilaos/modus-themes/%3C87wn6qgjkx.fsf%40posteo.net%3E#%3C87edsyvvsy.fsf@posteo.net%3E>.

They are now easier to discover through the Custom UI.  Their ':type'
can be refined.
2022-12-18 08:33:09 +02:00
Protesilaos Stavrou 3c47d71070
modus-vivendi-tinted: refine diff colours 2022-12-18 07:05:15 +02:00
Protesilaos Stavrou 7d4d93f9a8
Reposition "rx-*" mappings close to syntax entries 2022-12-18 07:04:33 +02:00
Protesilaos Stavrou 3fcf136507
Deprecate modus-themes-fringes; add 'fringe' mapping
The user can thus override the 'fringe' mapping to whatever colour
they prefer, instead of us hardcoding it to two shades of gray.

To make the 'fringe' invisible, set it to the main background.

Video tutorial on colour mappings:
<https://protesilaos.com/codelog/2022-12-17-modus-themes-v4-demo/>.
2022-12-18 06:13:46 +02:00
Protesilaos Stavrou 95bc61c7c0
Clarify the doc strings of all palette variables 2022-12-17 18:52:53 +02:00
Protesilaos Stavrou 964ad36f63
Rename graph colours for consistency 2022-12-17 13:33:29 +02:00
Protesilaos Stavrou 1b4238f51d
Add deuteranopia THEMES; remove the user option
Providing bespoke themes gives us the freedom to implement changes
wherever necessary without making the code more complex.  The now
discontinued 'modus-themes-deuteranopia' was a user option with
limited scope: it simply replaced green with blue in some contexts.
But a proper design for deuteranopia requires more than that.  These
new themes are the right solution and I am sure the people who need
them will greatly appreciate them.
2022-12-16 05:58:12 +02:00
Protesilaos Stavrou d2739d5de6
Remove all the rainbow mappings (not needed) 2022-12-15 14:49:52 +02:00
Protesilaos Stavrou 1687bd8e73
Tweak mail cite mappings to better distinguish levels 2022-12-15 13:31:25 +02:00
Protesilaos Stavrou 2555810dca
Make further refinements to main coloured backgrounds 2022-12-15 13:16:09 +02:00
Protesilaos Stavrou 87ea2fcf93
Remove the "search" entries from the palettes
There are too many interactions with other colours here.  It is better
to hardcode values, so I can predict the end results.
2022-12-15 12:59:20 +02:00
Protesilaos Stavrou 53eddd0c6b
Revise coloured backgrounds in the dark themes
You can play around with the following, changing "bg-cyan" to one of
bg-{red,green,yellow,blue,magenta}.

    (setopt modus-themes-to-toggle '(modus-operandi modus-operandi-tinted))
    (setopt modus-themes-to-toggle '(modus-vivendi modus-vivendi-tinted))

    (setq modus-operandi-palette-overrides '((bg-mode-line-active bg-cyan))
          modus-operandi-tinted-palette-overrides modus-operandi-palette-overrides
          modus-vivendi-palette-overrides modus-operandi-palette-overrides
          modus-vivendi-tinted-palette-overrides modus-operandi-palette-overrides)
2022-12-15 11:38:53 +02:00
Protesilaos Stavrou 45d529d141
modus-vivendi-tinted: change cursor hue 2022-12-15 11:38:30 +02:00
Protesilaos Stavrou fe82f31cc1
modus-vivendi-tinted: tweak bg-completion 2022-12-15 11:17:34 +02:00
Protesilaos Stavrou e3cf3945f0
Revise bg-prompt hue from teal to violet
It fits better with the themes' aesthetics.  Besides, the user can now
easily override it with the expanded mechanism that "version-4"
provides.  Overview:
<https://protesilaos.com/codelog/2022-12-07-modus-themes-4-colour-values-mappings/>.
2022-12-15 11:13:46 +02:00
Protesilaos Stavrou 6bf02afced
Remove "accented" from modus-themes-completions
The user has the option to override the bg-completion colour, which
gives them all they need.  I had already deprecated the "intense"
style earlier, though not from the docs.
2022-12-15 11:04:06 +02:00
Protesilaos Stavrou d0e8742f21
Remove bg-active-accent (see 5b73fc3) 2022-12-15 10:43:30 +02:00
Protesilaos Stavrou 5b73fc3059
Deprecate modus-themes-mode-line; add mode line mappings
Version 4 of the modus-themes is abstracting each theme's palette,
introduces semantic colour mappings, and expands the scope of the
palette overrides.  I am removing user options, but am actually giving
user more power over how to tweak the theme.  Overview:
<https://protesilaos.com/codelog/2022-12-07-modus-themes-4-colour-values-mappings/>.

As this diff demonstrates, we remove a lot of the complexity from the
themes.
2022-12-15 10:40:22 +02:00
Protesilaos Stavrou a7ff3db686
Make minor refinements to mail mappings 2022-12-13 17:55:47 +02:00
Protesilaos Stavrou 5f011b4522
Use more appropriate names for search mappings 2022-12-13 10:28:03 +02:00
Protesilaos Stavrou a205d0680b
Reduce overall colouration of mail mappings 2022-12-13 10:19:55 +02:00
Protesilaos Stavrou 2abec68c11
Refine link mappings; remove deprecated code 2022-12-12 08:19:24 +02:00