maybe chmod 0755 './X11/chooser.sh'
maybe chmod 0755 './X11/dm'
maybe chmod 0755 './X11/dm/Sessions'
+maybe chmod 0755 './X11/dm/Sessions/custom.desktop'
maybe chmod 0644 './X11/dm/Sessions/wmaker.desktop'
+maybe chmod 0755 './X11/gdm'
+maybe chmod 0755 './X11/gdm/Init'
+maybe chmod 0755 './X11/gdm/Init/Default'
+maybe chmod 0755 './X11/gdm/PostLogin'
+maybe chmod 0755 './X11/gdm/PostLogin/Default.sample'
+maybe chmod 0755 './X11/gdm/PostSession'
+maybe chmod 0755 './X11/gdm/PostSession/Default'
+maybe chmod 0755 './X11/gdm/PreSession'
+maybe chmod 0755 './X11/gdm/PreSession/Default'
+maybe chmod 0755 './X11/gdm/XKeepsCrashing'
+maybe chmod 0755 './X11/gdm/Xsession'
+maybe chmod 0644 './X11/gdm/custom.conf'
+maybe chmod 0644 './X11/gdm/gdmprefetchlist'
+maybe chmod 0644 './X11/gdm/locale.alias'
+maybe chmod 0755 './X11/gdm/modules'
+maybe chmod 0644 './X11/gdm/modules/AccessDwellMouseEvents'
+maybe chmod 0644 './X11/gdm/modules/AccessKeyMouseEvents'
+maybe chmod 0644 './X11/gdm/modules/factory-AccessDwellMouseEvents'
+maybe chmod 0644 './X11/gdm/modules/factory-AccessKeyMouseEvents'
maybe chmod 0755 './X11/mwm'
maybe chmod 0644 './X11/mwm/system.mwmrc'
maybe chmod 0755 './X11/startDM.sh'
maybe chmod 0755 './X11/xinit/xinitrc.d/10-xdg-menu-gnome'
maybe chmod 0755 './X11/xinit/xinitrc.d/11-xdg-menu-kde-4'
maybe chmod 0755 './X11/xinit/xinitrc.d/15-xdg-data-gnome'
+maybe chmod 0755 './X11/xinit/xinitrc.d/49-keychain'
+maybe chmod 0755 './X11/xinit/xinitrc.d/50-ssh-agent'
maybe chmod 0755 './X11/xinit/xinitrc.d/70-seahorse-agent'
maybe chmod 0755 './X11/xinit/xinitrc.d/80-dbus'
maybe chmod 0755 './X11/xinit/xinitrc.d/90-consolekit'
maybe chmod 0644 './env.d/99editor'
maybe chmod 0644 './env.d/99fltk-1'
maybe chmod 0644 './env.d/99gentoolkit-env'
+maybe chmod 0644 './env.d/99xdg-gdm'
maybe chmod 0755 './env.d/binutils'
maybe chmod 0644 './env.d/binutils/config-x86_64-pc-linux-gnu'
maybe chmod 0644 './env.d/binutils/x86_64-pc-linux-gnu-2.21.1'
maybe chmod 0644 './pam.d/cron'
maybe chmod 0644 './pam.d/cups'
maybe chmod 0644 './pam.d/cvs'
+maybe chmod 0644 './pam.d/gdm'
+maybe chmod 0644 './pam.d/gdm-autologin'
+maybe chmod 0644 './pam.d/gdmsetup'
maybe chmod 0644 './pam.d/gnome-screensaver'
maybe chmod 0644 './pam.d/groupadd'
maybe chmod 0644 './pam.d/groupdel'
maybe chmod 0755 './security'
maybe chmod 0644 './security/access.conf'
maybe chmod 0644 './security/capability.conf'
+maybe chmod 0755 './security/console.apps'
+maybe chmod 0644 './security/console.apps/gdmsetup'
maybe chmod 0644 './security/group.conf'
maybe chmod 0644 './security/limits.conf'
maybe chmod 0755 './security/limits.d'
--- /dev/null
+[Desktop Entry]
+Encoding=UTF-8
+# The names/descriptions should really be better
+Name=Custom Session
+Comment=This starts a custom session
+Exec=custom
+# The "custom" Exec is a very special one and is handled specially in
+# the Xsession script and just runs "~/.xsession" directly
+Icon=
+Type=Application
--- /dev/null
+#!/bin/sh
+# Stolen from the debian kdm setup, aren't I sneaky
+# Plus a lot of fun stuff added
+# -George
+
+PATH=/usr/bin:$PATH
+OLD_IFS=$IFS
+
+gdmwhich () {
+ COMMAND="$1"
+ OUTPUT=
+ IFS=:
+ for dir in $PATH
+ do
+ if test -x "$dir/$COMMAND" ; then
+ if test "x$OUTPUT" = "x" ; then
+ OUTPUT="$dir/$COMMAND"
+ fi
+ fi
+ done
+ IFS=$OLD_IFS
+ echo "$OUTPUT"
+}
+
+sysresources=/etc/X11/Xresources
+
+# merge in defaults
+if [ -f "$sysresources" ]; then
+ xrdb -merge "$sysresources"
+fi
+
+sysmodmap=/etc/X11/Xmodmap
+
+XMODMAP=`gdmwhich xmodmap`
+if [ "x$XMODMAP" != "x" ] ; then
+ if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then
+ if [ -f $sysmodmap ]; then
+ $XMODMAP $sysmodmap
+ fi
+ else
+ ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
+ fi
+
+ #
+ # Switch Sun's Alt and Meta mod mappings
+ #
+
+ UNAME=`gdmwhich uname`
+ PROCESSOR=`$UNAME -p`
+ if [ "x$PROCESSOR" = "xsparc" ]; then
+ if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null
+ then
+ $XMODMAP -e "clear Mod1" \
+ -e "clear Mod4" \
+ -e "add Mod1 = Alt_L" \
+ -e "add Mod1 = Alt_R" \
+ -e "add Mod4 = Meta_L" \
+ -e "add Mod4 = Meta_R"
+ fi
+ fi
+fi
+
+SETXKBMAP=`gdmwhich setxkbmap`
+if [ "x$SETXKBMAP" != "x" ] ; then
+ # FIXME: is this all right? Is this completely on crack?
+ # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
+ # FIXME: This should be done in code. Or there must be an easier way ...
+ if [ -n "$GDM_PARENT_DISPLAY" ]; then
+ XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
+ if [ -n "$XKBSETUP" ]; then
+ XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
+ XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
+ XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
+ XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
+ XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
+ if [ -n "$XKBKEYMAP" ]; then
+ $SETXKBMAP -keymap "$XKBKEYMAP"
+ elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
+ $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
+ elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
+ $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
+ elif [ -n "$XKBSYMBOLS" ]; then
+ $SETXKBMAP -symbols "$XKBSYMBOLS"
+ fi
+ fi
+ fi
+fi
+
+exit 0
--- /dev/null
+#!/bin/sh
+#
+# Note: this is a sample and will not be run as is. Change the name of this
+# file to <gdmconfdir>/PostLogin/Default for this script to be run. This
+# script will be run before any setup is run on behalf of the user and is
+# useful if you for example need to do some setup to create a home directory
+# for the user or something like that. $HOME, $LOGNAME and such will all be
+# set appropriately and this script is run as root.
--- /dev/null
+#!/bin/sh
+
+PATH="/usr/bin:$PATH:/bin:/usr/bin"
+OLD_IFS=$IFS
+
+gdmwhich () {
+ COMMAND="$1"
+ OUTPUT=
+ IFS=:
+ for dir in $PATH
+ do
+ if test -x "$dir/$COMMAND" ; then
+ if test "x$OUTPUT" = "x" ; then
+ OUTPUT="$dir/$COMMAND"
+ fi
+ fi
+ done
+ IFS=$OLD_IFS
+ echo "$OUTPUT"
+}
+
+exit 0
--- /dev/null
+#!/bin/sh
+#
+# Note that output goes into the .xsession-errors file for easy debugging
+#
+PATH="/usr/bin:$PATH:/bin:/usr/bin"
+OLD_IFS=$IFS
+
+gdmwhich () {
+ COMMAND="$1"
+ OUTPUT=
+ IFS=:
+ for dir in $PATH
+ do
+ if test -x "$dir/$COMMAND" ; then
+ if test "x$OUTPUT" = "x" ; then
+ OUTPUT="$dir/$COMMAND"
+ fi
+ fi
+ done
+ IFS=$OLD_IFS
+ echo "$OUTPUT"
+}
+
+# Set background color
+XSETROOT=`gdmwhich xsetroot`
+if [ "x$XSETROOT" != "x" ] ; then
+
+ CHECKBACKCOLOR="OK"
+ if [ "x$GDM_GREETER_TYPE" = "xTHEMED" ]; then
+ BACKCOLOR=`gdmflexiserver --command="GET_CONFIG greeter/GraphicalThemedColor $DISPLAY"`
+
+ CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'`
+ if [ "x$CHECKBACKCOLOR" = "xOK" ]; then
+ BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'`
+ else
+ BACKCOLOR=""
+ fi
+ fi
+
+ # If we tried to load the themed backgroundcolor, but failed, then try loading plain color
+ if [ "x$CHECKBACKCOLOR" != "xOK" ] || [ "x$GDM_GREETER_TYPE" = "xPLAIN" ]; then
+
+ # Background type can be 0=None, 1=Image & Color, 2=Color, or 3=Image
+ BACKTYPE=`gdmflexiserver --command="GET_CONFIG greeter/BackgroundType $DISPLAY"`
+
+ # Skip if background type does not include a color
+ if [ "x$BACKTYPE" = "xOK 1" ] || [ "x$BACKTYPE" = "xOK 2" ]; then
+ BACKCOLOR=`gdmflexiserver --command="GET_CONFIG greeter/BackgroundColor $DISPLAY"`
+
+ CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'`
+ if [ "x$CHECKBACKCOLOR" = "xOK" ]; then
+ BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'`
+ else
+ BACKCOLOR=""
+ fi
+ fi
+ fi
+
+ # Default value
+ if [ "x$BACKCOLOR" = "x" ]; then
+ BACKCOLOR="#76848F"
+ fi
+
+ "$XSETROOT" -cursor_name left_ptr -solid "$BACKCOLOR"
+fi
+
+exit 0
--- /dev/null
+#!/bin/sh
+
+if test "x$UNSAFE_TO_TRANSLATE" = "xyes" ; then
+ LANG=C
+ unset LC_ALL
+ unset LC_MESSAGES
+fi
+
+if test -x "$LIBEXECDIR/gdmtranslate" ; then
+ GDMTRANSLATE="$LIBEXECDIR/gdmtranslate"
+else
+ GDMTRANSLATE=
+fi
+
+gettextfunc () {
+ if test "x$GDMTRANSLATE" != "x" ; then
+ "$GDMTRANSLATE" "$1"
+ else
+ echo "$1"
+ fi
+}
+
+OLD_IFS=$IFS
+
+gdmwhich () {
+ COMMAND="$1"
+ OUTPUT=
+ IFS=:
+ for dir in $PATH
+ do
+ if test -x "$dir/$COMMAND" ; then
+ if test "x$OUTPUT" = "x" ; then
+ OUTPUT="$dir/$COMMAND"
+ fi
+ fi
+ done
+ IFS=$OLD_IFS
+ echo "$OUTPUT"
+}
+
+MSG3=`gettextfunc "Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. You will need to log in on a console and reconfigure the X server. Then restart GDM."`
+MSG4=`gettextfunc "Would you like to try to configure the X server? Note that you will need the root password for this."`
+MSG5=`gettextfunc "Please type in the root (privileged user) password."`
+MSG6=`gettextfunc "Trying to restart the X server."`
+MSG7=`gettextfunc "The X server is now disabled. Restart GDM when it is configured correctly."`
+MSG8=`gettextfunc "Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. Would you like to view the X server output to diagnose the problem?"`
+MSG9=`gettextfunc "Would you like to view the detailed X server output as well?"`
+
+# there are some env vars defined:
+# XLOG = the log file for the X server
+# BINDIR = location of gdm binaries
+# SBINDIR = location of gdm system binaries
+# LIBEXECDIR = location of gdm libexec binaries (gdmaskpass, gdmopen)
+
+# return values are
+# 0 = try again, runs this server again
+# 1 = abort this display, removes this server from the list
+# 32 = something went very wrong, things will just get logged.
+# this means this script didnt work so do alternative things
+# to tell the user if possible
+
+#
+# First see if we can find an X configuration program
+# (first one in the list will be used)
+#
+XCONFIGURATOR=
+for n in \
+ /usr/bin/system-config-display \
+ /usr/bin/redhat-config-xfree86 \
+ /usr/sbin/XFdrake \
+ /usr/bin/X11/XF86Setup \
+ /usr/bin/X11/Xconfigurator \
+ /usr/bin/X11/xf86cfg \
+ ; do
+ # standard shell test has no or and loops have no breaks, eek
+ if test "x$XCONFIGURATOR" = "x" ; then
+ if test -x "$n" ; then
+ XCONFIGURATOR="$n"
+ fi
+ fi
+done
+
+#
+# Now we check for dialog and gdmaskpass
+#
+DIALOG=`gdmwhich dialog`
+if test "x$DIALOG" = "x" ; then
+ DIALOG=`gdmwhich whiptail`
+fi
+if test -x "$LIBEXECDIR/gdmaskpass" ; then
+ ASKPASS="$LIBEXECDIR/gdmaskpass"
+else
+ ASKPASS=
+fi
+
+#
+# If this is a mouse problem try mouseconfig and modify some
+# messages
+#
+if grep '^\(Cannot open mouse\|No core pointer\)' "$XLOG" 2> /dev/null ; then
+
+ MSG8=`gettextfunc "Failed to start the X server (your graphical interface). It seems that the pointer device (your mouse) is not set up correctly. Would you like to view the X server output to diagnose the problem?"`
+
+ if test -x /usr/sbin/mouseconfig ; then
+ XCONFIGURATOR=/usr/sbin/mouseconfig
+ # Note: we know this is a mouse problem and yay we have mouseconfig
+ MSG4=`gettextfunc "Would you like to try to configure the mouse? Note that you will need the root password for this."`
+ fi
+
+ if test -x /usr/bin/system-config-mouse ; then
+ XCONFIGURATOR=/usr/bin/system-config-mouse
+ # Note: we know this is a mouse problem and yay we have system-config-mouse
+ MSG4=`gettextfunc "Would you like to try to configure the mouse? Note that you will need the root password for this."`
+ fi
+
+fi
+
+# we require 'gdmopen', to open a console, because we really dont
+# have one. Perhaps someone should try to figure out some shell
+# black magic to get this to work on other then linux systems
+if test ! -x "$LIBEXECDIR/gdmopen" ; then
+ exit 32
+fi
+
+# when we run ourselves from the open we will pass a -noopen argument
+if test "x$1" = "x-noopen" ; then
+ shift
+else
+ #
+ # We do a lot of work wastefully over again, but oh well,
+ # perhaps this needs fixing.
+ #
+ "$LIBEXECDIR/gdmopen" -l /bin/sh -c "$0 -noopen $@"
+ exit $?
+fi
+
+clear
+
+# Note, dialog required, though this script could be fixed to not require it
+# I suppose
+if test "x" = "x$DIALOG" ; then
+ echo =======================================================================
+ echo
+ cat "$XLOG"
+ echo
+ echo =======================================================================
+ echo
+ if test -x /usr/bin/fmt ; then
+ echo "$MSG3" | /usr/bin/fmt
+ else
+ echo "$MSG3"
+ fi
+ echo
+ echo =======================================================================
+ read
+ exit 1
+fi
+
+if "$DIALOG" --yesno "$MSG8" 10 50 ; then
+ "$DIALOG" --textbox "$XLOG" 22 76
+ # Support XFree86 v4 logfile thingie
+ if grep '^(..) Log file: "' "$XLOG" 2> /dev/null ; then
+ XLOG_DETAIL=`grep '^(..) Log file: "' "$XLOG" | sed 's/^[^"]*"\([^"]*\)".*$/\1/'`
+ if "$DIALOG" --yesno "$MSG9" 10 50 ; then
+ "$DIALOG" --textbox "$XLOG_DETAIL" 22 76
+ fi
+ fi
+fi
+
+if test "x$XCONFIGURATOR" = "x" ; then
+ "$DIALOG" --msgbox "$MSG7" 8 50
+ exit 1
+fi
+
+if "$DIALOG" --yesno "$MSG4" 10 50 ; then
+ clear
+ echo
+ echo "$MSG5"
+ if test "x$ASKPASS" = "x" ; then
+ # dirty trick to fool su into asking the root password even if were
+ # root
+ su nobody -c "su -c $XCONFIGURATOR"
+ else
+ if "$ASKPASS" ; then
+ "$XCONFIGURATOR"
+ fi
+ fi
+ clear
+ "$DIALOG" --msgbox "$MSG6" 8 50
+ exit 0
+else
+ "$DIALOG" --msgbox "$MSG7" 8 50
+ exit 1
+fi
--- /dev/null
+#!/bin/sh
+#
+# This is SORT OF LIKE an X session, but not quite. You get a command as the
+# first argument (it could be multiple words, so run it with "eval"). As a
+# special case, the command can be:
+# default - Run the appropriate Xclients startup (see the code below)
+# custom - Run ~/.xsession and if that's not available run 'default'
+#
+# (Note that other arguments could also follow, but only the command one is
+# right now relevant and supported)
+#
+# The output is ALREADY redirected to .xsession-errors in GDM. This way
+# .xsession-errors actually gets more output such as if the PreSession script
+# is failing. This also prevents DoS attacks if some app in the users session
+# can be prodded to dump lots of stuff on the stdout/stderr. We wish to be
+# robust don't we? In case you wish to use an existing script for other DM's,
+# you can just not redirect when GDMSESSION is set. GDMSESSION will always
+# be set from gdm.
+#
+# Also note that this is not run as a login shell, this is just executed.
+# This is why we source the profile files below.
+#
+# based on:
+# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
+
+command="$@"
+
+# this will go into the .xsession-errors along with all other echo's
+# good for debugging where things went wrong
+echo "$0: Beginning session setup..."
+
+# First read /etc/profile and .profile
+test -f /etc/profile && . /etc/profile
+test -f "$HOME/.profile" && . "$HOME/.profile"
+# Second read /etc/xprofile and .xprofile for X specific setup
+test -f /etc/xprofile && . /etc/xprofile
+test -f "$HOME/.xprofile" && . "$HOME/.xprofile"
+
+# Translation stuff
+if [ -x "/usr/libexec/gdmtranslate" ] ; then
+ gdmtranslate="/usr/libexec/gdmtranslate"
+else
+ gdmtranslate=
+fi
+
+# Note that this should only go to zenity dialogs which always expect utf8
+gettextfunc () {
+ if [ "x$gdmtranslate" != "x" ] ; then
+ "$gdmtranslate" --utf8 "$1"
+ else
+ echo "$1"
+ fi
+}
+
+OLD_IFS=$IFS
+
+gdmwhich () {
+ COMMAND="$1"
+ OUTPUT=
+ IFS=:
+ for dir in $PATH
+ do
+ if test -x "$dir/$COMMAND" ; then
+ if test "x$OUTPUT" = "x" ; then
+ OUTPUT="$dir/$COMMAND"
+ fi
+ fi
+ done
+ IFS=$OLD_IFS
+ echo "$OUTPUT"
+}
+
+zenity=`gdmwhich zenity`
+
+# Note: ~/.xsession-errors is now done in the daemon so that it
+# works for ALL sessions (except ones named 'Failsafe')
+
+# clean up after xbanner
+freetemp=`gdmwhich freetemp`
+if [ -n "$freetemp" ] ; then
+ "$freetemp"
+fi
+
+userresources="$HOME/.Xresources"
+usermodmap="$HOME/.Xmodmap"
+userxkbmap="$HOME/.Xkbmap"
+
+sysresources=/etc/X11/Xresources
+sysmodmap=/etc/X11/Xmodmap
+sysxkbmap=/etc/X11/Xkbmap
+
+rh6sysresources=/etc/X11/xinit/Xresources
+rh6sysmodmap=/etc/X11/xinit/Xmodmap
+
+# merge in defaults
+if [ -f "$rh6sysresources" ]; then
+ xrdb -merge "$rh6sysresources"
+fi
+
+if [ -f "$sysresources" ]; then
+ xrdb -merge "$sysresources"
+fi
+
+if [ -f "$userresources" ]; then
+ xrdb -merge "$userresources"
+fi
+
+# merge in keymaps
+if [ -f "$sysxkbmap" ]; then
+ setxkbmap `cat "$sysxkbmap"`
+ XKB_IN_USE=yes
+fi
+
+if [ -f "$userxkbmap" ]; then
+ setxkbmap `cat "$userxkbmap"`
+ XKB_IN_USE=yes
+fi
+
+#
+# Eeek, this seems like too much magic here
+#
+if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then
+ if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then
+ xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config`
+ if [ -n "$xkbsymbols" ]; then
+ setxkbmap -symbols "$xkbsymbols"
+ XKB_IN_USE=yes
+ fi
+ fi
+fi
+
+# xkb and xmodmap don't play nice together
+if [ -z "$XKB_IN_USE" ]; then
+ if [ -f "$rh6sysmodmap" ]; then
+ xmodmap "$rh6sysmodmap"
+ fi
+
+ if [ -f "$sysmodmap" ]; then
+ xmodmap "$sysmodmap"
+ fi
+
+ if [ -f "$usermodmap" ]; then
+ xmodmap "$usermodmap"
+ fi
+fi
+
+unset XKB_IN_USE
+
+# Normalize languages, some places/distros screw us up in /etc/profile,
+# so in case the user did select a language
+if [ -n "$GDM_LANG" ]; then
+ LANG="$GDM_LANG"
+ export LANG
+
+ if [ -n "$LC_ALL" ]; then
+ if [ "$LC_ALL" != "$LANG" ]; then
+ LC_ALL="$LANG"
+ fi
+ else
+ unset LC_ALL
+ fi
+
+ if [ -n "$LANGUAGE" ]; then
+ if [ "$LANGUAGE" != "$LANG" ]; then
+ LANGUAGE="$LANG"
+ fi
+ else
+ unset LANGUAGE
+ fi
+
+ if [ -n "$LINGUAS" ]; then
+ if [ "$LINGUAS" != "$LANG" ]; then
+ LINGUAS="$LANG"
+ fi
+ else
+ unset LINGUAS
+ fi
+fi
+
+if [ "x$command" = "xcustom" ] ; then
+ if [ -x "$HOME/.xsession" ]; then
+ command="$HOME/.xsession"
+ else
+ echo "$0: Cannot find ~/.xsession will try the default session"
+ command="default"
+ fi
+fi
+
+if [ "x$command" = "xdefault" ] ; then
+ if [ -x "$HOME/.Xclients" ]; then
+ command="$HOME/.Xclients"
+ elif [ -x /etc/X11/xinit/Xclients ]; then
+ command="/etc/X11/xinit/Xclients"
+ elif [ -x /etc/X11/Xclients ]; then
+ command="/etc/X11/Xclients"
+ else
+ if [ -n "$zenity" ] ; then
+ disptext=`gettextfunc "System has no Xclients file, so starting a failsafe xterm session. Windows will have focus only if the mouse pointer is above them. To get out of this mode type 'exit' in the window."`
+ "$zenity" --info --text "$disptext"
+ else
+ echo "$0: Cannot find Xclients"
+ fi
+ exec xterm -geometry 80x24+0+0
+ fi
+fi
+
+# run all system xinitrc shell scripts.
+if [ -d /etc/X11/xinit/xinitrc.d ]; then
+ for i in /etc/X11/xinit/xinitrc.d/* ; do
+ if [ -x "$i" ]; then
+ . "$i"
+ fi
+ done
+fi
+
+echo "$0: Setup done, will execute: $command"
+
+eval exec $command
+
+echo "$0: Executing $command failed, will run xterm"
+
+if [ -n "$zenity" ] ; then
+ disptext=`gettextfunc "Failed to start the session, so starting a failsafe xterm session. Windows will have focus only if the mouse pointer is above them. To get out of this mode type 'exit' in the window."`
+ "$zenity" --info --text "$disptext"
+fi
+
+exec xterm -geometry 80x24+0+0
--- /dev/null
+# GDM Custom Configuration file.
+#
+# This file is the appropriate place for specifying your customizations to the
+# GDM configuration. If you run gdmsetup, it will automatically edit this
+# file for you and will cause the daemon and any running GDM GUI programs to
+# automatically update with the new configuration. Not all configuration
+# options are supported by gdmsetup, so to modify some values it may be
+# necessary to modify this file directly by hand.
+#
+# This file overrides the default configuration settings. These settings
+# are stored in the GDM System Defaults configuration file, which is found
+# at the following location.
+#
+# /usr/share/gdm/defaults.conf.
+#
+# This file contains comments about the meaning of each configuration option,
+# so is also a useful reference. Also refer to the documentation links at
+# the end of this comment for further information. In short, to hand-edit
+# this file, simply add or modify the key=value combination in the
+# appropriate section in the template below this comment section.
+#
+# For example, if you want to specify a different value for the Enable key
+# in the "[debug]" section of your GDM System Defaults configuration file,
+# then add "Enable=true" in the "[debug]" section of this file. If the
+# key already exists in this file, then simply modify it.
+#
+# Older versions of GDM used the "gdm.conf" file for configuration. If your
+# system has an old gdm.conf file on the system, it will be used instead of
+# this file - so changes made to this file will not take effect. Consider
+# migrating your configuration to this file and removing the gdm.conf file.
+#
+# If you hand edit a GDM configuration file, you can run the following
+# command and the GDM daemon will immediately reflect the change. Any
+# running GDM GUI programs will also be notified to update with the new
+# configuration.
+#
+# gdmflexiserver --command="UPDATE_CONFIG <configuration key>"
+#
+# e.g, the "Enable" key in the "[debug]" section would be "debug/Enable".
+#
+# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and
+# re-read the new configuration settings. You can also restart GDM by sending
+# a HUP or USR1 signal to the daemon. HUP behaves like gdm-restart and causes
+# any user session started by GDM to exit immediately while USR1 behaves like
+# gdm-safe-restart and will wait until all users log out before restarting GDM.
+#
+# For full reference documentation see the gnome help browser under
+# GNOME|System category. You can also find the docs in HTML form on
+# http://www.gnome.org/projects/gdm/
+#
+# NOTE: Lines that begin with "#" are considered comments.
+#
+# Have fun!
+
+[daemon]
+
+[security]
+
+[xdmcp]
+
+[gui]
+
+[greeter]
+
+[chooser]
+
+[debug]
+
+# Note that to disable servers defined in the GDM System Defaults
+# configuration file (such as 0=Standard, you must put a line in this file
+# that says 0=inactive, as described in the Configuration section of the GDM
+# documentation.
+#
+[servers]
+
+# Also note, that if you redefine a [server-foo] section, then GDM will
+# use the definition in this file, not the GDM System Defaults configuration
+# file. It is currently not possible to disable a [server-foo] section
+# defined in the GDM System Defaults configuration file.
+#
--- /dev/null
+# If GDM is built with the --with-prefetch option, then this file
+# is installed on the system, and the gdm.conf PreFetchProgram
+# value should be set properly to cause the first login program
+# managed to preload this list of libraries. It has been shown that
+# preloading these libraries improves first-time login performance
+# for the GNOME desktop.
+#
+# This list of libraries has been optimized for a GNOME session running
+# on Solaris. People who want to contribute alternative lists of
+# libraries for other distributions or desktop environments can
+# contribute them to the "gdm" category in http://bugzilla.gnome.org/,
+# and these can be made available in future releases of GDM.
+#
+/usr/share/icons/hicolor/icon-theme.cache
+/usr/share/icons/blueprint/icon-theme.cache
+/usr/share/icons/gnome/icon-theme.cache
+/usr/bin/nautilus
+/usr/bin/gnome-panel
+/usr/lib/libbonoboui-2.so
+/usr/lib/libwnck-1.so
+/usr/lib/libgnomevfs-2.so
+/usr/bin/metacity
+/usr/lib/libeel-2.so
+/usr/lib/libbonobo-2.so
+/usr/openwin/lib/libXt.so
+/usr/lib/libgnomeui-2.so
+/usr/lib/clock-applet
+/usr/lib/libORBit-2.so
+/usr/X11/lib/libGL.so
+/usr/openwin/lib/X11/fonts/TrueType/VeraMoIt.ttf
+/usr/lib/libgnome-desktop-2.so
+/usr/lib/wnck-applet
+/usr/lib/libgstreamer-0.10.so
+/usr/dt/lib/libXm.so
+/usr/lib/libpoppler.so
+/usr/lib/libgconf-2.so
+/usr/sfw/lib/libcrypto.so
+/usr/lib/nautilus/extensions-1.0/libevince-properties-page.so
+/usr/lib/gnome-vfs-2.0/modules/libmapping.so
+/usr/lib/libpoppler-glib.so
+/usr/lib/libpanel-applet-2.so
+/usr/lib/libstartup-notification-1.so
+/usr/lib/libatk-1.0.so
--- /dev/null
+# NOTE! This is a broken way to do things. GDM currently reads languages ONLY
+# from this file. This is Broken(tm). This setup will be replaced in some
+# future version to be replaced by some automatic detection of available
+# locales. This file is not really a locale.alias file and the first word
+# is used as a label in case gdm doesn't know this language personally,
+# else it's ignored.
+#
+# The format of this file is SIMILAR (but not the same to the locale.alias
+# format). You could however point gdm at a real locale.alias and it would
+# still concievably work. Note that the first word cannot contain any spaces.
+# The second word can be a comma separated list of locales to try. GDM will
+# try if each locale exists and only if it does will it show that locale. The
+# list is tried in order and the first working one is used.
+#
+# - George
+
+C(POSIX) C,POSIX
+Afrikaans af_ZA.UTF-8,af_ZA
+Albanian sq_AL.UTF-8,sq_AL
+Amharic am_ET.UTF-8,am_ET
+Arabic(Egypt) ar_EG.UTF-8,ar_EG
+Arabic(Lebanon) ar_LB.UTF-8,ar_LB
+Arabic(SaudiArabia) ar_SA.UTF-8,ar_SA
+Armenian hy_AM.UTF-8,hy_AM
+Azerbaijani az_AZ.UTF-8,az_AZ
+Azerbaijani(Iran) az_IR.UTF-8,az_IR
+Basque eu_ES.UTF-8,eu_ES
+Belarusian be_BY.UTF-8,be_BY
+Belarusian(Latin) be_BY.UTF-8@latin,be_BY@latin
+Bengali bn_BD.UTF-8,bn_BD
+Bengali(India) bn_IN.UTF-8,bn_IN
+Bosnian bs_BA.UTF-8,bs_BA
+Breton br_FR.UTF-8,br_FR
+Bulgarian bg_BG.UTF-8,bg_BG
+Catalan ca_ES.UTF-8,ca_ES
+Chinese(ChinaMainland) zh_CN.UTF-8,zh_CN
+Chinese(GB18030) zh_CN.GB18030
+Chinese(Hong-Kong) zh_HK.UTF-8,zh_HK
+Chinese(Singapore) zh_SG.UTF-8,zh_SG
+Chinese(Taiwan) zh_TW.UTF-8,zh_TW
+Croatian hr_HR.UTF-8,hr_HR
+Czech cs_CZ.UTF-8,cs_CZ
+Danish da_DK.UTF-8,da_DK
+Dutch nl_NL.UTF-8,nl_NL
+Dutch(Belgium) nl_BE.UTF-8,nl_BE
+English(Australia) en_AU.UTF-8,en_AU
+English(Canada) en_CA.UTF-8,en_CA
+English(Ireland) en_IE.UTF-8,en_IE
+English(Malta) en_MT.UTF-8,en_MT
+English(NewZealand) en_NZ.UTF-8,en_NZ
+English(SouthAfrica) en_ZA.UTF-8,en_ZA
+English(UK) en_GB.UTF-8,en_GB
+English(USA) en_US.UTF-8,en_US
+Esperanto eo.UTF-8,eo
+Estonian et_EE.UTF-8,et_EE
+Finnish fi_FI.UTF-8,fi_FI
+French fr_FR.UTF-8,fr_FR
+French(Belgium) fr_BE.UTF-8,fr_BE
+French(Canada) fr_CA.UTF-8,fr_CA
+French(Luxembourg) fr_LU.UTF-8,fr_LU
+French(Switzerland) fr_CH.UTF-8,fr_CH
+Galician gl_ES.UTF-8,gl_ES
+German de_DE.UTF-8,de_DE
+German(Austria) de_AT.UTF-8,de_AT
+German(Switzerland) de_CH.UTF-8,de_CH
+German(Luxembourg) de_LU.UTF-8,de_LU
+Greek el_GR.UTF-8,el_GR
+Greek(Cyprus) el_CY.UTF-8,el_CY
+Gujarati gu_IN.UTF-8,gu_IN
+Hebrew he_IL.UTF-8,he_IL
+Hindi hi_IN.UTF-8,hi_IN
+Hungarian hu_HU.UTF-8,hu_HU
+Icelandic is_IS.UTF-8,is_IS
+Indonesian id_ID.UTF-8,id_ID
+Interlingua ia.UTF-8,ia
+Irish ga_IE.UTF-8,ga_IE
+Italian it_IT.UTF-8,it_IT
+Japanese ja_JP.UTF-8,ja_JP
+Kannada kn_IN.UTF-8,kn_IN
+Kazakh kk_KZ.UTF-8,kk_KZ
+Kinyarwanda rw_RW.UTF-8,rw_RW
+Korean ko_KR.UTF-8,ko_KR
+Latvian lv_LV.UTF-8,lv_LV
+Limburgish li_NL.UTF-8,li_NL
+Limburgish(Belgium) li_BE.UTF-8,li_BE
+Limburgish(Germany) li_DE.UTF-8,li_DE
+Lithuanian lt_LT.UTF-8,lt_LT
+Macedonian mk_MK.UTF-8,mk_MK
+Malayalam ml_IN.UTF-8,ml_IN
+Malay ms_MY.UTF-8,ms_MY
+Maltese mt_MT.UTF-8,mt_MT
+Maori mi_NZ.UTF-8,mi_NZ
+Marathi mr_IN.UTF-8,mr_IN
+Mongolian mn_MN.UTF-8,mn_MN
+Nepali ne_NP.UTF-8,ne_NP
+NorthernSotho nso_ZA.UTF-8,nso_ZA
+Norwegian(bokmal) nb_NO.UTF-8,nb_NO,no_NO.UTF-8,no_NO
+Norwegian(nynorsk) nn_NO.UTF-8,nn_NO
+Oriya or_IN.UTF-8,or_IN
+Persian fa_IR.UTF-8,fa_IR
+Polish pl_PL.UTF-8,pl_PL
+Portuguese(Brazilian) pt_BR.UTF-8,pt_BR
+Portuguese pt_PT.UTF-8,pt_PT
+Punjabi pa_IN.UTF-8,pa_IN
+Romanian ro_RO.UTF-8,ro_RO
+Russian ru_RU.UTF-8,ru_RU
+Serbian sr_CS.UTF-8,sr_CS,sr_YU@cyrillic,sr_YU
+Serbian(Montenegro) sr_ME.UTF-8\r
+Serbian(Serbia) sr_RS.UTF-8\r
+Serbian(Bosnia) sh_BA.UTF-8,sh_BA
+Serbian(Latin) sr_CS.UTF-8@Latn,sr_CS@Latn,sr_YU@Latn
+Serbian(Jekavian) sr_CS.UTF-8@ije,sr_CS@ije,sr_YU@ije
+Slovak sk_SK.UTF-8,sk_SK
+Slovenian sl_SI.UTF-8,sl_SI
+Spanish es_ES.UTF-8,es_ES
+Spanish(Argentina) es_AR.UTF-8,es_AR
+Spanish(Bolivia) es_BO.UTF-8,es_BO
+Spanish(Chile) es_CL.UTF-8,es_CL
+Spanish(Colombia) es_CO.UTF-8,es_CO
+Spanish(CostaRica) es_CR.UTF-8,es_CR
+Spanish(Ecuador) es_EC.UTF-8,es_EC
+Spanish(Guatemala) es_GT.UTF-8,es_GT
+Spanish(Mexico) es_MX.UTF-8,es_MX
+Spanish(Nicaragua) es_NI.UTF-8,es_NI
+Spanish(Panama) es_PA.UTF-8,es_PA
+Spanish(Peru) es_PE.UTF-8,es_PE
+Spanish(Paraguay) es_PY.UTF-8,es_PY
+Spanish(ElSalvador) es_SV.UTF-8,es_SV
+Spanish(Uruguay) es_UY.UTF-8,es_UY
+Spanish(Venezuela) es_VE.UTF-8,es_VE
+Swedish(Finland) sv_FI.UTF-8,sv_FI
+Swedish sv_SE.UTF-8,sv_SE
+Tagalog tl_PH.UTF-8,tl_PH
+Tajik tg_TJ.UTF-8,tg_TJ
+Tamil ta_IN.UTF-8,ta_IN
+Telugu te_IN.UTF-8,te_IN
+Thai th_TH.UTF-8,th_TH
+Turkish tr_TR.UTF-8,tr_TR
+Ukrainian uk_UA.UTF-8,uk_UA
+Uzbek uz_UZ.UTF-8,uz_UZ
+Uzbek(Latin) uz_UZ.UTF-8@Latn,uz_UZ@Latn
+Vietnamese vi_VN.UTF-8,vi_VN
+Walloon wa_BE.UTF-8,wa_BE
+Welsh cy_GB.UTF-8,cy_GB
+Xhosa xh_ZA.UTF-8,xh_ZA
+Yiddish yi.UTF-8,yi
+Zulu zu_ZA.UTF-8,zu_ZA
--- /dev/null
+# This is the configuration file for the keymouselistener.so module.
+# The confiuration syntax is as follows:
+#
+# crossing inital_direction timeout executable_path +args
+#
+# For executable_path give the full executable path path of the program or the
+# DefaultPath is used.
+#
+# where:
+#
+# + crossing is a string that includes any combination of TBLR characters, where
+# T means Top, B means Bottom, L means Left, and R means Right.
+#
+# + initial_direction can be either the I or O character which indicates
+# that the initial crossing is a motion In or Out of the window.
+#
+# e.g.
+# TBLR I 10000 /usr/bin/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
+# value of I is what specifies that the first crossing is into the top border
+# rather than out of the top border. Each border crossing must occur within
+# 10000ms of the last border crossing for the gesture to be valid.
+#
+# It is possible to invoke multiple actions from a single gesture using the <Add>
+# keyword. Action specified with <Add> are invoked by the previous gesture
+# defined in the file. If the <Add> action is the first action defined in the
+# file, then it is ignored.
+#
+# e.g.
+#
+# <Add> /usr/bin/orca -n -d main-window
+#
+
+# AT Progarm - GOK (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 /usr/bin/gok --login --access-method=dwellselection
+TLBR I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1
+TRBL I 10000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2
+TBRL I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3
+
+# AT Program - ORCA
+#
+# Note these gestures all start by moving the mouse into the bottom window
+# border.
+#
+# Speech
+#
+BTRL I 10000 /usr/bin/orca -n -d main-window
+
+# Magnifier
+#
+BTLR I 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier
+
+# Speech and Magnifier
+#
+BRTL I 10000 /usr/bin/orca -n -d main-window -e magnifier
+
--- /dev/null
+# This is the configuration file for the keymouselistener.so module.
+# The confiuration syntax is as follows:
+#
+# For keyboard gestures:
+#
+# <modifier>[<modifier>...]key #times duration timeout executable_path +args
+#
+# For executable_path give the full executable path path of the program or the
+# DefaultPath is used. For key, this can be one of the normal keys such as 'k'
+# for the letter 'k', or 'F10' for the F10 key. If you wish to use one of the
+# 'modifier' keys you have to specify which one exactly, meaning usually
+# appending _L or _R depending on if it's the left or right one. The useful
+# ones are: Shift_L, Shift_R, Control_L, Control_R, Meta_L, Meta_R, Alt_L, Alt_R.
+# Do note that the modifier is optional.
+#
+# e.g.
+#
+# <Control>k 1 1000 10000 /usr/bin/gok --login --access-method=directselection
+#
+# Means press Contol-k 5 times, holding each keypress down for at least 1000ms
+# (1s) each time and with no greater interval than 10000ms (10s) between each
+# event in the sequence. A duration value of 0 indicates that a keypress of
+# any length is accepted. The timeout value is only meaningful if the #times
+# value is > 1. Completing the above example sequence will invoke the gnome on
+# screen keyboard program, gok. Note that you cannot release the <Control> key
+# while pressing otherwise the sequence will be lost.
+#
+# e.g.
+# Shift_L 5 1000 10000 /usr/bin/gok --login --access-method=directselection
+# Shift_R 5 1000 10000 /usr/bin/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.
+#
+# For mouse button gestures the format is the same except the mouse button number
+# is specified instead of a key gesture:
+#
+# <Mouse#> #times duration timeout executable_path +args
+#
+# e.g.
+#
+# <Mouse2> 4 3000 6000 /usr/bin/orca -n -d main-window
+#
+# 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.
+#
+# It is possible to invoke multiple actions from a single gesture using the <Add>
+# keyword. Actions specified with <Add> are invoked by the previous gesture
+# defined in the file. If the <Add> action is the first action defined in the
+# file, then it is ignored.
+#
+# e.g.
+#
+# <Add> /usr/bin/gnome-mag
+#
+
+# AT Program - GOK (GNOME On-screen Keyboard)
+#
+# Include a gesture for both right and left mouse button, for both right
+# and left handed users.
+#
+# hold right or left mouse button 3 times for 3 seconds each time.
+<Mouse1> 3 3000 10000 /usr/bin/gok --login --access-method=directselection
+<Mouse3> 3 3000 10000 /usr/bin/gok --login --access-method=directselection
+
+# Also support Xinput switches
+#
+<Switch1> 1 5000 0 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1
+<Switch2> 3 50 3000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2
+<Switch3> 3 1000 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3
+
+# Although most GOK users would want to use a mouse/switch button to start GOK,
+# also include a keybinding for starting GOK with direct selection mode.
+#
+<Control>k 1 1000 10000 /usr/bin/gok --login --access-method=directselection
+
+# AT Program - ORCA
+#
+# press ctrl-s for 1 second to launch orca in speech mode
+#
+<Control>s 1 1000 10000 /usr/bin/orca -n -d main-window
+
+# press ctrl-m for 1 second to launch orca in mag mode
+#
+<Control>m 1 1000 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier
+
+# press ctrl-o or ctrl-g for 1 second to launch orca in speech and mag mode
+#
+<Control>o 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier
+<Control>g 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier
+
--- /dev/null
+# This is the configuration file for the keymouselistener.so module.
+# The confiuration syntax is as follows:
+#
+# crossing inital_direction timeout executable_path +args
+#
+# For executable_path give the full executable path path of the program or the
+# DefaultPath is used.
+#
+# where:
+#
+# + crossing is a string that includes any combination of TBLR characters, where
+# T means Top, B means Bottom, L means Left, and R means Right.
+#
+# + initial_direction can be either the I or O character which indicates
+# that the initial crossing is a motion In or Out of the window.
+#
+# e.g.
+# TBLR I 10000 /usr/bin/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
+# value of I is what specifies that the first crossing is into the top border
+# rather than out of the top border. Each border crossing must occur within
+# 10000ms of the last border crossing for the gesture to be valid.
+#
+# It is possible to invoke multiple actions from a single gesture using the <Add>
+# keyword. Action specified with <Add> are invoked by the previous gesture
+# defined in the file. If the <Add> action is the first action defined in the
+# file, then it is ignored.
+#
+# e.g.
+#
+# <Add> /usr/bin/orca -n -d main-window
+#
+
+# AT Progarm - GOK (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 /usr/bin/gok --login --access-method=dwellselection
+TLBR I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1
+TRBL I 10000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2
+TBRL I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3
+
+# AT Program - ORCA
+#
+# Note these gestures all start by moving the mouse into the bottom window
+# border.
+#
+# Speech
+#
+BTRL I 10000 /usr/bin/orca -n -d main-window
+
+# Magnifier
+#
+BTLR I 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier
+
+# Speech and Magnifier
+#
+BRTL I 10000 /usr/bin/orca -n -d main-window -e magnifier
+
--- /dev/null
+# This is the configuration file for the keymouselistener.so module.
+# The confiuration syntax is as follows:
+#
+# For keyboard gestures:
+#
+# <modifier>[<modifier>...]key #times duration timeout executable_path +args
+#
+# For executable_path give the full executable path path of the program or the
+# DefaultPath is used. For key, this can be one of the normal keys such as 'k'
+# for the letter 'k', or 'F10' for the F10 key. If you wish to use one of the
+# 'modifier' keys you have to specify which one exactly, meaning usually
+# appending _L or _R depending on if it's the left or right one. The useful
+# ones are: Shift_L, Shift_R, Control_L, Control_R, Meta_L, Meta_R, Alt_L, Alt_R.
+# Do note that the modifier is optional.
+#
+# e.g.
+#
+# <Control>k 1 1000 10000 /usr/bin/gok --login --access-method=directselection
+#
+# Means press Contol-k 5 times, holding each keypress down for at least 1000ms
+# (1s) each time and with no greater interval than 10000ms (10s) between each
+# event in the sequence. A duration value of 0 indicates that a keypress of
+# any length is accepted. The timeout value is only meaningful if the #times
+# value is > 1. Completing the above example sequence will invoke the gnome on
+# screen keyboard program, gok. Note that you cannot release the <Control> key
+# while pressing otherwise the sequence will be lost.
+#
+# e.g.
+# Shift_L 5 1000 10000 /usr/bin/gok --login --access-method=directselection
+# Shift_R 5 1000 10000 /usr/bin/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.
+#
+# For mouse button gestures the format is the same except the mouse button number
+# is specified instead of a key gesture:
+#
+# <Mouse#> #times duration timeout executable_path +args
+#
+# e.g.
+#
+# <Mouse2> 4 3000 6000 /usr/bin/orca -n -d main-window
+#
+# 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.
+#
+# It is possible to invoke multiple actions from a single gesture using the <Add>
+# keyword. Actions specified with <Add> are invoked by the previous gesture
+# defined in the file. If the <Add> action is the first action defined in the
+# file, then it is ignored.
+#
+# e.g.
+#
+# <Add> /usr/bin/gnome-mag
+#
+
+# AT Program - GOK (GNOME On-screen Keyboard)
+#
+# Include a gesture for both right and left mouse button, for both right
+# and left handed users.
+#
+# hold right or left mouse button 3 times for 3 seconds each time.
+<Mouse1> 3 3000 10000 /usr/bin/gok --login --access-method=directselection
+<Mouse3> 3 3000 10000 /usr/bin/gok --login --access-method=directselection
+
+# Also support Xinput switches
+#
+<Switch1> 1 5000 0 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1
+<Switch2> 3 50 3000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2
+<Switch3> 3 1000 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3
+
+# Although most GOK users would want to use a mouse/switch button to start GOK,
+# also include a keybinding for starting GOK with direct selection mode.
+#
+<Control>k 1 1000 10000 /usr/bin/gok --login --access-method=directselection
+
+# AT Program - ORCA
+#
+# press ctrl-s for 1 second to launch orca in speech mode
+#
+<Control>s 1 1000 10000 /usr/bin/orca -n -d main-window
+
+# press ctrl-m for 1 second to launch orca in mag mode
+#
+<Control>m 1 1000 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier
+
+# press ctrl-o or ctrl-g for 1 second to launch orca in speech and mag mode
+#
+<Control>o 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier
+<Control>g 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier
+
--- /dev/null
+#!/bin/bash
+
+# source keychain variables
+
+keychain="`which keychain`"
+if [ -n "$keychain" ] && [ -x "$keychain" ] && [ -f "$HOME/.bash_profile" ]
+then
+ . "${HOME}/.bash_profile"
+fi
--- /dev/null
+#!/bin/sh
+
+# add ssh-agent if found
+
+sshagent="`which ssh-agent`"
+if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then
+ command="$sshagent -- $command"
+elif [ -z "$sshagent" ] ; then
+ echo "$0: ssh-agent not found!"
+fi
--- /dev/null
+XDG_DATA_DIRS="/usr/share/gdm"
--- /dev/null
+#%PAM-1.0
+auth optional pam_env.so
+auth include system-login
+auth required pam_nologin.so
+
+account include system-login
+
+password include system-login
+
+session include system-auth
+session optional pam_gnome_keyring.so auto_start
--- /dev/null
+#%PAM-1.0
+auth optional pam_env.so
+auth required pam_nologin.so
+auth required pam_permit.so
+account include system-login
+password include system-login
+session include system-auth
+# For the keyring to unlock with autologin, you need to set an empty
+# password on the keyring.
+session optional pam_gnome_keyring.so auto_start
--- /dev/null
+#%PAM-1.0
+auth sufficient pam_rootok.so
+auth include system-login
+
+session required pam_permit.so
+session optional pam_xauth.so
+
+account required pam_permit.so
--- /dev/null
+USER=root
+PROGRAM=/usr/sbin/gdmsetup
+SESSION=false
+FALLBACK=true
+