bell: optionally render margins in red when receiving BEL

Add anew config option, ‘bell=none|set-urgency’. When set to
‘set-urgency’, the margins will be painted in red (if the window did
not have keyboard focus).

This is intended as a cheap replacement for the ‘urgency’ hint, that
doesn’t (yet) exist on Wayland.

Closes #157
This commit is contained in:
Daniel Eklöf 2020-10-08 19:55:32 +02:00
parent 7e0cfd46c6
commit 7c6686221f
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
10 changed files with 95 additions and 2 deletions

View file

@ -517,6 +517,20 @@ parse_section_main(const char *key, const char *value, struct config *conf,
conf->pad_y = y;
}
else if (strcmp(key, "bell") == 0) {
if (strcmp(value, "set-urgency") == 0)
conf->bell_set_urgency = true;
else if (strcmp(value, "none") == 0)
conf->bell_set_urgency = false;
else {
LOG_AND_NOTIFY_ERR(
"%s:%d: [default]: bell: "
"expected either 'set-urgency' or 'none'", path, lineno);
conf->bell_set_urgency = false;
return false;
}
}
else if (strcmp(key, "initial-window-mode") == 0) {
if (strcmp(value, "windowed") == 0)
conf->startup_mode = STARTUP_WINDOWED;
@ -1867,6 +1881,7 @@ config_load(struct config *conf, const char *conf_path,
},
.pad_x = 2,
.pad_y = 2,
.bell_set_urgency = false,
.startup_mode = STARTUP_WINDOWED,
.fonts = tll_init(),
.scrollback = {