#!/bin/sh # jimc-CouchNet hacks in this file.... # fix broken $UID on some system... if test "x$UID" = "x"; then if test -x /usr/xpg4/bin/id; then UID=`/usr/xpg4/bin/id -u`; else UID=`id -u`; fi fi # $XDG_CONFIG_HOME defines the base directory relative to which user specific # configuration files should be stored. If $XDG_CONFIG_HOME is either not set # or empty, a default equal to $HOME/.config should be used. if test "x$XDG_CONFIG_HOME" = "x" ; then XDG_CONFIG_HOME=$HOME/.config fi [ -d "$XDG_CONFIG_HOME" ] || mkdir "$XDG_CONFIG_HOME" # $XDG_CACHE_HOME defines the base directory relative to which user specific # non-essential data files should be stored. If $XDG_CACHE_HOME is either not # set or empty, a default equal to $HOME/.cache should be used. if test "x$XDG_CACHE_HOME" = "x" ; then XDG_CACHE_HOME=$HOME/.cache fi [ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME" # For now, start with an empty list XRESOURCES="" # Has to go prior to merging Xft.xrdb, as its the "Defaults" file test -r "/etc/xdg/xfce4/Xft.xrdb" && XRESOURCES="$XRESOURCES /etc/xdg/xfce4/Xft.xrdb" test -r $HOME/.Xdefaults && XRESOURCES="$XRESOURCES $HOME/.Xdefaults" BASEDIR=$XDG_CONFIG_HOME/xfce4 if test -r "$BASEDIR/Xft.xrdb"; then XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb" elif test -r "$XFCE4HOME/Xft.xrdb"; then mkdir -p "$BASEDIR" cp "$XFCE4HOME/Xft.xrdb" "$BASEDIR"/ XRESOURCES="$XRESOURCES $BASEDIR/Xft.xrdb" fi # merge in X cursor settings test -r "$BASEDIR/Xcursor.xrdb" && XRESOURCES="$XRESOURCES $BASEDIR/Xcursor.xrdb" # ~/.Xresources contains overrides to the above test -r "$HOME/.Xresources" && XRESOURCES="$XRESOURCES $HOME/.Xresources" # load all X resources (adds /dev/null to avoid an empty list that would hang the process) cat /dev/null $XRESOURCES | xrdb -nocpp -merge - # load local modmap test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap # Launch xscreensaver (if available), but only as non-root user if test $UID -gt 0 -a -z "$VNCSESSION"; then if test x"`which xscreensaver 2>/dev/null`" != x""; then xscreensaver -no-splash & elif test x"`which gnome-screensaver 2>/dev/null`" != x""; then gnome-screensaver & fi fi # Depending on what has and hasn't been done already, which depends on PAM # configuration and idiosyncracies of the display manager, we build up a # chain of nested commands in this variable. command= # Use ssh-agent if installed and not already running. sshagent=`which ssh-agent` if test -n "$SSH_AGENT_PID" && kill -0 $SSH_AGENT_PID ; then : # we have a functioning ssh agent elif test -n "$sshagent" -a "x$sshagent" != "xno"; then command="$command $sshagent" fi # Use ConsoleKit (ck-launch-session) if not set up by the display manager. cklaunch=`which ck-launch-session` if ck-list-sessions | grep "x11-display.&$DISPLAY" > /dev/null ; then : # The display manager already registered the session elif test -n "$cklaunch" -a "x$cklaunch" != "xno"; then command="$command $cklaunch" fi # Use dbus-launch if installed. if test x"$DBUS_SESSION_BUS_ADDRESS" = x""; then dbuslaunch=`which dbus-launch` if test x"$dbuslaunch" != x"" -a x"$dbuslaunch" != x"no"; then command="$command $dbuslaunch --exit-with-session" fi fi # Run xfce4-session if installed xfcesm=`which xfce4-session` case "x$xfcesm" in x|xno*) command="$command $0-fallback" ;; *) command="$command $xfcesm" ;; esac # Run the session command and its various parents. $command # Suppress return code from the session. exit 0