config: add [colors].dim0-7

This allows you to configure custom colors to be used when colors are
being dimmed (`\E[2m`).

It is implemented by color matching (just like
bold-text-in-bright=palette-based); the color-to-be-dimmed is matched
against the current color palette.

If it matches one of the regular colors (colors 0-7), the
corresponding “dim” color will be used.

If it matches one of the bright colors (colors 8-15), the
corresponding “regular” color will be used (but *only* if the “dim”
color has been set).

Otherwise, the color is dimmed by reducing its luminance.

The default behavior, i.e. when dim0-7 hasn’t been configured, is to
dim by reducing luminance for *all* colors. I.e. we don’t do any color
matching at all. In particular, this means that dimming a bright color
will *not* result in the corresponding “regular” color.

Closes #776
This commit is contained in:
Daniel Eklöf 2021-11-03 14:25:38 +01:00
parent 0d2a429109
commit c01904a2c7
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
7 changed files with 91 additions and 9 deletions

View file

@ -1253,8 +1253,7 @@ term_init(const struct config *conf, struct fdm *fdm, struct reaper *reaper,
term->scale = it->item.scale;
}
memcpy(term->colors.table, term->conf->colors.table,
sizeof(term->colors.table));
memcpy(term->colors.table, term->conf->colors.table, sizeof(term->colors.table));
/* Initialize the Wayland window backend */
if ((term->window = wayl_win_init(term, token)) == NULL)