diff options
author | markt <markt> | 2007-02-11 22:03:27 (GMT) |
---|---|---|
committer | markt <markt> | 2007-02-11 22:03:27 (GMT) |
commit | f42d39cc351c1d6c6b424d451e0cc5ddcec8cab3 (patch) | |
tree | 14738de64f92a19884c3b4e8eec5a0141e0a57fa | |
parent | 62b233264d3808eff3138d51855ac9963e9c48a0 (diff) | |
download | fluxbox_lack-f42d39cc351c1d6c6b424d451e0cc5ddcec8cab3.zip fluxbox_lack-f42d39cc351c1d6c6b424d451e0cc5ddcec8cab3.tar.bz2 |
still fixing bug with session.ignoreBorder
-rw-r--r-- | src/Window.cc | 35 |
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 | ||