diff options
| author | Dana Jansens <danakj@orodu.net> | 2007-05-03 20:57:40 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2007-05-03 20:57:40 +0000 |
| commit | 5784f11132cb2ee64af23695867aca9f4ebe0b9b (patch) | |
| tree | f93bd596e60848e55c31075ef2c04551c6174cb0 /openbox/client.c | |
| parent | e0e1d4ba7e150b215b55029ddbff3c824b94caf7 (diff) | |
add the notion of "application windows" meaning normal or dialog type windows.
let you alt-tab to non-application windows when they dont have an application window in their group
Diffstat (limited to 'openbox/client.c')
| -rw-r--r-- | openbox/client.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/openbox/client.c b/openbox/client.c index 34ae4d86..c7859ca6 100644 --- a/openbox/client.c +++ b/openbox/client.c @@ -2198,6 +2198,12 @@ gboolean client_normal(ObClient *self) { self->type == OB_CLIENT_TYPE_SPLASH); } +gboolean client_application(ObClient *self) +{ + return (self->type == OB_CLIENT_TYPE_NORMAL || + self->type == OB_CLIENT_TYPE_DIALOG); +} + static void client_apply_startup_state(ObClient *self, gint x, gint y) { gboolean pos = FALSE; /* has the window's position been configured? */ @@ -3633,3 +3639,17 @@ gboolean client_has_group_siblings(ObClient *self) { return self->group && self->group->members->next; } + +gboolean client_has_application_group_siblings(ObClient *self) +{ + GSList *it; + + if (!self->group) return FALSE; + + for (it = self->group->members; it; it = g_slist_next(it)) { + ObClient *c = it->data; + if (c != self && client_application(c)) + return TRUE; + } + return FALSE; +} |
