better more obvious code
Dana Jansens danakj@orodu.net
3 files changed,
12 insertions(+),
13 deletions(-)
M
openbox/client.c
→
openbox/client.c
@@ -321,7 +321,7 @@ /* the session should get the last say thought */
client_restore_session_state(self); /* now we have all of the window's information so we can set this up */ - client_setup_decor_and_functions(self); + client_setup_decor_and_functions(self, FALSE); { Time t = sn_app_started(self->startup_id, self->class);@@ -1595,9 +1595,7 @@ SIZE_SET(self->size_inc, size.width_inc, size.height_inc);
} } -/*! This needs to be followed by a call to client_configure to make - the changes show */ -void client_setup_decor_and_functions(ObClient *self) +void client_setup_decor_and_functions(ObClient *self, gboolean reconfig) { /* start with everything (cept fullscreen) */ self->decorations =@@ -1753,6 +1751,9 @@ self->decorations = 0;
} client_change_allowed_actions(self); + + if (reconfig) + client_reconfigure(self); } static void client_change_allowed_actions(ObClient *self)@@ -3716,8 +3717,7 @@ it redecorate */
(self->functions & OB_CLIENT_FUNC_UNDECORATE || !undecorated)) { self->undecorated = undecorated; - client_setup_decor_and_functions(self); - client_reconfigure(self); /* show the lack of decorations */ + client_setup_decor_and_functions(self, TRUE); client_change_state(self); /* reflect this in the state hints */ } }
M
openbox/client.h
→
openbox/client.h
@@ -604,8 +604,10 @@
/*! Set up what decor should be shown on the window and what functions should be allowed (ObClient::decorations and ObClient::functions). This also updates the NET_WM_ALLOWED_ACTIONS hint. + @param reconfig When TRUE, the window will be reconfigured to show the + changes */ -void client_setup_decor_and_functions(ObClient *self); +void client_setup_decor_and_functions(ObClient *self, gboolean reconfig); /*! Sets the window's type and transient flag */ void client_get_type_and_transientness(ObClient *self);
M
openbox/event.c
→
openbox/event.c
@@ -1430,8 +1430,7 @@ msgtype = e->xproperty.atom;
if (msgtype == XA_WM_NORMAL_HINTS) { client_update_normal_hints(client); /* normal hints can make a window non-resizable */ - client_setup_decor_and_functions(client); - client_reconfigure(client); + client_setup_decor_and_functions(client, TRUE); } else if (msgtype == XA_WM_HINTS) { client_update_wmhints(client); } else if (msgtype == XA_WM_TRANSIENT_FOR) {@@ -1439,8 +1438,7 @@ client_update_transient_for(client);
client_get_type_and_transientness(client); /* type may have changed, so update the layer */ client_calc_layer(client); - client_setup_decor_and_functions(client); - client_reconfigure(client); + client_setup_decor_and_functions(client, TRUE); } else if (msgtype == prop_atoms.net_wm_name || msgtype == prop_atoms.wm_name || msgtype == prop_atoms.net_wm_icon_name ||@@ -1448,8 +1446,7 @@ msgtype == prop_atoms.wm_icon_name) {
client_update_title(client); } else if (msgtype == prop_atoms.wm_protocols) { client_update_protocols(client); - client_setup_decor_and_functions(client); - client_reconfigure(client); + client_setup_decor_and_functions(client, TRUE); } else if (msgtype == prop_atoms.net_wm_strut) { client_update_strut(client);