Skip to content
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

Deeper Org headline colors hard to differentiate #98

Open
TRSx80 opened this issue Apr 13, 2020 · 3 comments
Open

Deeper Org headline colors hard to differentiate #98

TRSx80 opened this issue Apr 13, 2020 · 3 comments

Comments

@TRSx80
Copy link

TRSx80 commented Apr 13, 2020

Hallo!,

Great project, I'm really enjoying it! 😄

But I was wondering: Am I the only one who has fair amount of typically deep levels? 😄

For me, it makes it harder than I feel it should be to differentiate between the deeper nested levels.

I could (and probably will) just update my local config, but I like this project a lot so I figured I would at least try and contribute something to the discussion. But maybe everyone else likes the way it is now?

Maybe I am just too used to Solarized Dark, which I used for a long time, before coming to Nord more recently. It was (arguably) "ugly" (well, let's just say, not as nice looking as Nord 😉 ), but one thing that it did do as advertised was to make it very easy to pick out important things at a glance. Not saying we need to go all the way in that direction, but perhaps a little more than where we are at currently?

I am not even sure how that would look, within the current palette though. Use (some (lower?) part of?) Aurora palette for Levels 1-4 maybe, and then Frost palette for 5-8 or something? I guess I need to play around with it and see how it looks. This idea just occurred to me though, so I suppose I figured I'd throw it out there and see what other people thought about it.

Maybe I play a bit with my local config, and share something after a while if I come to something I like.

@TRSx80
Copy link
Author

TRSx80 commented Apr 14, 2020

OK, maybe you guys that do UX / Design more than me already knew this, but... I had to figure it out for myself. 😄

First I am just leaving notes on what did NOT work, to try and maybe save others a little time and brain energy (later on I do get to something that is actually workable though, I think...)... So bear with me. 😃

First I tried doing something with the Aurora palette, it was way too loud / obnoxious for such a relaxed, subdued theme. I had even tried leaving out nord11 and nord14 with the idea of reserving them for org-todo and org-done faces (respectively), but none of it worked out.

Then some more iterations before I realized I need to go back to the "heart palette" of Frost. More iteration...

Finally I realized (I think I remembered this from some other theme) that we can repeat the same colors again, once they get far enough apart... So I did:

|-------+--------|
| Level | Color  |
|-------+--------|
|     1 | nord7  |
|     2 | nord8  |
|     3 | nord9  |
|     4 | nord10 |
|     5 | nord8  |
|     6 | nord9  |
|     7 | nord10 |
|     8 | nord8  |
|-------+--------|

Notice that I only use nord7 once for the top level. I don't think there is enough contrast between nord7 and nord8 (at least for Org headings). But at the highest level, it doesn't really matter, as those are easier to distinguish, IMO. It's not until you get down in the weeds that you need more contrast.

Then once we get to nord10 we just repeat, except starting with nord8 as noted above. This works pretty well I think, and could be repeated potentially infinitely. At any rate, it does seem to solve the problem in my OP of differentiation at the lower headline levels.

I am no Emacs theming expert, but I was able to override the theme temporarily with the following code for testing purposes. Feel free to try it out and tell me what you guys think:

;; Dark Backgrounds "Polar Night"
(setq nord0 "#2E3440") ; darkest
(setq nord1 "#3B4252")
(setq nord2 "#434C5E")
(setq nord3 "#4C566A") ; lightest

;; Light Backgrounds "Snow Storm"
(setq nord4 "#D8DEE9") ; darkest
(setq nord5 "#E5E9F0")
(setq nord6 "#ECEFF4") ; lightest

;; Heart Palette (bluish colors) "Frost"
(setq nord7 "#8FBCBB") ; lightest / highest contrast
(setq nord8 "#88C0D0") ; primary UI elements
(setq nord9 "#81A1C1") ; secondary UI elements
(setq nord10 "#5E81AC") ; darkest / lowest contrast, tertiary

;; Colorful Accents "Aurora"
(setq nord11 "#BF616A") ; reddish
(setq nord12 "#D08770") ; orangeish
(setq nord13 "#EBCB8B") ; yellowish
(setq nord14 "#A3BE8C") ; greenish
(setq nord15 "#B48EAD") ; purpleish

(set-face-attribute 'org-level-1 nil
		    :foreground nord7)

(set-face-attribute 'org-level-2 nil
		    :foreground nord8)

(set-face-attribute 'org-level-3 nil
		    :foreground nord9)

(set-face-attribute 'org-level-4 nil
		    :foreground nord10
		    :weight 'semi-bold)

(set-face-attribute 'org-level-5 nil
		    :foreground nord8
		    :weight 'semi-bold)

(set-face-attribute 'org-level-6 nil
		    :foreground nord9
		    :weight 'semi-bold)

(set-face-attribute 'org-level-7 nil
		    :foreground nord10
		    :weight 'semi-bold)

(set-face-attribute 'org-level-8 nil
		    :foreground nord8
		    :weight 'semi-bold)

(set-face-attribute 'org-todo nil
		    :foreground nord13
		    :weight 'semi-bold)

(set-face-attribute 'org-done nil
		    :foreground nord14
		    :weight 'semi-bold)

At the end, you can see I was also playing around with the TODO and DONE colors. I am not sure what I think about that right now, I had tried nord11 ("reddish") and nord12 ("orangish") for TODO (as I had been accustomed to from before) but ended up going back to nord13 ("yellowish") for the more calm, subdued look.

Also, I think all headings should be some level of bold, even lower ones. And with the Frost palette, you kind of need it to have enough there to differentiate those colors anyway (IMO).

Here are some contrived headings for you to copy/paste and see for yourself how all the colors relate (and maybe I get around to making a screenshot):

* Level 1
** Level 2
*** TODO Level 3
**** DONE Level 4
***** Level 5
****** TODO Level 6
****** Another Level 6 Thing
****** Some more Level 6
***** Level 5 Again
****** Level 6
****** More 6
******* Some 7
******* DONE Level 7
******* More Level 7
******** Level 8

Of course I need to "live with it" for some period of time to see what I really think, but I just wanted to post this back here for simultaneous marination (and comments). 🍻

EDIT: OK I add a pic:

2020-04-13_22-15-55_Screenshot_Nord_theme_levels_new

@arcticicestudio
Copy link
Contributor

Hi @TRSx80 👋, thanks for your contribution 👍
That is a fantastic documentation and analysis!

The reason for only using nord10 starting from level 5 is that this should indicate "less important" sections and maybe also content that is nested too much. This design decision is also based on HTML headings that are also only available from level 1-6. Too many different levels might indicate that some section might also be summarized or are part of the same topic.

Anyway, I guess there's still potential for improvement:

  1. To also align with other Nord port projects and fulfill the purpose as main accent color, level 1 headlines should switch the colors with level 2: nord7nord8
  2. Instead of only using nord10 starting from level 4, we can use nord8 and nord7 again for level 5 and 6 but without bold font style to indicate less importance and hierarchical ordering.

Level 7 and 8 can still use nord10, but due to the changes of the parent levels it should be easier to identify them more quickly.
This would result in the following style:

  1. nord8
  2. nord7
  3. nord9
  4. nord10
  5. nord7
  6. nord9 (or maybe nord8 again?)
  7. nord10
  8. nord10

Let me know what you think about it, maybe you also like to try this style on your own to see if it also fits 😄

@TRSx80
Copy link
Author

TRSx80 commented May 1, 2020

Thanks for your thoughts.

I did not try your adjusted scheme yet, I will do so and report back later (as I haven't touched this in a while and having trouble visualizing it off the top of my head), however in the meantime I realized something else.

One subtle point that I did want to bring up, which you would not be aware of if not an Emacs/Org user, is that after level 8 they simply repeat. In other words:

|-------+---------|
| Level | Same as |
|-------+---------|
|     9 |       1 |
|    10 |       2 |
|    11 |       3 |
|    12 |       4 |
|    13 |       5 |
|    14 |       6 |
|    15 |       7 |
|    16 |       8 |
|   ... |     ... |
|-------+---------|

Which, with my current scheme, makes for somewhat of an "imperfect" repeating pattern. However level 9+ headings are so infrequent (even for me) that I haven't spent any further time thinking about how to optimize it.

Maybe that's only a problem for me, if you are taking the approach of making lower levels "all the same" then perhaps it doesn't matter (other than just being aware of).

And you are probably right about "too deep content" in fact it is something I even wonder about myself. But in my main todo.org (which is pretty large) I have several top level headings, with extensive branching under those with lots of different sub-categories, projects, etc. So maybe not something to implement in the "official" version (your call of course) but until I can re-organize my Org file or get rid of redundant or badly organized levels, it is helping me a lot to better differentiate those lower levels. It is easy enough for me (or anyone else in this predicament) to maintain our own over-riding settings in our own local init file, however, so...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants