all repos — openbox @ d9cc4f65221ff3a77218ea7527f82d17810c8a2e

openbox fork - make it a bit more like ryudo

use the new sm_client_id function so all windows who should save state do. session save/load seems to be working with gnome-session rather well.
Dana Jansens danakj@orodu.net
commit

d9cc4f65221ff3a77218ea7527f82d17810c8a2e

parent

02c15aca65f0e5eb7b82ed3176ab492fe19e6eff

1 files changed, 8 insertions(+), 6 deletions(-)

jump to
M openbox/session.copenbox/session.c

@@ -289,7 +289,7 @@

if (!client_normal(c)) continue; - if (!PROP_GETS(c->window, sm_client_id, locale, &client_id)) + if (!(client_id = client_get_sm_client_id(c))) continue; prex = c->area.x;

@@ -374,11 +374,11 @@ g_free(state);

} } -static gboolean session_state_cmp(const ObSessionState *s, const ObClient *c) +static gboolean session_state_cmp(ObSessionState *s, ObClient *c) { gchar *client_id; - if (!PROP_GETS(c->window, sm_client_id, locale, &client_id)) + if (!(client_id = client_get_sm_client_id(c))) return FALSE; g_print("\nsaved %s\nnow %s\n", s->id, client_id); if (strcmp(s->id, client_id)) {

@@ -386,13 +386,13 @@ g_free(client_id);

return FALSE; } g_free(client_id); - g_print("\nsaved %s\nnow %s\n", s->name, c->name); + g_print("saved %s\nnow %s\n", s->name, c->name); if (strcmp(s->name, c->name)) return FALSE; - g_print("\nsaved %s\nnow %s\n", s->class, c->class); + g_print("saved %s\nnow %s\n", s->class, c->class); if (strcmp(s->class, c->class)) return FALSE; - g_print("\nsaved %s\nnow %s\n", s->role, c->role); + g_print("saved %s\nnow %s\n\n", s->role, c->role); if (strcmp(s->role, c->role)) return FALSE; return TRUE;

@@ -416,6 +416,8 @@ {

xmlDocPtr doc; xmlNodePtr node, n; gchar *sm_id; + + g_message("loading session from %s", path); if (!parse_load(path, "openbox_session", &doc, &node)) return;