aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mkshrc49
1 files changed, 38 insertions, 11 deletions
diff --git a/mkshrc b/mkshrc
index fbc81f0..6f1d3ed 100644
--- a/mkshrc
+++ b/mkshrc
@@ -31,12 +31,12 @@ precmd() {
(( e )) && print -n "$e|"
}
set_ps1() {
- PS1='$(precmd)${BG}${ACCENT_C}${ACCENT_P}${USER_C}${USER:=$(id -un)}@$(hostname)${ACCENT_C}${ACCENT_P} ${ACCENT_P}${PATH_C}${PWD:-?}${ACCENT_C}${ACCENT_P}${END_C}
+ PS1='$(set_my_title)$(precmd)${BG}${ACCENT_C}${ACCENT_P}${USER_C}${USER:=$(id -un)}@$(hostname)${ACCENT_C}${ACCENT_P} ${ACCENT_P}${PATH_C}${PWD:-?}${ACCENT_C}${ACCENT_P}${END_C}
${END_P} '
export PS1;
}
set_root_ps1() {
-PS1='$(precmd)${BG}${ACCENT_C}${ACCENT_P}${HOST_C}$(hostname)${ACCENT_C}${ACCENT_P} ${ACCENT_P}${PATH_C}${PWD:-?}${ACCENT_C}${ACCENT_P}${END_C}
+PS1='$(set_my_title)$(precmd)${BG}${ACCENT_C}${ACCENT_P}${HOST_C}$(hostname)${ACCENT_C}${ACCENT_P} ${ACCENT_P}${PATH_C}${PWD:-?}${ACCENT_C}${ACCENT_P}${END_C}
${END_P} '
export PS1;
}
@@ -90,25 +90,26 @@ set_prompt() {
fi
}
set_basic_prompt() {
- PS1='$(precmd)'"${USER:=$(id -un)}@$(hostname) \$PWD $ "
+ PS1='$(set_my_title)$(precmd)'"${USER:=$(id -un)}@$(hostname) \$PWD $ "
export PS1;
}
set_retro_prompt() {
- export PS1="\$ "
+ export PS1="$(set_my_title)\$ "
if [ `id -u` -eq 0 ] ; then
- export PS1="# "
+ export PS1="$(set_my_title)# "
fi
}
set_super_basic_prompt() {
alias cd=do_cd
}
do_cd() {
- builtin cd $@
- pwd=${PWD##HOME}
- [ ${#pwd} -lt ${#PWD} ] && pwd="~$pwd"
- [ "$hostname" ] || hostname=$(hostname)
- PS1="$USER@$hostname:$pwd \$ "
- [ $(id -u) -eq 0 ] && PS1="$USER@$hostname:$pwd # "
+ builtin cd $@
+ set_my_title
+ pwd=${PWD##HOME}
+ [ ${#pwd} -lt ${#PWD} ] && pwd="~$pwd"
+ [ "$hostname" ] || hostname=$(hostname)
+ PS1="$USER@$hostname:$pwd \$ "
+ [ $(id -u) -eq 0 ] && PS1="$USER@$hostname:$pwd # "
}
# ZSH doesn't handle these functions all too well
@@ -318,6 +319,32 @@ set_title() {
printf $'\033]0;'"%s"$'\007' "$1"
}
+set_my_title() {
+ _load="Load Avg: $(_sys_load)"
+ _free_mem="M Free: $(_sys_memory)"
+ _uptime="Uptime: $(_sys_uptime)"
+ set_title "$(id -un)[$(hostname)] -- $_load $_free_mem $_uptime"
+}
+
+_sys_memory() {
+ if [ `uname` = "Linux" ] ; then
+ vmstat | tail -n1 | awk '{print $4/1024}' | sed -e's/\..*$//g'
+ elif [ `uname` = "FreeBSD" ] ; then
+ vmstat | tail -n1 | awk '{print $5/1024}' | sed -e's/\..*$//g'
+ fi
+}
+
+_sys_load() {
+ # Works on BSD too, neat.
+ uptime | sed -re's/^.*load averages?: ([0-9]+\.[0-9]+).*$/\1/g'
+}
+
+_sys_uptime() {
+ # Took awhile to figure out, but this works on BSD as well
+ uptime | sed -re's/^.*up[ ]+//g' -e's/^([^,]*),.*/\1/g' -e's/^([^ ]+)[ ]*(.).*/\1\2/g'
+}
+
+
timestamp() {
date +%m.%d.%y_%H.%M.%S
}