--- 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;