summaryrefslogtreecommitdiff
path: root/openbox/client.c
diff options
context:
space:
mode:
authorMikael Magnusson <mikachu@gmail.com>2013-08-19 03:25:40 +0200
committerMikael Magnusson <mikachu@gmail.com>2013-08-19 21:35:45 +0200
commit0a7ff45e4930a72968911325a019f0ea64b62a43 (patch)
tree770ff490ea4c85e78173b700985b5679ab31c4dc /openbox/client.c
parent1d1fe5e6cc7afd8db05be7d4938ca87ba621dc94 (diff)
Add window type to If as well
This one required some extra helpers so is separate commit
Diffstat (limited to 'openbox/client.c')
-rw-r--r--openbox/client.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/openbox/client.c b/openbox/client.c
index b6cc4a87..88b08f9f 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -2458,20 +2458,10 @@ static void client_get_session_ids(ObClient *self)
}
}
-/*! Save the properties used for app matching rules, 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_app_rule_values(ObClient *self)
+const gchar *client_type_to_string(ObClient *self)
{
const gchar *type;
- OBT_PROP_SETS(self->window, OB_APP_ROLE, self->role);
- OBT_PROP_SETS(self->window, OB_APP_NAME, self->name);
- OBT_PROP_SETS(self->window, OB_APP_CLASS, self->class);
- OBT_PROP_SETS(self->window, OB_APP_GROUP_NAME, self->group_name);
- OBT_PROP_SETS(self->window, OB_APP_GROUP_CLASS, self->group_class);
- OBT_PROP_SETS(self->window, OB_APP_TITLE, self->original_title);
-
switch (self->type) {
case OB_CLIENT_TYPE_NORMAL:
type = "normal"; break;
@@ -2490,7 +2480,23 @@ static void client_save_app_rule_values(ObClient *self)
case OB_CLIENT_TYPE_DOCK:
type = "dock"; break;
}
- OBT_PROP_SETS(self->window, OB_APP_TYPE, type);
+
+ return type;
+}
+
+/*! Save the properties used for app matching rules, 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_app_rule_values(ObClient *self)
+{
+ OBT_PROP_SETS(self->window, OB_APP_ROLE, self->role);
+ OBT_PROP_SETS(self->window, OB_APP_NAME, self->name);
+ OBT_PROP_SETS(self->window, OB_APP_CLASS, self->class);
+ OBT_PROP_SETS(self->window, OB_APP_GROUP_NAME, self->group_name);
+ OBT_PROP_SETS(self->window, OB_APP_GROUP_CLASS, self->group_class);
+ OBT_PROP_SETS(self->window, OB_APP_TITLE, self->original_title);
+
+ OBT_PROP_SETS(self->window, OB_APP_TYPE, client_type_to_string(self));
}
static void client_change_wm_state(ObClient *self)