+ if ((v = g_hash_table_lookup(keys, "Path"))) {
+ /* steal the string */
+ link->d.app.wdir = v->value.string;
+ v->value.string = NULL;
+ }
+
+ if ((v = g_hash_table_lookup(keys, "Terminal")))
+ link->d.app.term = v->value.boolean;
+
+ if ((v = g_hash_table_lookup(keys, "StartupNotify")))
+ link->d.app.startup = v->value.boolean ?
+ OBT_LINK_APP_STARTUP_PROTOCOL_SUPPORT :
+ OBT_LINK_APP_STARTUP_NO_SUPPORT;
+ else {
+ link->d.app.startup = OBT_LINK_APP_STARTUP_LEGACY_SUPPORT;
+ if ((v = g_hash_table_lookup(keys, "StartupWMClass"))) {
+ /* steal the string */
+ link->d.app.startup_wmclass = v->value.string;
+ v->value.string = NULL;
+ }
+ }
+
+ if ((v = g_hash_table_lookup(keys, "Categories"))) {
+ gulong i;
+ gchar *end;
+
+ link->d.app.categories = g_new(GQuark, v->value.strings.n);
+ link->d.app.n_categories = v->value.strings.n;
+
+ for (i = 0; i < v->value.strings.n; ++i) {
+ link->d.app.categories[i] =
+ g_quark_from_string(v->value.strings.a[i]);
+ c = end = end+1; /* next */
+ }
+ }