#!/bin/bash
#
# by EforeZZ@uKR.nET, [HtR] team <HtR@uKR.nET>
# great customizer v1.0
# howto use examples: 
# [guess ;-) it]

 # Things BASH understands:
 # \a an ASCII bell character (07)
 # \d the date in "Weekday Month Date" format
 # \e an ASCII escape character (033)
 # \h the hostname up to the first `.'
 # \H the hostname
 # \j the number of jobs currently managed by the shell
 # \l the basename of the shell's terminal device 
 # \n newline
 # \r carriage return
 # \t the current time in 24-hour HH:MM:SS format
 # \T the current time in 12-hour HH:MM:SS format
 # \@ the current time in 12-hour am/pm format
 # \u the username of the current user
 # \v the version of bash (e.g., 2.00)
 # \V the release of bash, version + patchlevel
 # \w the current working directory
 # \W the basename of the current working dir
 # \! the history number of this command
 # \# the command number of this command
 # \$ if the effective UID is 0, a #, otherwise a $
 # \\ a backslash
 # 
 
 START_STYLE="\[\033["

 O_UNDERLINE="4;"
 O_BLINK="5;"
 O_REVERSE="7;"
 O_CONSEAL="8;"

 BG_RED="41;"
 BG_GREEN="42;"
 BG_BROWN="43;"
 BG_BLUE="44;"
 BG_PORN="45;"
 BG_CYAN="46;"
 BG_GRAY="47;"

 TYPE_DARK2="2;"
 TYPE_LIGHT="1;"
 TYPE_DARK="0;"

 FG_NORMAL="30m\]"
 FG_BLACK=$FG_NORMAL
 FG_WHITE=$FG_NORMAL
 FG_BLUE="34m\]"
 FG_GREEN="32m\]"
 FG_CYAN="36m\]"
 FG_RED="31m\]"
 FG_PORN="35m\]"
 FG_YELLOW="33m\]"
 FG_BROWN=$FG_YELLOW
 FG_GRAY="37m\]"

 REGULAR_STYLE="\[\033[0m\]"
 END_STYLE=$REGULAR_STYLE

if [ "$UID" = 0 ]; then
    IS_R00T=$O_REVERSE
    IS_R00T1=${BG_RED}${TYPE_LIGHT}33m
#    BLINK=${O_BLINK}
else
    IS_R00T=$O_UNDERLINE
    IS_R00T1=33m
fi

PS1='$(
### PS1 dynamic start...
 STATUS=$?
 
 START_STYLE="\[\033["
 
 FG_NORMAL="30m\]"
 FG_BLACK=$FG_NORMAL
 FG_WHITE=$FG_NORMAL
 FG_BLUE="34m\]"
 FG_GREEN="32m\]"
 FG_CYAN="36m\]"
 FG_RED="31m\]"
 FG_PORN="35m\]"
 FG_YELLOW="33m\]"
 FG_BROWN=$FG_YELLOW
 FG_GRAY="37m\]"
 
 REGULAR_STYLE="\[\033[0m\]"
 END_STYLE=$REGULAR_STYLE

echo -en $REGULAR_STYLE${START_STYLE}${TYPE_LIGHT}
if [[ 0 != "$STATUS" ]]; then
	echo -en "${BLINK}${BG_RED}${TYPE_LIGHT}${FG_YELLOW}"
    else
	echo -en "${TYPE_LIGHT}${FG_YELLOW}"
    fi

echo -en ${STATUS}${END_STYLE} \
${START_STYLE}${IS_R00T}${TYPE_DARK2}${FG_GREEN}\\\u\
${START_STYLE}${TYPE_DARK}${TYPE_LIGHT}${FG_BLUE}@\
${START_STYLE}${TYPE_LIGHT}${FG_GRAY}\\\h\
${START_STYLE}${TYPE_LIGHT}${FG_BLUE}\:\
${START_STYLE}${TYPE_LIGHT}${FG_GRAY}\\\l \
${START_STYLE}${TYPE_LIGHT}${FG_CYAN}\\\w \
${START_STYLE}${TYPE_LIGHT}${FG_WHITE}\\\t \
${START_STYLE}

if [[ \\\j != 0 ]]; then

    echo -en ${BLINK}${BG_RED}${TYPE_LIGHT}${FG_YELLOW}\\\j\
${END_STYLE}${START_STYLE}
    XTERM_TITLE_JOBS=\%:\\\j 
    fi

echo -en ${TYPE_LIGHT}${IS_R00T1}\]\>${END_STYLE}\ 

if [[ $TERM = xterm || $TERM = xterm-color ]]; then
    XTERM_TITLE_START="\[\e]2;"
    XTERM_TITLE_END="\a\]"
    echo -en ${XTERM_TITLE_START}?:${STATUS} \\[\\\u@\\\h\:\\\l\\] \\\w \<\\\t\> \
${XTERM_TITLE_JOBS} \\{`history 1` \\}${XTERM_TITLE_END}
    fi

### PS1 dynamic end...
)'

. /etc/bash_aliases

mesg y 2>/dev/null
biff y 2>/dev/null

if [[ $TERM = xterm || $TERM = xterm-color ]]; then
    export TERM=xterm-color
    export INPUTRC=/etc/bash_inputrc_xterm
else
    export INPUTRC=/etc/bash_inputrc_delete
fi

export CLICOLOR=1

#${START_STYLE}${TYPE_LIGHT}${FG_GREEN}'!'\
#${START_STYLE}${TYPE_DARK}${FG_GREEN}:\
#${START_STYLE}${TYPE_LIGHT}${FG_YELLOW}\\\! \
#${START_STYLE}${TYPE_LIGHT}${FG_GREEN}#\
#${START_STYLE}${TYPE_DARK}${FG_GREEN}:\
#${START_STYLE}${TYPE_LIGHT}${FG_YELLOW}\\\# \
