-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Org deadline and scheduled faces don't distinguish clearly #102
Comments
Hi again Prot, I just noticed that the same is true for the scheduled faces:
In the default theme, the first two faces are identical (although it seems to me that they should be at least slightly different), and the last one is orange (actually, "Firebrick", like `org-upcoming-deadline). But in I notice that in Thanks for your consideration. |
From: Adam Porter ***@***.***>
Date: Wed, 3 Apr 2024 19:08:45 -0700
Hi again Prot,
Hello Adam!
I just noticed that the same is true for the scheduled faces:
- `org-scheduled`: Items scheduled for a certain day
- `org-scheduled-today`: Items scheduled for today
- `org-scheduled-previously`: Items scheduled previously, and not yet done
The reason I have not done much with them is because nobody asked and I
was not sure what the best approach is. In my workflow, I do not
differentiate between them because I remove the forewarnings and past
dates from the today view.
On a more technical level, it is hard to communicate this nuance with
colour alone. For scheduled dates we use a yellow hue. It is difficult
to provide shades of yellow that are both legible and sufficiently
distinct from each other when placed in the same context.
In the default theme, the first two faces are identical (although it
seems to me that they should be at least slightly different), and the
last one is orange (actually, "Firebrick", like
`org-upcoming-deadline).
Perhaps the best way forward is to define semantic colour mappings in
each theme palette and let the user set the colours they like?
Or do you think we should make strategic use of bold and italic (which
note that it does not work---or work well---with all typefaces).
…--
Protesilaos Stavrou
https://protesilaos.com
|
Hi Prot, Thanks for your kind reply, and my apologies for neglecting this issue since then. I would like to revisit this, but I'd also like to do so in the context of Here are my suggestions at the moment:
Past that, I'd suggest that users (perhaps including myself, if I can find the time) experiment with using additional colors to help distinguish the faces, and if some satisfactory ones are found, that those be additionally considered later. You also mentioned using italic: that could be useful, but I think I'd prefer not to use it, because its meaning seems unclear to me, relative to other styles; so it might be best left to be applied by users as desired. What do you think? Thanks. |
From: Adam Porter ***@***.***>
Date: Fri, 27 Sep 2024 19:58:56 -0700
Hi Prot,
Hello Adam,
Thanks for your kind reply,
You are welcome!
and my apologies for neglecting this issue since then.
No worries! There is no pressure to do this quickly.
I would like to revisit this, but I'd also like to do so in the
context of `ef-themes` (I find myself using `ef-themes` and
`modus-themes` nearly equally, and both collections seem to handle
these faces similarly).
Sure. Whatever we do here I will adapt it for the ef-themes as well.
Here are my suggestions at the moment:
- `org-scheduled` should not draw any special attention to itself, so
its face should inherit from `default`.
- `org-scheduled-today` should have the face it has now.
- `org-scheduled-previously` should draw more attention to itself, so
it should have the color of `org-scheduled-today` and be bold.
- `org-imminent-deadline` should have the color it does now
(especially since, surprisingly, there doesn't appear to be a distinct
face for overdue deadlines), and it should be bold (since it's
urgent).
- `org-upcoming-deadline` should have the same color as
`org-imminent-deadline` but have normal weight (I'd truly prefer that
it have a less urgent-looking color, but in the interest of avoiding
adding additional colors, using different weights would still help
distinguish them).
- `org-upcoming-distant-deadline` I think it should either look like
`default`, or, if it's not too complicated, have a slightly fainter
appearance than `default`, since it's less urgent.
Since we are doing this, I think it is the right time to also consider
using a wider colour palette as well as make all the requisite changes
to the font weights.
With regard to the font weights, I agree with you fully.
About the colours, I agree with you in principle though since we can
expand what we use here, how about this diff relative to your
suggestion?
- 'org-scheduled' uses a faint variant of the colour applied to
'org-scheduled-today'.
- 'org-upcoming-deadline' uses a faint variant of the colour applied to
'org-imminent-deadline'
- 'org-upcoming-distant-deadline' is even more faint than
'org-upcoming-deadline' but still has a colour to it than being equal
to the 'default'.
I will draw up a sample now and keep you posted.
…--
Protesilaos Stavrou
https://protesilaos.com
|
Here is the diff for one theme file: modus-operandi-theme.el | 2 ++
modus-themes.el | 12 ++++++------
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/modus-operandi-theme.el b/modus-operandi-theme.el
index 6fd2ddd..1a5af49 100644
--- a/modus-operandi-theme.el
+++ b/modus-operandi-theme.el
@@ -302,12 +302,14 @@ ;;;; Date mappings
(date-common cyan)
(date-deadline red)
+ (date-deadline-subtle red-faint)
(date-event fg-alt)
(date-holiday red-cooler)
(date-holiday-other blue)
(date-now fg-main)
(date-range fg-alt)
(date-scheduled yellow-warmer)
+ (date-scheduled-subtle yellow-faint)
(date-weekday cyan)
(date-weekend red-faint)
diff --git a/modus-themes.el b/modus-themes.el
index 4d48147..4960877 100644
--- a/modus-themes.el
+++ b/modus-themes.el
@@ -3300,7 +3300,7 @@ ;;;;; org
`(org-headline-todo ((,c :inherit org-todo)))
`(org-hide ((,c :foreground ,bg-main)))
`(org-indent ((,c :inherit (fixed-pitch org-hide))))
- `(org-imminent-deadline ((,c :inherit modus-themes-bold :foreground ,date-deadline)))
+ `(org-imminent-deadline ((,c :inherit bold :foreground ,date-deadline)))
`(org-latex-and-related ((,c :foreground ,type)))
`(org-level-1 ((,c :inherit modus-themes-heading-1)))
`(org-level-2 ((,c :inherit modus-themes-heading-2)))
@@ -3319,9 +3319,9 @@ ;;;;; org
`(org-priority ((,c :foreground ,prose-tag)))
`(org-property-value ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata-value)))
`(org-quote ((,c :inherit org-block)))
- `(org-scheduled ((,c :foreground ,date-scheduled)))
- `(org-scheduled-previously ((,c :inherit org-scheduled)))
- `(org-scheduled-today ((,c :inherit (modus-themes-bold org-scheduled))))
+ `(org-scheduled ((,c :foreground ,date-scheduled-subtle)))
+ `(org-scheduled-previously ((,c :inherit (bold org-scheduled-today))))
+ `(org-scheduled-today ((,c :foreground ,date-scheduled)))
`(org-sexp-date ((,c :foreground ,date-common)))
`(org-special-keyword ((,c :inherit org-drawer)))
`(org-table ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-table)))
@@ -3331,8 +3331,8 @@ ;;;;; org
`(org-target ((,c :underline t)))
`(org-time-grid ((,c :foreground ,fg-dim)))
`(org-todo ((,c :foreground ,prose-todo)))
- `(org-upcoming-deadline ((,c :foreground ,date-deadline)))
- `(org-upcoming-distant-deadline ((,c :inherit org-upcoming-deadline)))
+ `(org-upcoming-deadline ((,c :foreground ,date-deadline-subtle)))
+ `(org-upcoming-distant-deadline ((,c :foreground ,fg-main)))
`(org-verbatim ((,c :inherit modus-themes-prose-verbatim)))
`(org-verse ((,c :inherit org-block)))
`(org-warning ((,c :inherit warning)))
I changed my mind about |
Hi Prot,
I fully trust your judgement here. I wanted to avoid suggesting too much additional work for you, but if you want to go further with the ideas, I'll be happy to benefit from your thorough approach. :) Thank you! |
The goal is two-fold: 1. Improve the semantics of relevant faces. This now covers the Org agenda. We want pending/urgent tasks to be rendered in a bold font and use a vivid colour. Whereas tasks that are not urgent should have a subtle colour and a normal weight. Thanks to Adam Porter (GitHub @alphapapa) for discussing this with me in issue 102: <#102>. 2. Make the applicable colours be more consistent with the rest of the theme. In practice, this means that the colour values are cooler overall and the intensity is lower.
I just pushed the changes:
|
Thanks, Prot! |
From: Adam Porter ***@***.***>
Date: Sun, 3 Nov 2024 11:40:08 -0800
Thanks, Prot!
You are welcome! As we discussed, I will do this for the ef-themes as
well.
…--
Protesilaos Stavrou
https://protesilaos.com
|
I can't wait! As much as I love the modus-themes, I find myself using a variety of ef-themes most of the time. :) |
The goal is two-fold: 1. Improve the semantics of relevant faces. This now covers the Org agenda. We want pending/urgent tasks to be rendered in a bold font and use a vivid colour. Whereas tasks that are not urgent should have a subtle colour and a normal weight. Thanks to Adam Porter (GitHub @alphapapa) for discussing this with me in issue 102 on the Modus themes repository (the same principles apply here): <protesilaos/modus-themes#102>. 2. Make the applicable colours be more consistent with the rest of the theme. In practice, this means that the colour values are cooler overall and the intensity is lower.
Hi Prot,
I hope you're doing well. I've been working with my Org configuration, and I noticed that in
modus-themes
andef-themes
, the three Org Agenda deadline faces aren't clearly distinguished. They are:org-imminent-deadline
: Face for current deadlines in the agenda.org-upcoming-deadline
: Face for items scheduled previously, and not yet done.org-upcoming-distant-deadline
: Face for items scheduled previously, not done, and have a distant deadline.In, e.g.
modus-vivendi
, all three of them are a bright red color, and the "imminent" face is also bold.In the default Emacs theme, the "imminent" face is bright red and bold; the "upcoming" face is orange (actually, "Firebrick"); and the "distant" face inherits from
org-default
and has no other specified attributes. This way, in the Agenda, each relative deadline status is clearly distinguished. But withmodus
andef
, even distant deadlines look "angry", as if they are imminent or past due.Maybe these faces aren't ones you use very much in your configuration (I'm not even sure if you really use Org Agenda much). But it would be great if these faces, in your excellent themes, could be fashioned after the defaults to preserve their distinct appearances.
Thanks as always for your work. My Emacs experience would not be the same without it!
The text was updated successfully, but these errors were encountered: