diff -u -r WindowMaker-0.19.2/WPrefs/KeyboardShortcuts.c WindowMaker-0.19.2.patch/WPrefs/KeyboardShortcuts.c
--- WindowMaker-0.19.2/WPrefs/KeyboardShortcuts.c	Sun Sep  6 14:24:42 1998
+++ WindowMaker-0.19.2.patch/WPrefs/KeyboardShortcuts.c	Tue Sep  8 01:12:26 1998
@@ -90,7 +90,8 @@
 	"Workspace10Key",
 	"ClipRaiseKey",
 	"ClipLowerKey",
-	"ClipRaiseLowerKey"
+	"ClipRaiseLowerKey",
+	"ToggleKey"
 };
 
 
@@ -342,6 +343,7 @@
     WMAddListItem(panel->actLs, _("Raise Clip"));
     WMAddListItem(panel->actLs, _("Lower Clip"));
     WMAddListItem(panel->actLs, _("Raise/Lower Clip"));
+    WMAddListItem(panel->actLs, _("Toggle language"));
 
     WMSetListAction(panel->actLs, listClick, panel);
 
diff -u -r WindowMaker-0.19.2/WPrefs/Menu.c WindowMaker-0.19.2.patch/WPrefs/Menu.c
--- WindowMaker-0.19.2/WPrefs/Menu.c	Sun Sep  6 14:24:42 1998
+++ WindowMaker-0.19.2.patch/WPrefs/Menu.c	Tue Sep  8 03:52:58 1998
@@ -154,7 +154,7 @@
 	j = strlen(p);
 	*dirs = wmalloc(i-j+1);
 	strncpy(*dirs, str, i-j+1);
-	(*dirs)[i-j+1] = 0;
+	(*dirs)[i-j] = 0;
 
 	p += 6;
 	while (isspace(*p)) p++;
diff -u -r WindowMaker-0.19.2/WPrefs/Preferences.c WindowMaker-0.19.2.patch/WPrefs/Preferences.c
--- WindowMaker-0.19.2/WPrefs/Preferences.c	Mon Aug 24 06:33:18 1998
+++ WindowMaker-0.19.2.patch/WPrefs/Preferences.c	Tue Sep  8 01:33:54 1998
@@ -43,6 +43,7 @@
 
     WMFrame *optF;
     WMButton *raisB;
+    WMButton *raisC;
 
 } _Panel;
 
@@ -76,6 +77,7 @@
     
 
     WMSetButtonSelected(panel->raisB, GetBoolForKey("CirculateRaise"));
+    WMSetButtonSelected(panel->raisC, GetBoolForKey("ModeLock"));
 
     WMSetButtonSelected(panel->ballB[0], GetBoolForKey("WindowTitleBalloons"));
     WMSetButtonSelected(panel->ballB[1], GetBoolForKey("MiniwindowTitleBalloons"));
@@ -118,6 +120,7 @@
     SetStringForKey(str, "MoveDisplay");
 
     SetBoolForKey(WMGetButtonSelected(panel->raisB), "CirculateRaise");
+    SetBoolForKey(WMGetButtonSelected(panel->raisB), "ModeLock");
     SetBoolForKey(WMGetButtonSelected(panel->ballB[0]), "WindowTitleBalloons");
     SetBoolForKey(WMGetButtonSelected(panel->ballB[1]), "MiniwindowTitleBalloons");
     SetBoolForKey(WMGetButtonSelected(panel->ballB[2]), "AppIconBalloons");
@@ -191,8 +194,12 @@
     
     panel->raisB = WMCreateSwitchButton(panel->optF);
     WMResizeWidget(panel->raisB, 440, 20);
-    WMMoveWidget(panel->raisB, 20, 25);
+    WMMoveWidget(panel->raisB, 20, 15);
     WMSetButtonText(panel->raisB, _("Raise window when switching focus with keyboard."));
+    panel->raisC = WMCreateSwitchButton(panel->optF);
+    WMResizeWidget(panel->raisC, 440, 20);
+    WMMoveWidget(panel->raisC, 20, 40);
+    WMSetButtonText(panel->raisC, _("Keep language status for each window."));
 
     WMMapSubwidgets(panel->optF);
     
