diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Window.cc | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/Window.cc b/src/Window.cc index a993076..6806afa 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -549,8 +549,11 @@ void FluxboxWindow::init() { | |||
549 | // check if we should prevent this window from gaining focus | 549 | // check if we should prevent this window from gaining focus |
550 | m_focused = false; // deiconify sets this | 550 | m_focused = false; // deiconify sets this |
551 | if (!Fluxbox::instance()->isStartup() && | 551 | if (!Fluxbox::instance()->isStartup() && |
552 | screen().focusControl().focusNew()) | 552 | screen().focusControl().focusNew()) { |
553 | m_focused = focusRequestFromClient(*m_client); | 553 | m_focused = focusRequestFromClient(*m_client); |
554 | if (!m_focused) | ||
555 | lower(); | ||
556 | } | ||
554 | } | 557 | } |
555 | 558 | ||
556 | if (fullscreen) { | 559 | if (fullscreen) { |
@@ -2224,12 +2227,16 @@ void FluxboxWindow::mapRequestEvent(XMapRequestEvent &re) { | |||
2224 | // Note: this function never gets called from WithdrawnState | 2227 | // Note: this function never gets called from WithdrawnState |
2225 | // initial state is handled in restoreAttributes() and init() | 2228 | // initial state is handled in restoreAttributes() and init() |
2226 | 2229 | ||
2227 | if (screen().focusControl().focusNew()) | ||
2228 | m_focused = focusRequestFromClient(*client); | ||
2229 | |||
2230 | setCurrentClient(*client, false); // focus handled on MapNotify | 2230 | setCurrentClient(*client, false); // focus handled on MapNotify |
2231 | deiconify(); | 2231 | deiconify(); |
2232 | 2232 | ||
2233 | if (screen().focusControl().focusNew()) { | ||
2234 | m_focused = false; // deiconify sets this | ||
2235 | m_focused = focusRequestFromClient(*client); | ||
2236 | if (!m_focused) | ||
2237 | lower(); | ||
2238 | } | ||
2239 | |||
2233 | } | 2240 | } |
2234 | 2241 | ||
2235 | bool FluxboxWindow::focusRequestFromClient(WinClient &from) { | 2242 | bool FluxboxWindow::focusRequestFromClient(WinClient &from) { |