summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-04-13 21:46:31 +0000
committerDana Jansens <danakj@orodu.net>2003-04-13 21:46:31 +0000
commit58ba751ab71e99202b1f8d2c5d8dd75373a50905 (patch)
treef9476fba36452ea46ec2bb49e18cb9f1345efffd /openbox
parentb58268e01a98ed7900de07318b1c8a64cf8f8ecd (diff)
only keep fullscreen windows on top while they are focused
Diffstat (limited to 'openbox')
-rw-r--r--openbox/client.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/openbox/client.c b/openbox/client.c
index 6f9a753e..519c41b9 100644
--- a/openbox/client.c
+++ b/openbox/client.c
@@ -1306,24 +1306,9 @@ void client_calc_layer(Client *self)
gboolean fs;
Client *c;
- /* are we fullscreen, or do we have a fullscreen transient parent? */
- c = self;
- fs = FALSE;
- while (c && c != TRAN_GROUP) { /* XXX do smthng with the TRAN_GROUP case?*/
- if (c->fullscreen) {
- fs = TRUE;
- break;
- }
- c = c->transient_for;
- }
- if (!fs && self->fullscreen) {
- /* is one of our transients focused? */
- c = search_focus_tree(self, self);
- if (c != NULL) fs = TRUE;
- }
-
if (self->iconic) l = Layer_Icon;
- else if (fs) l = Layer_Fullscreen;
+ /* fullscreen windows are only in the fullscreen layer while focused */
+ else if (self->fullscreen && focus_client == self) l = Layer_Fullscreen;
else if (self->type == Type_Desktop) l = Layer_Desktop;
else if (self->type == Type_Dock) {
if (!self->below) l = Layer_Top;