Remanage window after property updates (like titles) (#3759)
This commit is contained in:
committed by
Michael Stapelberg
parent
3b88e41dd8
commit
0845d7b264
@ -533,3 +533,11 @@ bool con_swap(Con *first, Con *second);
|
||||
*
|
||||
*/
|
||||
uint32_t con_rect_size_in_orientation(Con *con);
|
||||
|
||||
/**
|
||||
* Merges container specific data that should move with the window (e.g. marks,
|
||||
* title format, and the window itself) into another container, and closes the
|
||||
* old container.
|
||||
*
|
||||
*/
|
||||
void con_merge_into(Con *old, Con *new);
|
||||
|
@ -489,6 +489,10 @@ struct Window {
|
||||
bool shaped;
|
||||
/** The window has a nonrectangular input shape. */
|
||||
bool input_shaped;
|
||||
|
||||
/* Time when the window became managed. Used to determine whether a window
|
||||
* should be swallowed after initial management. */
|
||||
time_t managed_since;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -37,3 +37,10 @@ void restore_geometry(void);
|
||||
void manage_window(xcb_window_t window,
|
||||
xcb_get_window_attributes_cookie_t cookie,
|
||||
bool needs_to_be_mapped);
|
||||
|
||||
/**
|
||||
* Remanages a window: performs a swallow check and runs assignments.
|
||||
* Returns con for the window regardless if it updated.
|
||||
*
|
||||
*/
|
||||
Con *remanage_window(Con *con);
|
||||
|
@ -69,3 +69,9 @@ struct Startup_Sequence *startup_sequence_get(i3Window *cwindow,
|
||||
*
|
||||
*/
|
||||
char *startup_workspace_for_window(i3Window *cwindow, xcb_get_property_reply_t *startup_id_reply);
|
||||
|
||||
/**
|
||||
* Deletes the startup sequence for a window if it exists.
|
||||
*
|
||||
*/
|
||||
void startup_sequence_delete_by_window(i3Window *win);
|
||||
|
@ -22,14 +22,14 @@ void window_free(i3Window *win);
|
||||
* given window.
|
||||
*
|
||||
*/
|
||||
void window_update_class(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
|
||||
void window_update_class(i3Window *win, xcb_get_property_reply_t *prop);
|
||||
|
||||
/**
|
||||
* Updates the name by using _NET_WM_NAME (encoded in UTF-8) for the given
|
||||
* window. Further updates using window_update_name_legacy will be ignored.
|
||||
*
|
||||
*/
|
||||
void window_update_name(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
|
||||
void window_update_name(i3Window *win, xcb_get_property_reply_t *prop);
|
||||
|
||||
/**
|
||||
* Updates the name by using WM_NAME (encoded in COMPOUND_TEXT). We do not
|
||||
@ -38,7 +38,7 @@ void window_update_name(i3Window *win, xcb_get_property_reply_t *prop, bool befo
|
||||
* window_update_name()).
|
||||
*
|
||||
*/
|
||||
void window_update_name_legacy(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
|
||||
void window_update_name_legacy(i3Window *win, xcb_get_property_reply_t *prop);
|
||||
|
||||
/**
|
||||
* Updates the CLIENT_LEADER (logical parent window).
|
||||
@ -62,7 +62,7 @@ void window_update_strut_partial(i3Window *win, xcb_get_property_reply_t *prop);
|
||||
* Updates the WM_WINDOW_ROLE
|
||||
*
|
||||
*/
|
||||
void window_update_role(i3Window *win, xcb_get_property_reply_t *prop, bool before_mgmt);
|
||||
void window_update_role(i3Window *win, xcb_get_property_reply_t *prop);
|
||||
|
||||
/**
|
||||
* Updates the _NET_WM_WINDOW_TYPE property.
|
||||
|
Reference in New Issue
Block a user