handle windows whose WM_TRANSIENT_FOR points to themselve
I consider this behavior broken and not respecting the standard, but it happens in real life, and it’s better for i3 to not busy-loop in such a situation :). fixes #1259
This commit is contained in:
@ -407,6 +407,11 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
|
||||
Con *next_transient = con_by_window_id(transient_win->transient_for);
|
||||
if (next_transient == NULL)
|
||||
break;
|
||||
/* Some clients (e.g. x11-ssh-askpass) actually set
|
||||
* WM_TRANSIENT_FOR to their own window id, so break instead of
|
||||
* looping endlessly. */
|
||||
if (transient_win == next_transient->window)
|
||||
break;
|
||||
transient_win = next_transient->window;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user