OSSP CVS Repository

ossp - ossp-pkg/due/.due/due.term.sh
Not logged in
[Honeypot]  [Browse]  [Directory]  [Home]  [Login
[Reports]  [Search]  [Ticket]  [Timeline
  [Raw

ossp-pkg/due/.due/due.term.sh
##
##  OSSP due - Dynamic User Environment
##  Copyright (c) 1994-2004 Ralf S. Engelschall <rse@engelschall.com>
##  Copyright (c) 1994-2004 The OSSP Project <http://www.ossp.org/>
##
##  This file is part of OSSP due, a dynamic user environment
##  which can found at http://www.ossp.org/pkg/tool/due/
##
##  Permission to use, copy, modify, and distribute this software for
##  any purpose with or without fee is hereby granted, provided that
##  the above copyright notice and this permission notice appear in all
##  copies.
##
##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
##  SUCH DAMAGE.
##
##  due.term.sh: DUE module for terminal configuration
##

#   require DUE "platform" module
due load platform

#   determine terminal type
if [ -z TERM ]; then
    TERM=vt100
fi
TERM_COLOR=$TERM
if [ ".$TERM" = .xterm ]; then
    if [ ".$OSNAME" = .freebsd -o ".$OSNAME" = .linux ]; then
        TERM_COLOR=xterm-color
    fi
fi

#   SLang default color settings
export COLORFGBG="default;default"

#   adjust terminal settings
if expr $- : ".*i.*" >/dev/null; then
    BASH_INTERACTIVE=yes
else
    BASH_INTERACTIVE=no
fi
if [ ".$BASH_INTERACTIVE" = .yes ]; then
    mesg y
fi  
if [ ".$TERM" = .xterm -a ".$BASH_INTERACTIVE" = .yes ]; then
    stty -istrip cs8
fi
shopt -s checkwinsize

#   provide command for terminal reset
alias sane='(xset r rate 400 40; stty sane; eval `resize`) >/dev/null 2>&1 || true'

#   adjust shell history settings
PROMPT_COMMAND='builtin history -a'
shopt -s histappend
shopt -s cmdhist
HISTSIZE=9000
HISTFILESIZE=9000
HISTIGNORE="&"
HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S  '
bind '"\e[A"':history-search-backward
bind '"\e[B"':history-search-forward

#   provide command for rotating a little propeller for
#   keeping a remote connection busy and this way alive
function zz () {
    echo -n "Sleeping... "
    while [ 1 ]; do
        for i in "|" "/" "-" "\\"; do
            echo -n "$i"
            sleep 1
            echo -ne "\b"
        done
    done
}

#   login/logout tracing
if [ $SHLVL -eq 0 -a ".$BASH_INTERACTIVE" = .yes ]; then
    #   shell history annotation
    echo "#[`date '+%Y-%m-%d/%H:%M'`] login by user ${SSHUSER:-unknown}" >>$HISTFILE

    #   interactive messages
    echo "$HOSTNAME: user $USER${SSHUSER:+ (${SSHUSER:-unknown})}, login at `date`"
    trap 'echo "$HOSTNAME: user $USER${SSHUSER:+ (${SSHUSER:-unknown})}, logout at `date`"' 0
fi


CVSTrac 2.0.1