diff options
Diffstat (limited to 'src/blackbox.cc')
| -rw-r--r-- | src/blackbox.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/blackbox.cc b/src/blackbox.cc index dafc6bdf..9eddcfdf 100644 --- a/src/blackbox.cc +++ b/src/blackbox.cc @@ -328,10 +328,18 @@ void Blackbox::process_event(XEvent *e) { BlackboxWindow *win = searchWindow(e->xmaprequest.window); if (win) { + bool focus = False; if (win->isIconic()) { win->deiconify(); - win->setInputFocus(); + focus = True; + } + if (win->isShaded()) { + win->shade(); + focus = True; } + + if (focus && (win->isTransient() || win->getScreen()->doFocusNew())) + win->setInputFocus(); } else { BScreen *screen = searchScreen(e->xmaprequest.parent); |
