#!/bin/bash echo >&2 ".xsession: ------------------------------------------------------------------------" if [ x = x"$HOME" ] ; then export HOME=`pwd` fi XSESSION_LOG=$HOME/.xsession-log truncate $XSESSION_LOG log() { msg="$@" echo >&2 "$msg" echo >>$XSESSION_LOG "$msg" } log ".xsession: start" HOME_DIR=$(ls -d ~) log ".xsession: PATH=$PATH" log ".xsession: HOME=$HOME" log ".xsession: HOME_DIR=$HOME_DIR" if ! ( echo "$PATH" | grep -q "${HOME_DIR}/bin" ) ; then export PATH="${HOME_DIR}/bin:${PATH}" fi if ! ( echo "$PATH" | grep -q "${HOME_DIR}/usr/bin" ) ; then export PATH="${HOME_DIR}/usr/bin:${PATH}" fi log ".xsession: SSH_AGENT_PID=$SSH_AGENT_PID" # if ( ssh-add -l >/dev/null 2>/dev/null ) \ # || test $(ssh-add -l | wc -l) = 0 ; then # log ".xsession: no ssh-agent, exec'ing ssh-agent .xsession" # eval $(ssh-agent -s) # fi log ".xsession: ssh-add -l" ssh-add -l >&2 if [ "$(ssh-add -l)" = 'The agent has no identities.' ] ; then SSH_ASKPASS=$(which ssh-askpass-fullscreen ssh-askpass | head -n1) \ ssh-add /dev/null 2>&1 ; then eval `gpg-agent -s --daemon` fi if [ -f .fonts/rebuild ] ; then .fonts/rebuild fi # ------------------------------ ------------------------------ export BROWSER=firefox case $HOSTNAME in oxygen*) /usr/bin/X11/xmodmap .xmodmaprc case `xrandr| grep connected | wc -l` in 1) x-1 ;; 2) x-2 ;; esac ;; xenon*) #xmodmap .xmodmaprc-xenon #xmodmap -e "pointer = 1 2 3 6 7 4 5" #xmodmap -e "pointer = 1 2 3 6 7 4 5" ;; esac # ------------------------------ ------------------------------ # load sound defaults aumix -L # hides the mouse pointer after some time of inactivity unclutter & # generic key macro daemon #xbindkeys # make sure that the gkrellm is running function do_gkrellm() { if ! ( ps aux | grep -q '\<[g]krellm\> *$' ) ; then ( while true ; do sleep 10 ; nice -n20 gkrellm ; done ) & fi if ! ( ps aux | grep -q '\<[g]krellm\> -server muon.jukie.net' ) ; then ( while true ; do sleep 10 ; nice -n20 gkrellm -server muon.jukie.net ; done ) & fi } function do_screensaver() { /usr/bin/xscreensaver -nosplash & } function do_xset() { # set the keyboard keyboard rates xset r on xset r rate 200 25 # no bell please xset b off } # background function do_background() { xsetroot -solid black #qiv -z .b/A_Place_for_My_Head.jpg #qiv -z .b/talking_krusty_doll_wallpaper.jpg } # make sure there is at least one terminal running function at_least_one_terminal() { if ! ( ps auxww | grep -q '^[b]art.*\(xterm\|rxvt\|gnome-terminal\|kconsole\)' ) ; then ( ${HOME}/bin/my-terminal || xterm ) & fi } # ------------------------------ ------------------------------ #WM='xfce' #WM='icewm' WM=`cat $HOME/.wm` case $WM in ratpoison) do_xset do_background do_screensaver at_least_one_terminal /usr/bin/ratpoison ;; xfce) do_xset do_background /usr/bin/xfce-mcs-manager /usr/bin/xfwm4 --daemon do_screensaver at_least_one_terminal #/usr/bin/xftaskbar4 & #/usr/bin/xfdesktop & ##/usr/bin/xfdeskmenu & /usr/bin/xfce4-panel ;; icewm|ice) do_xset do_background do_screensaver at_least_one_terminal /usr/bin/icewm-session ;; oroborus) do_xset do_background do_screensaver at_least_one_terminal (sleep 10 ; /usr/bin/deskmenu ) & /usr/bin/oroborus ;; ion) do_xset do_background do_screensaver at_least_one_terminal ion ;; ion3) do_xset do_background do_screensaver at_least_one_terminal ion3 ;; wmii) do_xset do_background do_screensaver at_least_one_terminal /usr/bin/wmii ;; ~wmii) do_xset do_background do_screensaver at_least_one_terminal if test -f ${HOME}/.wmii-3.5/wmiirc ; then ${HOME}/usr/bin/wmii -r ${HOME}/.wmii-3.5/wmiirc elif test -f ${HOME}/.wmii-3.5/wmiirc.lua ; then ${HOME}/usr/bin/wmii -r ${HOME}/.wmii-3.5/wmiirc.lua elif test -f ${HOME}/.wmii-3.5/wmiirc.dist ; then ${HOME}/usr/bin/wmii -r ${HOME}/.wmii-3.5/wmiirc.dist fi ;; wmii-lua) do_xset do_background #at_least_one_terminal LOG=/tmp/xsession-$(date +%Y%m%d-%H%M%S).log ln -fs $LOG /tmp/xsession.log echo "running wmii-lua..." logrun "$LOG" wmii-lua #|| wmii-lua ;; awesome) #do_xset #do_background #do_screensaver at_least_one_terminal /home/oxygen/bart/usr/bin/awesome ;; dwm) do_xset do_background do_screensaver at_least_one_terminal /home/oxygen/bart/usr/bin/dwm ;; weewm|wee) do_xset do_background do_screensaver at_least_one_terminal weewm ;; golem) do_xset do_background do_screensaver at_least_one_terminal /usr/bin/golem ;; bb|blackbox) do_xset do_background do_screensaver at_least_one_terminal /usr/bin/blackbox ;; ob|openbox) do_xset do_background do_screensaver at_least_one_terminal OBPAGER=/home/muon/bart/bin/obpager if [ -x ${OBPAGER} ] ; then if ! (ps auxww | grep -q "^bar[t].*${OBPAGER}" ) ; then ( sleep 2 ; ${OBPAGER} ) & fi fi /usr/bin/openbox killall obpager ;; fvwm) do_xset do_background do_screensaver at_least_one_terminal fvwm-themes-start ;; ctwm) do_screensaver at_least_one_terminal ctwm ;; sawfish|saw|fish) do_xset do_background do_screensaver at_least_one_terminal do_gkrellm LD_LIBRARY_PATH=/32/usr/lib /32/usr/bin/sawfish || sawfish ;; *) #xterm -c "vim -o $HOME/.vm $HOME/.xsession" urxvt || xterm || x-terminal-emulator ;; esac echo ' ------------------- restarting --------------------- ' sleep 5 exec /bin/bash .xsession