diff options
author | rathnor <rathnor> | 2003-12-09 12:28:24 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2003-12-09 12:28:24 (GMT) |
commit | 689fdc77b09b238073e59bbb71c2a8e8b3875974 (patch) | |
tree | 2d9c055a6144b4c446be8f19f8af533fd990fcbd /src | |
parent | 15b41a3c35992c61abba76a21cf3731b066a898e (diff) | |
download | fluxbox-689fdc77b09b238073e59bbb71c2a8e8b3875974.zip fluxbox-689fdc77b09b238073e59bbb71c2a8e8b3875974.tar.bz2 |
focus tweak - ignore NotifyInferior
Diffstat (limited to 'src')
-rw-r--r-- | src/fluxbox.cc | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 66c9a53..5290cf1 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: fluxbox.cc,v 1.205 2003/12/08 17:32:08 fluxgen Exp $ | 25 | // $Id: fluxbox.cc,v 1.206 2003/12/09 12:28:24 rathnor Exp $ |
26 | 26 | ||
27 | #include "fluxbox.hh" | 27 | #include "fluxbox.hh" |
28 | 28 | ||
@@ -922,23 +922,27 @@ void Fluxbox::handleEvent(XEvent * const e) { | |||
922 | } | 922 | } |
923 | } break; | 923 | } break; |
924 | case FocusIn: { | 924 | case FocusIn: { |
925 | 925 | ||
926 | // a grab is something of a pseudo-focus event, so we ignore | 926 | // a grab is something of a pseudo-focus event, so we ignore |
927 | // them, here we ignore some window receiving it | 927 | // them, here we ignore some window receiving it |
928 | if (e->xfocus.mode == NotifyGrab || | 928 | if (e->xfocus.mode == NotifyGrab || |
929 | e->xfocus.detail == NotifyPointer) | 929 | e->xfocus.detail == NotifyPointer || |
930 | e->xfocus.detail == NotifyInferior) | ||
930 | break; | 931 | break; |
931 | 932 | ||
932 | WinClient *winclient = searchWindow(e->xfocus.window); | 933 | WinClient *winclient = searchWindow(e->xfocus.window); |
933 | if (winclient && m_focused_window != winclient) | 934 | if (winclient && m_focused_window != winclient) |
934 | setFocusedWindow(winclient); | 935 | setFocusedWindow(winclient); |
935 | 936 | ||
936 | } break; | 937 | } break; |
937 | case FocusOut:{ | 938 | case FocusOut:{ |
939 | |||
938 | // and here we ignore some window losing the special grab focus | 940 | // and here we ignore some window losing the special grab focus |
939 | if (e->xfocus.mode == NotifyGrab || | 941 | if (e->xfocus.mode == NotifyGrab || |
940 | e->xfocus.detail == NotifyPointer) | 942 | e->xfocus.detail == NotifyPointer || |
943 | e->xfocus.detail == NotifyInferior) | ||
941 | break; | 944 | break; |
945 | |||
942 | WinClient *winclient = searchWindow(e->xfocus.window); | 946 | WinClient *winclient = searchWindow(e->xfocus.window); |
943 | if (winclient == 0 && FbTk::Menu::focused() == 0) { | 947 | if (winclient == 0 && FbTk::Menu::focused() == 0) { |
944 | #ifdef DEBUG | 948 | #ifdef DEBUG |