summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--src/fluxbox.cc14
2 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index d6c8d11..0655276 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
1(Format: Year/Month/Day) 1(Format: Year/Month/Day)
2Changes for 0.9.7: 2Changes 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