Merge branch 'configurable-indicator-colors'

This commit is contained in:
Daniel Eklöf 2021-10-10 10:41:55 +02:00
commit b3bc7ec413
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
5 changed files with 36 additions and 1 deletions

View file

@ -38,6 +38,8 @@
* `notify-focus-inhibit` boolean option, which can be used to control whether
desktop notifications should be inhibited when the terminal has keyboard
focus
* `colors.scrollback-indicator` color-pair option, which specifies foreground
and background colors for the scrollback indicator.
### Changed
### Deprecated

View file

@ -1324,6 +1324,18 @@ parse_section_colors(const char *key, const char *value, struct config *conf,
return true;
}
else if (strcmp(key, "scrollback-indicator") == 0) {
if (!str_to_two_colors(
value, &conf->colors.scrollback_indicator.fg, &conf->colors.scrollback_indicator.bg,
false, conf, path, lineno, "colors", "scrollback-indicator"))
{
return false;
}
conf->colors.use_custom.scrollback_indicator = true;
return true;
}
else if (strcmp(key, "urls") == 0) {
if (!str_to_color(value, &conf->colors.url, false,
conf, path, lineno, "colors", "urls"))
@ -2926,6 +2938,7 @@ config_load(struct config *conf, const char *conf_path,
.use_custom = {
.selection = false,
.jump_label = false,
.scrollback_indicator = false,
.url = false,
},
},

View file

@ -163,9 +163,15 @@ struct config {
uint32_t bg;
} jump_label;
struct {
uint32_t fg;
uint32_t bg;
} scrollback_indicator;
struct {
bool selection:1;
bool jump_label:1;
bool scrollback_indicator:1;
bool url:1;
} use_custom;
} colors;

View file

@ -513,6 +513,13 @@ _alpha_ option.
colors to use when rendering jump labels in URL mode. Default:
_regular0 regular3_.
*scrollback-indicator*
Two RRGGBB values specifying the foreground (text) and background
(indicator itself) colors for the scrollback indicator.
Default: first regular color (black) for foreground,
and fifth bright color (light blue) for background.
*urls*
Color to use for the underline used to highlight URLs in URL
mode. Default: _regular3_.

View file

@ -2147,12 +2147,19 @@ render_scrollback_position(struct terminal *term)
wl_subsurface_set_position(
win->scrollback_indicator.sub, x / scale, y / scale);
uint32_t fg = term->colors.table[0];
uint32_t bg = term->colors.table[8 + 4];
if (term->conf->colors.use_custom.scrollback_indicator) {
fg = term->conf->colors.scrollback_indicator.fg;
bg = term->conf->colors.scrollback_indicator.bg;
}
render_osd(
term,
win->scrollback_indicator.surf,
win->scrollback_indicator.sub,
term->fonts[0], buf, text,
term->colors.table[0], 0xffu << 24 | term->colors.table[8 + 4],
fg, 0xffu << 24 | bg,
width - margin - wcslen(text) * term->cell_width, margin);
}