109 lines
2.3 KiB
Bash
109 lines
2.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# This file has bitrotted badly. Someone needs to clean this up.
|
|
#
|
|
|
|
if [ -f /etc/xdg/menus/gnome-applications.menu ] ; then
|
|
export XDG_MENU_PREFIX=gnome-
|
|
fi
|
|
|
|
for errfile in "$HOME/.gnomerc-errors" "${TMPDIR-/tmp}/gnomerc-$USER" "/tmp/gnomerc-$USER"
|
|
do
|
|
if ( cp /dev/null "$errfile" 2> /dev/null )
|
|
then
|
|
chmod 600 "$errfile"
|
|
exec > "$errfile" 2>&1
|
|
break
|
|
fi
|
|
done
|
|
#
|
|
# Distributors:
|
|
# You should modify the paths here to fit your distro
|
|
# If you need to do so, send me (jirka@5z.com) a patch
|
|
# and I'll try to make the script detect the distro stuff
|
|
#
|
|
|
|
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
|
|
|
|
if [ -x "$HOME/.gnomerc" ]; then
|
|
command="$HOME/.gnomerc"
|
|
elif [ -x /etc/X11/gdm/gnomerc ]; then
|
|
command="/etc/X11/gdm/gnomerc"
|
|
else
|
|
# as fallback in case the config is screwed
|
|
command=`which gnome-session`
|
|
fi
|
|
|
|
# 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" ] && [ ! -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
|
|
|
|
# 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
|
|
|
|
exec $command
|