--- a/patches/gdm-01-branding-defaults-solaris.diff Tue Jun 06 05:39:37 2006 +0000
+++ b/patches/gdm-01-branding-defaults-solaris.diff Tue Jun 06 05:46:05 2006 +0000
@@ -36,7 +36,7 @@
-Exec=gnome-session
+_Name=Opensolaris GNOME Desktop
+_Comment=This session logs you into the Opensolaris GNOME Desktop
-+Exec=/usr/dt/config/Xsession.jds
++Exec=ctrun -l child -i none /usr/dt/config/Xsession.jds
TryExec=gnome-session
# no icon yet, only the top three are currently used
Icon=
@@ -134,3 +134,173 @@
GraphicalThemeDir=@datadir@/gdm/themes/
GraphicalThemeRand=false
+--- /tmp/AccessDwellMouseEvents.in 2006-06-05 16:48:54.478758671 -0500
++++ gdm-2.14.7/gui/modules/AccessDwellMouseEvents.in 2006-06-05 16:46:23.898422000 -0500
+@@ -15,7 +15,7 @@
+ # that the initial crossing is a motion In or Out of the window.
+ #
+ # e.g.
+-# TBLR I 10000 @AT_BINDIR@/gok --login --access-method=dwellselection
++# TBLR I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=dwellselection"
+ #
+ # Means the user crosses into the top border, out the bottom border, into the left
+ # border, and then out the right border (in that order). The initial_direction
+@@ -30,7 +30,24 @@
+ #
+ # e.g.
+ #
+-# <Add> @AT_BINDIR@/gnome-mag
++# <Add> /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gnome-mag"
++
++# GNOME On-Screen Keyboard - support several different options for different
++# user needs. Note these gestures all start by moving the mouse into the top
++# window border.
++#
++TBLR I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=dwellselection"
++TLBR I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1"
++TRBL I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2"
++TBRL I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3"
++
++# Gnopernicus. Note these gestures all start by moving the mouse into the
++# bottom window border.
++#
++# Speech
++BTRL I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/srcore --login --enable-speech"
++# Magnifier
++BTLR I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/srcore --login --enable-magnifier --disable-speech --disable-braille"
++# Speech and Magnifier
++BRTL I 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/srcore --login"
+
+-# current:
+-TBLR I 10000 @AT_BINDIR@/gok --login --access-method=dwellselection
+--- /tmp/AccessKeyMouseEvents.in 2006-06-05 16:48:54.478838472 -0500
++++ gdm-2.14.7/gui/modules/AccessKeyMouseEvents.in 2006-06-05 16:48:00.224771000 -0500
+@@ -15,7 +15,7 @@
+ #
+ # e.g.
+ #
+-# <Control>k 5 1000 10000 @AT_BINDIR@/gok --login --access-method=directselection
++# <Control>k 5 1000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=directselection"
+ #
+ # Means press Contol-k 5 times, holding each keypress down for at least 1000ms
+ # each time and with no greater interval than 10000ms between each event in the
+@@ -26,8 +26,8 @@
+ # otherwise the sequence will be lost.
+ #
+ # e.g.
+-# Shift_L 5 1000 10000 @AT_BINDIR@/gok --login --access-method=directselection
+-# Shift_R 5 1000 10000 @AT_BINDIR@/gok --login --access-method=directselection
++# Shift_L 5 1000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=directselection"
++# Shift_R 5 1000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=directselection"
+ #
+ # Will start gok if you press either shift key 5 times holding it down for more
+ # then 1 second each time.
+@@ -39,7 +39,7 @@
+ #
+ # e.g.
+ #
+-# <Mouse2> 4 3000 6000 @AT_BINDIR@/gnopernicus
++# <Mouse2> 4 3000 6000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gnopernicus"
+ #
+ # Note that mouse numbers are 1-based so <Mouse1> is the left mouse button,
+ # <Mouse3> is the right mouse button and <Mouse2> is the middle mouse button.
+@@ -51,26 +51,27 @@
+ #
+ # e.g.
+ #
+-# <Add> @AT_BINDIR@/gnome-mag
++# <Add> /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gnome-mag"
+ #
+ # Note that pressing any other keys
+
+ # current:
+
+ # hold right or left mouse button 3 times for 3 seconds each time
+-<Mouse1> 3 3000 10000 @AT_BINDIR@/gok --login --access-method=directselection
++<Mouse1> 3 3000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=directselection"
+ # we add the right mouse button as it may be the left mouse button
+ # for a left handed user
+-<Mouse3> 3 3000 10000 @AT_BINDIR@/gok --login --access-method=directselection
++<Mouse3> 3 3000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=directselection"
+
+-<Switch1> 1 5000 0 @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1
+-<Switch2> 3 50 3000 @AT_BINDIR@/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2
+-<Switch3> 3 1000 10000 @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3
++<Switch1> 1 5000 0 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1"
++<Switch2> 3 50 3000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2"
++<Switch3> 3 1000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3"
+
+ # press ctrl-s for 1 second to launch gnopernicus speech
+ # gnopernicus, speech mode
+-<Control>s 1 1000 10000 @AT_BINDIR@/srcore --login --enable-speech
++<Control>s 1 1000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/srcore --login --enable-speech"
+ # press ctrl-m for 1 second to launch gnopernicus magnifier
+-<Control>m 1 1000 10000 @AT_BINDIR@/srcore --login --enable-magnifier --disable-speech --disable-braille
++<Control>m 1 1000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/srcore --login --enable-magnifier --disable-speech --disable-braille"
+ # press ctrl-g for 1 second to launch both gnopernicus speech and magnifier
+-<Control>g 1 1000 10000 @AT_BINDIR@/srcore --login
++<Control>g 1 1000 10000 /bin/sh -c "ctrun -l child -i none @AT_BINDIR@/srcore --login"
++
+--- gdm-2.14.7/config/CDE.desktop.in-orig 2006-06-05 23:40:03.552332000 -0500
++++ gdm-2.14.7/config/CDE.desktop.in 2006-06-05 23:40:22.579644000 -0500
+@@ -2,7 +2,7 @@
+ Encoding=UTF-8
+ _Name=CDE
+ _Comment=This session logs you into CDE
+-Exec=/usr/dt/bin/Xsession
++Exec=ctrun -l child -i none /usr/dt/bin/Xsession
+ # no icon yet, only the top three are currently used
+ Icon=
+ Type=Application
+--- gdm-2.14.7/daemon/slave.c-orig 2006-06-05 23:40:33.389283000 -0500
++++ gdm-2.14.7/daemon/slave.c 2006-06-05 23:43:34.281067000 -0500
+@@ -3363,6 +3363,8 @@ session_child_run (struct passwd *pwent,
+ #else
+ char *argv[7];
+ #endif
++ char **argv2;
++ gchar *ctrun;
+
+ #ifdef CAN_USE_SETPENV
+ extern char **newenv;
+@@ -3862,7 +3864,17 @@ session_child_run (struct passwd *pwent,
+ }
+ #endif
+
+- VE_IGNORE_EINTR (execv (argv[0], argv));
++ ctrun = g_strdup_printf ("/bin/sh -c \"ctrun -l child -i none %s %s %s %s %s %s %s\"",
++ argv[0] ? argv[0] : "",
++ argv[1] ? argv[1] : "",
++ argv[2] ? argv[2] : "",
++ argv[3] ? argv[3] : "",
++ argv[4] ? argv[4] : "",
++ argv[5] ? argv[5] : "",
++ argv[6] ? argv[6] : "");
++ argv2 = ve_split (ctrun);
++
++ VE_IGNORE_EINTR (execv (argv2[0], argv2));
+
+ /* will go to .xsession-errors */
+ #ifdef HAVE_TSOL
+@@ -5186,7 +5198,7 @@ gdm_slave_exec_script (GdmDisplay *d, co
+ struct passwd *pwent, gboolean pass_stdout)
+ {
+ pid_t pid;
+- char *script;
++ char *script, *ctrun;
+ gchar **argv;
+ gint status;
+ char *x_servers_file;
+@@ -5313,7 +5325,11 @@ gdm_slave_exec_script (GdmDisplay *d, co
+ if ( ! ve_string_empty (d->theme_name))
+ g_setenv ("GDM_GTK_THEME", d->theme_name, TRUE);
+ g_unsetenv ("MAIL");
+- argv = ve_split (script);
++
++ ctrun = g_strdup_printf ("/bin/sh -c \"ctrun -l child -i none %s\"",
++ script);
++ argv = ve_split (ctrun);
++
+ VE_IGNORE_EINTR (execv (argv[0], argv));
+ syslog (LOG_ERR, _("%s: Failed starting: %s"), "gdm_slave_exec_script",
+ script);