all repos — openbox @ be3b78736fc171da4f14c99a22b858ad03237fd8

openbox fork - make it a bit more like ryudo

better more obvious code
Dana Jansens danakj@orodu.net
commit

be3b78736fc171da4f14c99a22b858ad03237fd8

parent

2f579df4e7b3af6c9a715e8921dcca9e9140d32e

3 files changed, 12 insertions(+), 13 deletions(-)

jump to
M openbox/client.copenbox/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.hopenbox/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.copenbox/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);