Hello there!
I would like to ask about the plain lists with checkboxes in Org mode,
such as the following list:
- [ ] A
- [ ] B
- [ ] C.
The checkboxes use a dedicated 'org-checkbox' face, but Modus Themes
does not seem to style them in any way. I searched the manual for
"checkbox" and found nothing. Thus, here I come to ask!
Could we style the checkboxes to differentiate them from the surrounding
text? I ask the question because I find it hard to orient myself in the
more complex, nested lists with checkboxes, where everything (sans the
statistics cookies) looks the same.
Thank you!
Rudy
--
"One can begin to reason only when a clear picture has been formed in
the imagination."
-- Walter Warwick Sawyer, Mathematician's Delight, 1943
Rudolf Adamkovič <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia
> From: Rudolf Adamkovič <salutis@me.com>> Date: Sat, 06 Aug 2022 20:35:15 +0200>> Hello there!
Hello Rudy,
> I would like to ask about the plain lists with checkboxes in Org mode,> such as the following list:>> - [ ] A> - [ ] B> - [ ] C.>> The checkboxes use a dedicated 'org-checkbox' face, but Modus Themes> does not seem to style them in any way. I searched the manual for> "checkbox" and found nothing. Thus, here I come to ask!
We used to style them with a grey background and a :box attribute. They
looked like buttons. Quote from the release notes of version 2.2.0 from
2022-02-23:
+ Removed the pseudo-button effect from the 'org-checkbox' face. It was
not up-to-date with the current style of the rest of the themes,
including the Org constructs for source block delimiters, the TODO
keywords, the priority cookies (e.g. '[#A]'), and others.
> Could we style the checkboxes to differentiate them from the surrounding> text? I ask the question because I find it hard to orient myself in the> more complex, nested lists with checkboxes, where everything (sans the> statistics cookies) looks the same.
In principle, yes we can style them. I just did not like the
pseudo-button.
Perhaps we can add some other effect? Maybe a foreground colour?
Should we subject them to the user option 'modus-themes-markup' like we
do with =verbatim=, ~code~, and {{{macro}}}?
If you do not have a particular preference, I will take a look and
report back to you.
Note though that there is also the excellent 'org-modern' package by
Daniel Mendler which prettifies the checkboxes (makes them look like
actual checkboxes). Any change we make must not have a negative impact
on 'org-modern'.
All the best,
Prot
--
Protesilaos Stavrou
https://protesilaos.com
For what it's worth, I was considering to add a background style to the
three characters, too, so they stand out in union a bit more. Was
thinking about a light gray, like #efefef.
Button-like styling sounds like a bit too invasive for a theme IMHO.
-- Christian
> From: Christian Tietze <me@christiantietze.de>> Date: Mon, 08 Aug 2022 11:08:10 +0200>> For what it's worth, I was considering to add a background style to the> three characters, too, so they stand out in union a bit more. Was> thinking about a light gray, like #efefef.
Yes, this is another option. Though my experience with faint grey
backgrounds is that they are practically invisible if they cover a small
surface area (ceteris paribus).
To see what I mean, use modus-operandi and:
1. Open a Markdown file (markdown-mode) with a sufficiently large fenced
code block. For example, the README.md from the modus-themes repo.
The grey background is easy to spot---and it is #f8f8f8 which is even
lighter than what you have in mind.
2. Now go to the scratch buffer and make sure it is clean. Type "foo"
and leave three empty lines. Now type 'M-s h r' and insert "foo" at
the prompt. Then at the following face selection prompt, select the
'markdown-code-face' (the one that was easy to spot earlier). Do you
see the background of "foo"? I do, but only barely and only because
I am actively searching for it. Otherwise it is invisible.
> Button-like styling sounds like a bit too invasive for a theme IMHO.
Agreed.
* * *
This granted, I have been thinking that a yellow foreground may be
decent. The rationale is that the checkbox is a quasi "todo", so it is
not red but yellow. Try this:
(set-face-attribute 'org-checkbox nil :foreground (modus-themes-color 'yellow-alt-other))
--
Protesilaos Stavrou
https://protesilaos.com
Personally, I'm not opposed to the yellow foreground. I wouldn't mind if kept the default foreground color either, though :)
Not sure about the lack of contrast in #efefef (thanks for the quick elisp to change the org-checkbox face):
(set-face-attribute 'org-checkbox nil :foreground nil :background "#efefef")
> From: Christian Tietze <me@christiantietze.de>> Date: Mon, 08 Aug 2022 13:26:33 +0200>> Personally, I'm not opposed to the yellow foreground. I wouldn't mind> if kept the default foreground color either, though :)
Noted!
> Not sure about the lack of contrast in #efefef (thanks for the quick> elisp to change the org-checkbox face):>> (set-face-attribute 'org-checkbox nil :foreground nil :background "#efefef")>> I agree #f8f8f8 is too subtle for that small rectangle:
This was just to illustrate the point that the surface area affects the
perception of colour. I think #efefef is a better choice: I can see it
much more easily. Though if a monitor's colour reproduction (gamma in
particular) is a bit off, it will make it difficult to spot.
> The yellow you picked stands out subtly, but enough even for my> deuteranopia.
Good to know.
> Maybe #efefef is worse for folks who rely on higher contrast.
This is not a big issue anyway since now we don't apply any style to it.
So if someone does not notice the grey background, they basically get
what we already have.
> I've also accidentally combined blue-alt-other with your light background:>> (set-face-attribute 'org-checkbox nil :foreground (modus-themes-color 'blue-alt-other) :background "#f8f8f8")
For me personally, a foreground is more effective than a grey background
at making the element stand out because of the small surface area.
The only problem with the foreground+grey-background combination is that
it does not fit in with the rest of the theme. You may remember that
=verbatim= and ~code~ had a background once, but now they only get it
optionally per 'modus-themes-markup'. So if we are to change
'org-checkbox' we need to make the background optional.
Does this make sense? Or do you think we should make an exception here?
> Since the org-checkbox face has no default style (Works On My> Machine™), I'll dabble with different combinations for a while. I have> the default blue accent color on macOS so my checkboxes are blue> anyway, and that could help *me* recognize them, let's see!
Please share your findings. They will help figure this out.
--
Protesilaos Stavrou
https://protesilaos.com
Protesilaos Stavrou <info@protesilaos.com> writes:
Howdy Prot!
> In principle, yes we can style them. I just did not like the> pseudo-button.>> Perhaps we can add some other effect? Maybe a foreground colour?>> If you do not have a particular preference, I will take a look and> report back to you.
I do not have any particular preference, just the need for the
checkboxes to stand out slightly, especially in complex checklists with
50+ items nested across 4+ levels. It currently looks like loose tea.
+1 for no pseudo-buttons and whatnot. Some nice foreground color will
do, I think; one that does not "shout" but also delineates the
checkboxes clearly in large lists.
Thank you in advance!
Rudy
--
"Be especially critical of any statement following the word
'obviously.'"
-- Anna Pell Wheeler, 1883-1966
Rudolf Adamkovič <salutis@me.com> [he/him]
Studenohorská 25
84103 Bratislava
Slovakia
[ Adding Christian in CC. ]
> From: Rudolf Adamkovič <salutis@me.com>> Date: Tue, 09 Aug 2022 18:38:39 +0200>> In principle, yes we can style them. I just did not like the>> pseudo-button.>>>> Perhaps we can add some other effect? Maybe a foreground colour?>>>> If you do not have a particular preference, I will take a look and>> report back to you.>> I do not have any particular preference, just the need for the> checkboxes to stand out slightly, especially in complex checklists with> 50+ items nested across 4+ levels. It currently looks like loose tea.>> +1 for no pseudo-buttons and whatnot. Some nice foreground color will> do, I think; one that does not "shout" but also delineates the> checkboxes clearly in large lists.
Very well! I just applied a foreground colour. I picked the
'yellow-alt-other' which is not too saturated. I think it is consistent
with the idea of adding some element of differentiation without
overdoing it.
[ You may remember or recognise yellow-alt-other from the eldoc face. ]
The commit:
commit 2b0c31b94ddb82307181dcf0078cee2f3c187aec
Author: Protesilaos Stavrou <info@protesilaos.com>
Date: Tue Aug 9 19:44:55 2022 +0300
Apply foreground colour to org-checkbox
This concerns checkboxes like:
- [ ] A list itme
- [ ] Another list itme
- [X] Completed list item
The idea is to let them stand out a bit, without drawing too much
attention to themselves.
The exact colour may not be final.
Thanks to Rudolf Adamkovič and Christian Tietze for their feedback on
the mailing list: <https://lists.sr.ht/~protesilaos/modus-themes/%3Cm2fsi9cja4.fsf%40me.com%3E>
Please give it a try and let me know if it works for you.
--
Protesilaos Stavrou
https://protesilaos.com
> From: Christian Tietze <me@christiantietze.de>> Date: Wed, 10 Aug 2022 10:10:15 +0200>> FWIW, I found the gray background to be a bit boring. Trying out yellow now, too :)
I agree with the boring part. Please let me know what you think of the
yellow. Notice that I used 'yellow-alt-other', but there is no reason
not to try 'yellow-alt' and 'yellow'.
--
Protesilaos Stavrou
https://protesilaos.com
Protesilaos Stavrou <info@protesilaos.com> writes:
> I just applied a foreground colour. I picked the 'yellow-alt-other'> which is not too saturated. I think it is consistent with the idea of> adding some element of differentiation without overdoing it.
So much better. Thank you!
To give you (the creator of Modus Themes) an idea what I (a user of
Modus Themes) see, I attach a real-world screenshot [*].
[*] Note that I override four colors in Modus Themes to get a somewhat
warmer and more old-school look, inspired by the ACME editor and the
Plan 9 operating system.
> From: Rudolf Adamkovič <salutis@me.com>> Date: Fri, 12 Aug 2022 10:42:05 +0200>> Protesilaos Stavrou <info@protesilaos.com> writes:>>> I just applied a foreground colour. I picked the 'yellow-alt-other'>> which is not too saturated. I think it is consistent with the idea of>> adding some element of differentiation without overdoing it.>> So much better. Thank you!
You are welcome!
> To give you (the creator of Modus Themes) an idea what I (a user of> Modus Themes) see, I attach a real-world screenshot [*].>> [*] Note that I override four colors in Modus Themes to get a somewhat> warmer and more old-school look, inspired by the ACME editor and the> Plan 9 operating system.
I like it!
--
Protesilaos Stavrou
https://protesilaos.com
I know it's not exactly modus-themes related, but just today I noticed that (Magit) Forge supports clickable checkboxes in pull requests templates at the moment, which produces a blue-ish overlay.
> I know it's not exactly modus-themes related, but just today I noticed that (Magit) Forge supports clickable checkboxes in pull requests templates at the moment, which produces a blue-ish overlay.
I think that's the `mouse-face' property that applies to any button, which defaults to the `highlight' face. (In the case of Forge it's actually `markdown-highlight-face', which inherits from `highlight'.)
As a result, using blue-ish checkbox styling in the modus-themes might make checkboxes appear highlighted all the time.
Karthik
> From: Karthik Chikmagalur <karthikchikmagalur@gmail.com>> Date: Fri, 12 Aug 2022 10:06:18 -0700>>> I know it's not exactly modus-themes related, but just today I>> noticed that (Magit) Forge supports clickable checkboxes in pull>> requests templates at the moment, which produces a blue-ish overlay.>> I think that's the `mouse-face' property that applies to any button,> which defaults to the `highlight' face. (In the case of Forge it's> actually `markdown-highlight-face', which inherits from `highlight'.)
Yes, this has to be it.
> As a result, using blue-ish checkbox styling in the modus-themes might> make checkboxes appear highlighted all the time.
I think the markdown checkboxes ('markdown-gfm-checkbox-face') should be
made to look like 'org-checkbox'.
Any thoughts?
--
Protesilaos Stavrou
https://protesilaos.com