summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2002-07-25 01:24:25 +0000
committerDana Jansens <danakj@orodu.net>2002-07-25 01:24:25 +0000
commit0d209464b1705f69788b7f89036acc801e76dc96 (patch)
tree65666965a82de9dfca1db5693dae747a7866f249 /src
parentfa34ea5250511e37180ea2ddd85919516f25248d (diff)
better focusing. don't set the focused window when its not really set yet, and don't uncheck windows as they lose focus when they are iconified
Diffstat (limited to 'src')
-rw-r--r--src/Window.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 6131ec49..16715c3e 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -1582,8 +1582,6 @@ bool BlackboxWindow::setInputFocus(void) {
if (focus_mode == F_LocallyActive || focus_mode == F_Passive) {
XSetInputFocus(blackbox->getXDisplay(), client.window,
RevertToPointerRoot, CurrentTime);
-
- blackbox->setFocusedWindow(this);
} else {
/* we could set the focus to none, since the window doesn't accept focus,
* but we shouldn't set focus to nothing since this would surely make
@@ -2060,9 +2058,13 @@ void BlackboxWindow::setFocusFlag(bool focus) {
if (isFocused())
blackbox->setFocusedWindow(this);
-
- Clientmenu *menu = screen->getWorkspace(blackbox_attrib.workspace)->getMenu();
- menu->setItemSelected(window_number, isFocused());
+
+ if (! flags.iconic) {
+ // iconic windows arent in a workspace menu!
+ Clientmenu *menu =
+ screen->getWorkspace(blackbox_attrib.workspace)->getMenu();
+ menu->setItemSelected(window_number, isFocused());
+ }
}