diff options
author | William Jon McCann <mccann@jhu.edu> | 2007-11-01 18:03:28 +0000 |
---|---|---|
committer | William Jon McCann <mccann@src.gnome.org> | 2007-11-01 18:03:28 +0000 |
commit | c478401c3251b5a65dd37a890f886bcf4a5f25be (patch) | |
tree | b7a0e2c7b3d8e58a141e7a369373b3ec771e3868 /data/Init.in | |
parent | 3edf90cd18f2affe3027e2bc43bc611bd350d13f (diff) | |
download | gdm-c478401c3251b5a65dd37a890f886bcf4a5f25be.tar.gz |
Move stuff from config to data.
2007-11-01 William Jon McCann <mccann@jhu.edu>
* config/Init.in:
* config/Makefile.am:
* config/PostLogin:
* config/PostSession.in:
* config/PreSession.in:
* config/Xsession.in:
* config/gdm:
* config/gdm-autologin:
* config/gdm.conf-custom.in:
* configure.ac:
* data/Makefile.am:
Move stuff from config to data.
svn path=/trunk/; revision=5483
Diffstat (limited to 'data/Init.in')
-rw-r--r-- | data/Init.in | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/data/Init.in b/data/Init.in new file mode 100644 index 00000000..16ba078b --- /dev/null +++ b/data/Init.in @@ -0,0 +1,89 @@ +#!/bin/sh +# Stolen from the debian kdm setup, aren't I sneaky +# Plus a lot of fun stuff added +# -George + +PATH=@X_PATH@:$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 |