summaryrefslogtreecommitdiff
path: root/src/screen.cc
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-02-10 17:01:32 +0000
committerDana Jansens <danakj@orodu.net>2003-02-10 17:01:32 +0000
commitba9b0617ed0c68b0487fd5246fbcdc2156f65c08 (patch)
tree1486bbde5de844348633726403c7bcffc6df1ca8 /src/screen.cc
parent5d47526b30ec8d9c98c047929431faf89e9fe3f2 (diff)
smarter focus restoring
Diffstat (limited to 'src/screen.cc')
-rw-r--r--src/screen.cc7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/screen.cc b/src/screen.cc
index 75d8e87e..d242e887 100644
--- a/src/screen.cc
+++ b/src/screen.cc
@@ -890,8 +890,11 @@ void Screen::showDesktop(bool show)
Client *c = openbox->focusedClient();
if (c) saved_focus = c->window();
} else {
- Client *c = openbox->findClient(saved_focus);
- if (c) c->focus();
+ Client *f = openbox->focusedClient();
+ if (!f || f->type() == Client::Type_Desktop) {
+ Client *c = openbox->findClient(saved_focus);
+ if (c) c->focus();
+ }
}
_showing_desktop = show;