summaryrefslogtreecommitdiff
path: root/src/blackbox.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/blackbox.cc')
-rw-r--r--src/blackbox.cc10
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);