diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/fluxbox.cc | 14 |
2 files changed, 12 insertions, 5 deletions
@@ -1,6 +1,9 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 0.9.7: | 2 | Changes for 0.9.7: |
3 | *03/12/09: | 3 | *03/12/09: |
4 | * Ignore NotifyInferior focus changes (Simon) | ||
5 | - trying to pin down various focus issues... does this help/hinder? | ||
6 | fluxbox.cc | ||
4 | * New theme items: (Simon) | 7 | * New theme items: (Simon) |
5 | window.label.active: <texture> | 8 | window.label.active: <texture> |
6 | window.label.active.textColor: <color> | 9 | window.label.active.textColor: <color> |
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 |