implement delayed urgency hint reset
If there is a client with an urgency hint on another workspace and switching to this workspace would cause the urgency to be reset (by moving the focusing to the client), delay the reset by some time. This gives the user the chance to see it. This commit adds the possibility to configure the urgency delay timer duration using the 'force_display_urgency_hint' directive. Also, documentation and a testcase was added to allow for automated checks of the intended behavior. fixes #482
This commit is contained in:
committed by
Michael Stapelberg
parent
e15e37f922
commit
28104a480c
@ -836,7 +836,13 @@ static bool handle_hints(void *data, xcb_connection_t *conn, uint8_t state, xcb_
|
||||
}
|
||||
|
||||
/* Update the flag on the client directly */
|
||||
con->urgent = (xcb_icccm_wm_hints_get_urgency(&hints) != 0);
|
||||
bool hint_urgent = (xcb_icccm_wm_hints_get_urgency(&hints) != 0);
|
||||
|
||||
if (con->urgency_timer == NULL) {
|
||||
con->urgent = hint_urgent;
|
||||
} else
|
||||
DLOG("Discarding urgency WM_HINT because timer is running\n");
|
||||
|
||||
//CLIENT_LOG(con);
|
||||
if (con->window) {
|
||||
if (con->urgent) {
|
||||
|
Reference in New Issue
Block a user