diff options
| author | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-02-07 23:55:02 +0200 |
|---|---|---|
| committer | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2012-02-07 23:55:02 +0200 |
| commit | b6ff7aba975782942a2d251ef9b69f07cdf2cc15 (patch) | |
| tree | 2f70805bf0761416d2091f9d9d223537c2256c99 /monsterwm.c | |
| parent | 0501c459b3066791db5253998fff3af966974baf (diff) | |
keep transient windows on top unless floating
Diffstat (limited to 'monsterwm.c')
| -rw-r--r-- | monsterwm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/monsterwm.c b/monsterwm.c index d8c982d..d6d5241 100644 --- a/monsterwm.c +++ b/monsterwm.c @@ -916,7 +916,12 @@ void update_current(client *c) { XChangeProperty(dis, root, netatoms[NET_ACTIVE], XA_WINDOW, 32, PropModeReplace, (unsigned char *)¤t->win, 1); XSetInputFocus(dis, current->win, RevertToPointerRoot, CurrentTime); - XRaiseWindow(dis, current->win); + + /* keep transient windows on top of regular windows */ + int trans = 0; + for (c=head; c; c=c->next) if (c->istransient) trans = XRaiseWindow(dis, c->win); + if (!trans || current->isfloating) XRaiseWindow(dis, current->win); + if (CLICK_TO_FOCUS) XUngrabButton(dis, Button1, None, current->win); XSync(dis, False); } |
