aboutsummaryrefslogtreecommitdiff
path: root/src/Window.cc
diff options
context:
space:
mode:
authorJim Ramsay <i.am@jimramsay.com>2009-05-26 20:45:05 (GMT)
committerJim Ramsay <i.am@jimramsay.com>2009-05-26 20:45:05 (GMT)
commit54b49c63a641fb742f014403c924ae8f81f73824 (patch)
treec2b8511c911d0375715f7f0cd2f8d1999790923a /src/Window.cc
parent04538cbaa1f74b3b7dd397fa515617d8691980d4 (diff)
parentc1dee4a4055f8f0dafadeca508ff5568e2d0ce08 (diff)
downloadfluxbox-54b49c63a641fb742f014403c924ae8f81f73824.zip
fluxbox-54b49c63a641fb742f014403c924ae8f81f73824.tar.bz2
Merge branch 'mousefocus'
Diffstat (limited to 'src/Window.cc')
-rw-r--r--src/Window.cc15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/Window.cc b/src/Window.cc
index edc2b8e..b2bfcf7 100644
--- a/src/Window.cc
+++ b/src/Window.cc
@@ -1213,6 +1213,9 @@ void FluxboxWindow::moveResize(int new_x, int new_y,
1213 if (!moving) { 1213 if (!moving) {
1214 m_last_resize_x = new_x; 1214 m_last_resize_x = new_x;
1215 m_last_resize_y = new_y; 1215 m_last_resize_y = new_y;
1216
1217 /* Ignore all EnterNotify events until the pointer actually moves */
1218 screen().focusControl().ignoreAtPointer();
1216 } 1219 }
1217 1220
1218} 1221}
@@ -1670,6 +1673,10 @@ void FluxboxWindow::lower() {
1670#ifdef DEBUG 1673#ifdef DEBUG
1671 cerr<<"FluxboxWindow("<<title()<<")::lower()"<<endl; 1674 cerr<<"FluxboxWindow("<<title()<<")::lower()"<<endl;
1672#endif // DEBUG 1675#endif // DEBUG
1676
1677 /* Ignore all EnterNotify events until the pointer actually moves */
1678 screen().focusControl().ignoreAtPointer();
1679
1673 // get root window 1680 // get root window
1674 WinClient *client = getRootTransientFor(m_client); 1681 WinClient *client = getRootTransientFor(m_client);
1675 1682
@@ -2684,13 +2691,17 @@ void FluxboxWindow::enterNotifyEvent(XCrossingEvent &ev) {
2684 sa.enter = sa.leave = False; 2691 sa.enter = sa.leave = False;
2685 XCheckIfEvent(display, &dummy, queueScanner, (char *) &sa); 2692 XCheckIfEvent(display, &dummy, queueScanner, (char *) &sa);
2686 2693
2687 if ((!sa.leave || sa.inferior) && !screen().focusControl().isCycling() ) { 2694 if ((!sa.leave || sa.inferior) &&
2695 !screen().focusControl().isCycling() &&
2696 !screen().focusControl().isIgnored(ev.x_root, ev.y_root) ) {
2688 focus(); 2697 focus();
2689 } 2698 }
2690 } 2699 }
2691 } 2700 }
2692 2701
2693 if (screen().focusControl().isMouseTabFocus() && client && client != m_client) { 2702 if (screen().focusControl().isMouseTabFocus() &&
2703 client && client != m_client &&
2704 !screen().focusControl().isIgnored(ev.x_root, ev.y_root) ) {
2694 setCurrentClient(*client, isFocused()); 2705 setCurrentClient(*client, isFocused());
2695 } 2706 }
2696 2707