--- ctwm.c      Tue Sep 14 08:26:30 1999
+++ my_ctwm.c   Wed May 17 03:43:37 2000
@@ -1104,6 +1104,7 @@
     Scr->RaiseOnClickButton = 1;
     Scr->IgnoreLockModifier = False;
     Scr->PackNewWindows = False;
+       Scr->SloppyFocus = FALSE;
 
     /* setup default fonts; overridden by defaults from system.twmrc */
 
--- parse.c     Tue Sep 14 08:26:30 1999
+++ my_parse.c  Wed May 17 03:42:36 2000
@@ -606,6 +606,7 @@
 #define kw0_IgnoreLockModifier         59
 #define kw0_AutoFocusToTransients       60 /* kai */
 #define kw0_PackNewWindows             61
+#define kw0_SloppyFocus                        62
 
 #define kws_UsePPosition               1
 #define kws_IconFont                   2
@@ -970,6 +971,7 @@
     { "shortallwindowsmenus",  KEYWORD, kw0_ShortAllWindowsMenus },
     { "showiconmanager",       KEYWORD, kw0_ShowIconManager },
     { "showworkspacemanager",  KEYWORD, kw0_ShowWorkspaceManager },
+       { "sloppyfocus",        KEYWORD, kw0_SloppyFocus },
     { "smarticonify",          KEYWORD, kw0_SmartIconify },
     { "sorticonmanager",       KEYWORD, kw0_SortIconManager },
 #ifdef SOUNDS
@@ -1300,6 +1302,10 @@
 
       case kw0_PackNewWindows:
        Scr->PackNewWindows = TRUE;
+       return 1;
+
+         case kw0_SloppyFocus:
+       Scr->SloppyFocus = TRUE;
        return 1;
 
     }
--- screen.h    Tue Sep 14 08:26:30 1999
+++ my_screen.h Wed May 17 03:43:07 2000
@@ -378,6 +378,7 @@
 
     FuncKey FuncKeyRoot;
     FuncButton FuncButtonRoot;
+       short SloppyFocus;
 } ScreenInfo;
 
 extern int MultiScreen;
--- util.c      Tue Sep 14 08:26:02 1999
+++ my_util.c   Wed May 17 03:43:20 2000
@@ -1672,6 +1672,7 @@
     Time       time;
 {
     Window w = (tmp_win ? tmp_win->w : PointerRoot);
+       if(!tmp_win && Scr->SloppyFocus) return;
 
     XSetInputFocus (dpy, w, RevertToPointerRoot, time);
     if (Scr->Focus == tmp_win) return;


Reply via email to