? Keyboard.kbd
? am
? ar
? automatic-scanning.xam
? az
? be
? bn
? ca
? cs
? cy
? da
? de
? direct-selection.xam
? dwell-selection.xam
? el
? en_CA
? en_GB
? es
? fontsize-plus-composekeys.patch
? fr
? ga
? gok-0.11.2.tar.gz
? gok-wmstuff-patch.diff
? gok.desktop
? gu
? hi
? hr
? hu
? inverse-scanning.xam
? it
? ja
? ko
? lt
? mk
? ml
? mn
? ms
? nl
? no
? numberpad.kbd
? omf.make
? pa
? pl
? pt
? pt_BR
? singlekey-automatic-scanning.xam
? singlekey-inverse-scanning.xam
? sk
? sl
? sq
? sr
? sr@Latn
? stamp-h1
? sv
? ta
? tr
? uk
? valuator.kbd
? vi
? zh_CN
? zh_TW
? docs/reference/gok-decl-list.txt
? docs/reference/gok-decl.txt
? docs/reference/gok-undocumented.txt
? docs/reference/gok-unused.txt
? docs/reference/gok.args
? docs/reference/gok.hierarchy
? docs/reference/gok.interfaces
? docs/reference/gok.prerequisites
? docs/reference/gok.signals
? docs/reference/html
? docs/reference/html-build.stamp
? docs/reference/html.stamp
? docs/reference/scan-build.stamp
? docs/reference/sgml-build.stamp
? docs/reference/sgml.stamp
? docs/reference/tmpl-build.stamp
? docs/reference/tmpl.stamp
? docs/reference/xml
? docs/reference/tmpl/gok-file-util.sgml
? docs/reference/tmpl/gok-file-util.sgml.sgml
? gok/GNOME_Gok.server
? gok/GNOME_Gok.server.in
? gok/create-branching-keyboard
? gok/keyboard-geometry
? gok/test-focus-reject
? gok/test-gok-wordcomplete
? help/gok/C/gok-C.omf.out
? samples/Makefile
? samples/Makefile.in
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/gok/ChangeLog,v
retrieving revision 1.464
diff -u -r1.464 ChangeLog
--- ChangeLog	10 May 2004 18:04:28 -0000	1.464
+++ ChangeLog	11 May 2004 11:11:09 -0000
@@ -1,3 +1,18 @@
+2004-05-11 Bill Haneman <billh@gnome.org>
+
+	* gok/gok-keyboard.c:
+	(gok_keyboard_about): Unset the 'dialog'
+	hint on this window to prevent self-occlusion;
+	center the dialog after (since the WM won't).
+
+	* gok/main.c:
+	(gok_main_check_sticky_keys, gok_main_check_accessibility):
+	Unset the 'dialog' hint on these windows to prevent
+	self-occlusion.  Center the dialogs. Fixes #136160.
+	(gok_main_update_struts): Set the top strut
+	property correctly.  Also use and set the 
+	_wm_strut_partial property.  Fixes #140882.
+	
 2004-05-10  David Bolter  <david.bolter@utoronto.ca>
 
 	* Makefile.am: added directed.xml.in
Index: NEWS
===================================================================
RCS file: /cvs/gnome/gok/NEWS,v
retrieving revision 1.27
diff -u -r1.27 NEWS
--- NEWS	10 May 2004 16:18:41 -0000	1.27
+++ NEWS	11 May 2004 11:11:09 -0000
@@ -1,17 +1,33 @@
 What's new in GOK 0.11.2 ?
 
-(This is the first release in the development
+(This is the first external release in the development
 series of GOK targeting the gnome 2.8 release)
 
 Lots of new UI and features...
 
+* Added 5-switch directed scanning access method.
+
+* Fixed DOCK behavior when docking at top of screen (#140882).
+
+* Warn user about likely side-effects when starting GOK in 
+  corepointer mode (except for Direct
+  Selection access method).
+
+* Changed GOK's dialogs (About, startup message dialogs, etc.) to 
+  prevent them from raising above GOK's main window when in DOCK mode.
+  (#136160).
+
 * Fixed the very broken KEYSTRING word completion input.
+
+* Added a utility ('create_branching_keyboard') for creating
+  branching compose keyboards for non-Latin locales and locales which
+  normally require 'input methods' for text input.
  
 * Allow user to chooise between prebuild compose keyboard from a
   custom .kbd file. a keyboard created from the XKB keyboard
   description on the X Server (default), an alphabetic keyboard, or a
   keyboard with alphabetic keys listed in order of frequency.  Better
-  handling of key shirt levels for non-alphabetic keys.
+  handling of key shift levels for non-alphabetic keys.
 
 * Added a numberpad keyboard (136482) and put a branch key for it on
   the compose keyboard.
Index: docs/reference/tmpl/gok-unused.sgml
===================================================================
RCS file: /cvs/gnome/gok/docs/reference/tmpl/gok-unused.sgml,v
retrieving revision 1.17
diff -u -r1.17 gok-unused.sgml
--- docs/reference/tmpl/gok-unused.sgml	21 Apr 2004 16:59:46 -0000	1.17
+++ docs/reference/tmpl/gok-unused.sgml	11 May 2004 11:11:09 -0000
@@ -24,6 +24,29 @@
 </para>
 
 
+<!-- ##### FUNCTION create_dialogSettings ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+<!-- ##### FUNCTION create_windowEditor ##### -->
+<para>
+
+</para>
+
+@Returns: 
+
+<!-- ##### FUNCTION lookup_widget ##### -->
+<para>
+
+</para>
+
+@widget: 
+@widget_name: 
+@Returns: 
+
 <!-- ##### FUNCTION on_combo_entry16_changed ##### -->
 <para>
 
Index: docs/reference/tmpl/interface.sgml
===================================================================
RCS file: /cvs/gnome/gok/docs/reference/tmpl/interface.sgml,v
retrieving revision 1.2
diff -u -r1.2 interface.sgml
--- docs/reference/tmpl/interface.sgml	26 Aug 2002 14:20:15 -0000	1.2
+++ docs/reference/tmpl/interface.sgml	11 May 2004 11:11:09 -0000
@@ -14,19 +14,3 @@
 
 </para>
 
-<!-- ##### FUNCTION create_dialogSettings ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
-<!-- ##### FUNCTION create_windowEditor ##### -->
-<para>
-
-</para>
-
-@Returns: 
-
-
Index: docs/reference/tmpl/main.sgml
===================================================================
RCS file: /cvs/gnome/gok/docs/reference/tmpl/main.sgml,v
retrieving revision 1.8
diff -u -r1.8 main.sgml
--- docs/reference/tmpl/main.sgml	10 Feb 2004 18:29:54 -0000	1.8
+++ docs/reference/tmpl/main.sgml	11 May 2004 11:11:09 -0000
@@ -148,6 +148,7 @@
 </para>
 
 @directory: 
+@first: 
 @Returns: 
 
 
Index: docs/reference/tmpl/support.sgml
===================================================================
RCS file: /cvs/gnome/gok/docs/reference/tmpl/support.sgml,v
retrieving revision 1.2
diff -u -r1.2 support.sgml
--- docs/reference/tmpl/support.sgml	26 Aug 2002 14:20:15 -0000	1.2
+++ docs/reference/tmpl/support.sgml	11 May 2004 11:11:09 -0000
@@ -14,13 +14,3 @@
 
 </para>
 
-<!-- ##### FUNCTION lookup_widget ##### -->
-<para>
-
-</para>
-
-@widget: 
-@widget_name: 
-@Returns: 
-
-
Index: gok/gok-keyboard.c
===================================================================
RCS file: /cvs/gnome/gok/gok/gok-keyboard.c,v
retrieving revision 1.152
diff -u -r1.152 gok-keyboard.c
--- gok/gok-keyboard.c	10 May 2004 18:04:28 -0000	1.152
+++ gok/gok-keyboard.c	11 May 2004 11:11:10 -0000
@@ -3522,6 +3522,9 @@
 	g_signal_connect (about, "destroy",
 			  G_CALLBACK (gtk_widget_destroyed),
 			  &about);
+	/* make it 'normal' to avoid occluding GOK main window */
+	gtk_window_set_type_hint (GTK_WINDOW (about), GDK_WINDOW_TYPE_HINT_NORMAL);
+	gtk_window_set_position (GTK_WINDOW (about), GTK_WIN_POS_CENTER);
 	gtk_widget_show (about);
 }
 
Index: gok/main.c
===================================================================
RCS file: /cvs/gnome/gok/gok/main.c,v
retrieving revision 1.149
diff -u -r1.149 main.c
--- gok/main.c	10 May 2004 18:04:28 -0000	1.149
+++ gok/main.c	11 May 2004 11:11:10 -0000
@@ -140,6 +140,8 @@
 static int bDisplaySettingsDialog = 0;
 static int bExtras = 0;
 
+static gint _screen_height, _screen_width;
+
 static struct poptOption options[] = {
 	{
 		"access-method", 
@@ -1357,7 +1359,10 @@
 	GtkWidget *fixed1;
 
 	gok_log_enter();
-						     
+					
+	_screen_height = gdk_screen_get_height (gdk_screen_get_default ());
+	_screen_width = gdk_screen_get_width (gdk_screen_get_default ());
+	     
 	window1 = g_object_connect (gtk_widget_new (gtk_window_get_type (),
 				"user_data", NULL,
 				"can_focus", FALSE,
@@ -1995,6 +2000,22 @@
 
 }
 
+
+enum {
+	STRUT_LEFT = 0,
+	STRUT_RIGHT = 1,
+	STRUT_TOP = 2,
+	STRUT_BOTTOM = 3,
+	STRUT_LEFT_START = 4,
+	STRUT_LEFT_END = 5,
+	STRUT_RIGHT_START = 6,
+	STRUT_RIGHT_END = 7,
+	STRUT_TOP_START = 8,
+	STRUT_TOP_END = 9,
+	STRUT_BOTTOM_START = 10,
+	STRUT_BOTTOM_END = 11
+};
+
 /*
  * TODO: GtkDoc this!
  */
@@ -2003,16 +2024,19 @@
 {
 	GtkWidget *widget = gok_main_get_main_window ();
 	Atom atom_strut = gdk_x11_get_xatom_by_name ("_NET_WM_STRUT");
-	guint32 struts[4];
+	Atom atom_strut_partial = gdk_x11_get_xatom_by_name ("_NET_WM_STRUT_PARTIAL");
+	guint32 struts[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
 
 	switch (gok_data_get_dock_type ()) {
 	case GOK_DOCK_TOP:
-		struts[0] = struts[2] = struts[3] = 0;
-		struts[1] = height;
+		struts[STRUT_TOP] = height;
+		struts[STRUT_TOP_START] = 0;
+		struts[STRUT_TOP_END] = _screen_width - 1;
 		break;
 	case GOK_DOCK_BOTTOM:
-		struts[0] = struts[1] = struts[2]= 0;
-		struts[3] = height;
+		struts[STRUT_BOTTOM] = height;
+		struts[STRUT_BOTTOM_START] = 0;
+		struts[STRUT_BOTTOM_END] = _screen_width - 1;
 		break;
 	default:
 		return;
@@ -2021,11 +2045,18 @@
 	gdk_error_trap_push ();
 	/* this means that we are responsible for placing ourselves appropriately on screen */
 	if (widget && widget->window)
+	{
 		XChangeProperty (GDK_WINDOW_XDISPLAY (widget->window), 
 				 GDK_WINDOW_XWINDOW (widget->window), 
 				 atom_strut,
 				 XA_CARDINAL, 32, PropModeReplace,
 				 (guchar *) &struts, 4);
+		XChangeProperty (GDK_WINDOW_XDISPLAY (widget->window), 
+				 GDK_WINDOW_XWINDOW (widget->window), 
+				 atom_strut_partial,
+				 XA_CARDINAL, 32, PropModeReplace,
+				 (guchar *) &struts, 12);
+	}
 	gdk_error_trap_pop ();
 }
 
@@ -2350,7 +2381,7 @@
 				xkb_ok = TRUE;
 				if (!bLoginOption) {
 				  dialog = gtk_message_dialog_new (NULL,
-								 GTK_DIALOG_DESTROY_WITH_PARENT,
+								 0,
 								 GTK_MESSAGE_INFO,
 								 GTK_BUTTONS_OK,
 								 _("GOK has enabled Sticky Keys, which it requires.\n"));
@@ -2359,6 +2390,10 @@
 				  g_signal_connect_swapped (GTK_OBJECT (dialog), "response",
 							  G_CALLBACK (gtk_widget_destroy),
 							  GTK_OBJECT (dialog));
+
+				  /* reset hint to avoid self-occlusion */
+				  gtk_window_set_type_hint (GTK_WINDOW (dialog), GDK_WINDOW_TYPE_HINT_NORMAL);
+				  gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
 				  gtk_widget_show_all (dialog);
 				}
 			}
@@ -2455,7 +2490,7 @@
 		"click " 
 		"Close" "." 
 		"\n\n"));
-		   
+
 		button = gtk_button_new_with_label(_("Enable and Log Out"));
 		gtk_container_add (GTK_CONTAINER (GTK_DIALOG(acd)->action_area),
 						  button);
@@ -2474,7 +2509,9 @@
 		g_signal_connect(G_OBJECT (button), "clicked", 
 			G_CALLBACK (check_accessibility_cb), (gpointer) "continue");
 						  
-
+		/* reset hint to avoid self-occlusion */
+		gtk_window_set_type_hint (GTK_WINDOW (acd), GDK_WINDOW_TYPE_HINT_NORMAL);
+		gtk_window_set_position (GTK_WINDOW (acd), GTK_WIN_POS_CENTER);
 		gtk_widget_show_all (acd);
 		
 	}
