diff options
author | V3n3RiX <venerix@gmail.com> | 2014-11-27 22:01:02 +0200 |
---|---|---|
committer | V3n3RiX <venerix@gmail.com> | 2014-11-27 22:01:02 +0200 |
commit | d55d89880e9b049cd8b858ea15f676b94eb313c3 (patch) | |
tree | a96818e2e90432e9ef7eb533a44890790b0bda8e /mate-base/mate-session-manager/files/MATE | |
parent | 795d47ffbf1551cfc9a115eebf4a1f898fcf4c50 (diff) |
add mate-session-manager
Diffstat (limited to 'mate-base/mate-session-manager/files/MATE')
-rw-r--r-- | mate-base/mate-session-manager/files/MATE | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/mate-base/mate-session-manager/files/MATE b/mate-base/mate-session-manager/files/MATE new file mode 100644 index 00000000..baa154bd --- /dev/null +++ b/mate-base/mate-session-manager/files/MATE @@ -0,0 +1,109 @@ +#!/bin/sh +# +# This file has bitrotted badly. Someone needs to clean this up. +# + +if [ -f /etc/xdg/menus/mate-applications.menu ] ; then + export XDG_MENU_PREFIX=mate- +fi + +for errfile in "$HOME/.materc-errors" "${TMPDIR-/tmp}/materc-$USER/tmp/materc-$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/.materc" ]; then + command="$HOME/.materc" +elif [ -x /etc/X11/gdm/materc ]; then + command="/etc/X11/gdm/materc" +else + # as fallback in case the config is screwed + command=`which mate-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 |