config: add cursor.underline-thickness

Works in pretty much the same way as ‘beam-thickness’, except that the
default value is “the font’s underline thickness”.

This means, that when unset, the cursor underline thickness scales
with the font size.

But, when explicitly set, either to a point size value, or a pixel
size, it remains fixed at that size.

Closes #524
This commit is contained in:
Daniel Eklöf 2021-05-18 18:52:10 +02:00
parent af428d544f
commit 1b5c849994
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
6 changed files with 71 additions and 21 deletions

View file

@ -1059,6 +1059,13 @@ parse_section_cursor(const char *key, const char *value, struct config *conf,
return false;
}
else if (strcmp(key, "underline-thickness") == 0) {
if (!str_to_pt_or_px(
value, &conf->cursor.underline_thickness,
conf, path, lineno, "cursor", "underline-thickness"))
return false;
}
else {
LOG_AND_NOTIFY_ERR("%s:%d: [cursor]: %s: invalid key", path, lineno, key);
return false;
@ -2373,6 +2380,7 @@ config_load(struct config *conf, const char *conf_path,
.cursor = 0,
},
.beam_thickness = {.pt = 1.5},
.underline_thickness = {.pt = 0., .px = -1},
},
.mouse = {
.hide_when_typing = false,