Commit graph

246 commits

Author SHA1 Message Date
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 28fa9ad0b7
Tweak bg-hl-line for modus-operandi{,-deuteranopia} 2023-02-05 09:23:42 +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 4dca14bb16
Tweak "blue-warmer" for the light themes
It needs to be a tiny bit darker.
2023-01-23 06:59:53 +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 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 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 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 54f27735dc
Refine mode line grays for modus-{operandi,vivendi} 2022-12-27 05:50:36 +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 85eaba2c52
Tweak mode line grays for modus-{operandi,vivendi} 2022-12-26 10:13:44 +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 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 f1e6e3aa2e
Revise coloured backgrounds in the light 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:40:36 +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 cfae5212de
modus-operandi: tweak bg-completion 2022-12-15 11:12:45 +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 6ad6baf76f
Tweak identifier mapping for the light themes 2022-12-15 10:44:35 +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 449a96ea19
Tweak light themes' fg-dim 2022-12-13 11:09:40 +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
Protesilaos Stavrou a4a51097d0
Tweak border hue for the light themes 2022-12-12 08:18:34 +02:00
Protesilaos Stavrou f64ef0dfae
Refine the light theme yellow hues 2022-12-12 06:12:29 +02:00
Protesilaos Stavrou 2905104186
Add doc strings to "overrides" variables 2022-12-10 05:49:04 +02:00
Protesilaos Stavrou 6135aba08e
Add diff foregrounds for Magit
I am not adding them to diff-mode as it keeps fontification by
default.
2022-12-09 04:33:48 +02:00
Protesilaos Stavrou a3487366db
Add "weekend" mapping for Org agenda and Calendar 2022-12-09 03:53:23 +02:00
Protesilaos Stavrou 7003edbade
Remove modus-themes-headings foreground variants
The user has more flexibility now by overriding the colour mappings
directly.  The "rainbow" we provided before was limited to
predetermined colours.

Read this for the general idea (I will provided detailed documentation
as well): <https://protesilaos.com/codelog/2022-12-07-modus-themes-4-colour-values-mappings/>.
2022-12-08 09:17:46 +02:00
Protesilaos Stavrou 7c770559a6
Simplify modus-themes-region; refine colours 2022-12-08 09:01:15 +02:00
Protesilaos Stavrou f108f6554f
Add cursor mapping; tinted themes use accents for it 2022-12-07 18:47:18 +02:00
Protesilaos Stavrou 38aa4120f6
Remove superfluous headings from "*-theme.el" files* 2022-12-07 09:43:06 +02:00
Protesilaos Stavrou a722e8d041
Give meaningful names to mail mappings 2022-12-07 09:39:51 +02:00
Protesilaos Stavrou b00294eb0a
Bring back support for palette overrides
I had removed it from the modus-themes.el as part of the refactoring
that (i) simplifies the main file, and (ii) introduces colour mapping
to each theme's palette.
2022-12-07 05:28:45 +02:00
Protesilaos Stavrou b32ebbade5
Revise bg-paren-match
Makes it easier to spot it and also to distinguish it from paren
mismatch.
2022-12-05 11:24:52 +02:00
Protesilaos Stavrou c3b517da8f
Tweak mappings for rainbows 2022-12-05 10:02:24 +02:00
Protesilaos Stavrou a0d7ef7585
Tweak 'name' mappings 2022-12-03 11:25:30 +02:00
Protesilaos Stavrou 3dfc5e4943
Deprecate modus-themes-paren-match; amplify colours 2022-12-03 10:55:41 +02:00
Protesilaos Stavrou 7a686388c8
Rename bg-hover-alt to bg-hover-secondary; adapt faces 2022-12-03 10:38:46 +02:00
Protesilaos Stavrou 45269556bc
Make bg-hover-alt look distinct from bg-hover 2022-12-03 10:35:34 +02:00
Protesilaos Stavrou 16d9365fb0
modus-operandi: tweak bg-active-accent (amend 5513b63) 2022-12-02 10:10:15 +02:00
Protesilaos Stavrou 5513b63c46
Tweak bg-active-accent to work with new base backgrounds 2022-12-02 10:04:31 +02:00
Protesilaos Stavrou 17604072e4
Refine the red-faint values 2022-12-01 15:58:19 +02:00
Protesilaos Stavrou e5d336d143
Simplify all Commentary headers 2022-12-01 11:38:26 +02:00
Protesilaos Stavrou 2aecf26847
Deprecate all palette symbols
The colour palettes are now defined in the individual themes.  This
means that we can, in principle, introduce more themes without ever
expanding modus-themes.el (the user can also register their own Modus
theme variant, which we will eventually document in the manual).
2022-12-01 11:23:46 +02:00
Protesilaos Stavrou 8e7c1dc4e7
Add bg-accent mappings and adapt accordingly 2022-12-01 11:09:02 +02:00