diff options
-rw-r--r-- | src/Window.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Window.cc b/src/Window.cc index 37fb6c4..a053f1a 100644 --- a/src/Window.cc +++ b/src/Window.cc | |||
@@ -2381,6 +2381,14 @@ void FluxboxWindow::buttonPressEvent(XButtonEvent &be) { | |||
2381 | return; | 2381 | return; |
2382 | } | 2382 | } |
2383 | 2383 | ||
2384 | WinClient *client = 0; | ||
2385 | if (!screen().focusControl().isMouseTabFocus()) { | ||
2386 | // determine if we're in a label button (tab) | ||
2387 | client = winClientOfLabelButtonWindow(be.window); | ||
2388 | } | ||
2389 | |||
2390 | |||
2391 | |||
2384 | // if nothing was bound via keys-file then | 2392 | // if nothing was bound via keys-file then |
2385 | // - raise() if clickRaise is enabled | 2393 | // - raise() if clickRaise is enabled |
2386 | // - hide open menues | 2394 | // - hide open menues |
@@ -2399,6 +2407,14 @@ void FluxboxWindow::buttonPressEvent(XButtonEvent &be) { | |||
2399 | if (!m_focused && acceptsFocus() && m_click_focus) | 2407 | if (!m_focused && acceptsFocus() && m_click_focus) |
2400 | focus(); | 2408 | focus(); |
2401 | 2409 | ||
2410 | if (!screen().focusControl().isMouseTabFocus() && | ||
2411 | client && client != m_client && | ||
2412 | !screen().focusControl().isIgnored(be.x_root, be.y_root) ) { | ||
2413 | setCurrentClient(*client, isFocused()); | ||
2414 | } | ||
2415 | |||
2416 | |||
2417 | |||
2402 | } | 2418 | } |
2403 | 2419 | ||
2404 | void FluxboxWindow::buttonReleaseEvent(XButtonEvent &re) { | 2420 | void FluxboxWindow::buttonReleaseEvent(XButtonEvent &re) { |