Remanage window after property updates (like titles) (#3759)

This commit is contained in:
izzel
2019-08-13 02:50:48 -04:00
committed by Michael Stapelberg
parent 3b88e41dd8
commit 0845d7b264
12 changed files with 279 additions and 84 deletions

View File

@ -565,7 +565,9 @@ static bool handle_windowname_change(void *data, xcb_connection_t *conn, uint8_t
char *old_name = (con->window->name != NULL ? sstrdup(i3string_as_utf8(con->window->name)) : NULL);
window_update_name(con->window, prop, false);
window_update_name(con->window, prop);
con = remanage_window(con);
x_push_changes(croot);
@ -590,7 +592,9 @@ static bool handle_windowname_change_legacy(void *data, xcb_connection_t *conn,
char *old_name = (con->window->name != NULL ? sstrdup(i3string_as_utf8(con->window->name)) : NULL);
window_update_name_legacy(con->window, prop, false);
window_update_name_legacy(con->window, prop);
con = remanage_window(con);
x_push_changes(croot);
@ -612,7 +616,9 @@ static bool handle_windowrole_change(void *data, xcb_connection_t *conn, uint8_t
if ((con = con_by_window_id(window)) == NULL || con->window == NULL)
return false;
window_update_role(con->window, prop, false);
window_update_role(con->window, prop);
con = remanage_window(con);
return true;
}
@ -1158,7 +1164,9 @@ static bool handle_class_change(void *data, xcb_connection_t *conn, uint8_t stat
return false;
}
window_update_class(con->window, prop, false);
window_update_class(con->window, prop);
con = remanage_window(con);
return true;
}