}
Con *floatingcon = con->parent;
+ if (strcmp(con_get_workspace(floatingcon)->name, "__i3_scratch") == 0) {
+ DLOG("This is a scratchpad container, ignoring ConfigureRequest\n");
+ return;
+ }
+
Rect newrect = floatingcon->rect;
if (event->value_mask & XCB_CONFIG_WINDOW_X) {
}
/* 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) {
con->window->urgent.tv_usec = 0;
}
}
+
+ con_update_parents_urgency(con);
+
LOG("Urgency flag changed to %d\n", con->urgent);
Con *ws;