aboutsummaryrefslogtreecommitdiff
path: root/src/fluxbox.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/fluxbox.cc')
-rw-r--r--src/fluxbox.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc
index d83fe0b..2fbf56b 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.190 2003/09/12 22:55:33 fluxgen Exp $ 25// $Id: fluxbox.cc,v 1.191 2003/09/14 11:23:48 rathnor Exp $
26 26
27#include "fluxbox.hh" 27#include "fluxbox.hh"
28 28
@@ -852,7 +852,10 @@ void Fluxbox::handleEvent(XEvent * const e) {
852 } 852 }
853 } break; 853 } break;
854 case FocusIn: { 854 case FocusIn: {
855 if (e->xfocus.mode == NotifyUngrab || 855
856 // a grab is something of a pseudo-focus event, so we ignore
857 // them, here we ignore some window receiving it
858 if (e->xfocus.mode == NotifyGrab ||
856 e->xfocus.detail == NotifyPointer) 859 e->xfocus.detail == NotifyPointer)
857 break; 860 break;
858 861
@@ -862,7 +865,7 @@ void Fluxbox::handleEvent(XEvent * const e) {
862 865
863 } break; 866 } break;
864 case FocusOut:{ 867 case FocusOut:{
865 868 // and here we ignore some window losing the special grab focus
866 if (e->xfocus.mode == NotifyUngrab || 869 if (e->xfocus.mode == NotifyUngrab ||
867 e->xfocus.detail == NotifyPointer) 870 e->xfocus.detail == NotifyPointer)
868 break; 871 break;
@@ -871,6 +874,8 @@ void Fluxbox::handleEvent(XEvent * const e) {
871#ifdef DEBUG 874#ifdef DEBUG
872 cerr<<__FILE__<<"("<<__FUNCTION__<<") Focus out is not a FluxboxWindow !!"<<endl; 875 cerr<<__FILE__<<"("<<__FUNCTION__<<") Focus out is not a FluxboxWindow !!"<<endl;
873#endif // DEBUG 876#endif // DEBUG
877 } else if (winclient && winclient == m_focused_window) {
878 setFocusedWindow(0);
874 } 879 }
875 } 880 }
876 break; 881 break;