summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-12-22 17:24:51 +0000
committerDana Jansens <danakj@orodu.net>2003-12-22 17:24:51 +0000
commita6e4aba8063494f010251393c26ff2e56fb973ba (patch)
tree733e89578756062bac9681561d0e54c59ccdf428
parent06202e2badd1c519c62defe820094e28f6708d5e (diff)
make all dialog typed windows transient for their group if they dont specify a WM_TRANSIENT_FOR hint.
-rw-r--r--openbox/client.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/openbox/client.c b/openbox/client.c
index fca7401c..293546b7 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -720,6 +720,11 @@ static void client_get_all(ObClient *self)
client_get_mwm_hints(self);
client_get_type(self);/* this can change the mwmhints for special cases */
+ /* The transient hint is used to pick a type, but the type can also affect
+ transiency (dialogs are always made transients). This is Havoc's idea,
+ but it is needed to make some apps work right (eg tsclient). */
+ client_update_transient_for(self);
+
client_get_state(self);
{
@@ -928,6 +933,9 @@ void client_update_transient_for(ObClient *self)
}
}
}
+ } else if (self->type == OB_CLIENT_TYPE_DIALOG && self->group) {
+ self->transient = TRUE;
+ target = OB_TRAN_GROUP;
} else
self->transient = FALSE;