summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Window.cc35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/Window.cc b/src/Window.cc
index 1393c99..00da9d4 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -2687,24 +2687,39 @@ void FluxboxWindow::motionNotifyEvent(XMotionEvent &me) {
2687 || frame().label() == me.window 2687 || frame().label() == me.window
2688 || frame().tabcontainer() == me.window 2688 || frame().tabcontainer() == me.window
2689 || frame().handle() == me.window 2689 || frame().handle() == me.window
2690 || frame().window() == me.window 2690 || frame().window() == me.window);
2691 && !Fluxbox::instance()->getIgnoreBorder());
2692 2691
2693 if (Fluxbox::instance()->getIgnoreBorder() 2692 if (Fluxbox::instance()->getIgnoreBorder()
2694 && !(me.state & Fluxbox::instance()->getModKey()) // really should check for exact matches 2693 && !(me.state & Fluxbox::instance()->getModKey()) // really should check for exact matches
2695 && !(isMoving() || isResizing() || m_attaching_tab != 0)) { 2694 && !(isMoving() || isResizing() || m_attaching_tab != 0)) {
2696 int borderw = frame().window().borderWidth(); 2695 int borderw = frame().window().borderWidth();
2697 //!! TODO(tabs): the below test ought to be in FbWinFrame 2696 //!! TODO(tabs): the below test ought to be in FbWinFrame
2697 // if mouse is currently on the window border, ignore it
2698 if ((me.x_root < (frame().x() + borderw) || 2698 if ((me.x_root < (frame().x() + borderw) ||
2699 me.y_root < (frame().y() + borderw) || 2699 me.y_root < (frame().y() + borderw) ||
2700 me.x_root > (frame().x() + (int)frame().width() + borderw) || 2700 me.x_root >= (frame().x() + (int)frame().width() + borderw) ||
2701 me.y_root > (frame().y() + (int)frame().height() + borderw)) && 2701 me.y_root >= (frame().y() + (int)frame().height() + borderw))
2702 ( !frame().externalTabMode() || 2702 && (!frame().externalTabMode() ||
2703 (me.x_root < (frame().tabcontainer().x() + borderw) || 2703 (me.x_root < (frame().tabcontainer().x() + borderw) ||
2704 me.y_root < (frame().tabcontainer().y() + borderw) || 2704 me.y_root < (frame().tabcontainer().y() + borderw) ||
2705 me.x_root > (frame().tabcontainer().x() + (int)frame().tabcontainer().width() + borderw) || 2705 me.x_root >= (frame().tabcontainer().x() +
2706 me.y_root > (frame().tabcontainer().y() + (int)frame().tabcontainer().height() + borderw) 2706 (int)frame().tabcontainer().width() + borderw) ||
2707 ))) 2707 me.y_root >= (frame().tabcontainer().y() +
2708 (int)frame().tabcontainer().height() + borderw)))
2709 // or if mouse was on border when it was last clicked
2710 || (m_last_button_x < (frame().x() + borderw) ||
2711 m_last_button_y < (frame().y() + borderw) ||
2712 m_last_button_x >= (frame().x() +
2713 (int)frame().width() + borderw) ||
2714 m_last_button_y >= (frame().y() +
2715 (int)frame().height() + borderw))
2716 && (!frame().externalTabMode() ||
2717 (m_last_button_x < (frame().tabcontainer().x() + borderw) ||
2718 m_last_button_y < (frame().tabcontainer().y() + borderw) ||
2719 m_last_button_x >= (frame().tabcontainer().x() +
2720 (int)frame().tabcontainer().width() + borderw) ||
2721 m_last_button_y >= (frame().tabcontainer().y() +
2722 (int)frame().tabcontainer().height() + borderw))))
2708 return; 2723 return;
2709 } 2724 }
2710 2725