X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fclient.c;h=e3a7d6ecd2ef7bf25dd363ee4106c74abbf57827;hb=a067628051f5ee91f6e759ff85c8e31a7123d571;hp=fcbe7cd97a6484be58a9e4c2cbfe80c45370e6d4;hpb=ade3b4dd69cf275bbaf5de663e1b723d6c073eb1;p=chaz%2Fopenbox diff --git a/openbox/client.c b/openbox/client.c index fcbe7cd9..e3a7d6ec 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -76,6 +76,7 @@ static RrImage *client_default_icon = NULL; static void client_get_all(ObClient *self, gboolean real); static void client_get_startup_id(ObClient *self); static void client_get_session_ids(ObClient *self); +static void client_save_session_ids(ObClient *self); static void client_get_area(ObClient *self); static void client_get_desktop(ObClient *self); static void client_get_state(ObClient *self); @@ -1159,6 +1160,7 @@ static void client_get_all(ObClient *self, gboolean real) /* get the session related properties, these can change decorations from per-app settings */ client_get_session_ids(self); + client_save_session_ids(self); /* now we got everything that can affect the decorations */ if (!real) @@ -2367,6 +2369,15 @@ static void client_get_session_ids(ObClient *self) } } +/*! Save the session IDs as seen by Openbox when the window mapped, so that + users can still access them later if the app changes them */ +static void client_save_session_ids(ObClient *self) +{ + PROP_SETS(self->window, ob_role, self->role); + PROP_SETS(self->window, ob_name, self->name); + PROP_SETS(self->window, ob_class, self->class); +} + static void client_change_wm_state(ObClient *self) { gulong state[2];