diff options
| author | Mitch Riedstra <mitch@riedstra.us> | 2018-11-07 23:34:05 -0500 |
|---|---|---|
| committer | Mitch Riedstra <mitch@riedstra.us> | 2018-11-07 23:34:05 -0500 |
| commit | 8eb72374b1d48b432f55fbab6224542ce6275709 (patch) | |
| tree | 8edbdfa8eea54da536e7b0f890c69032d8a07385 /mkshrc | |
| parent | ae4984b2bc257996ecc38161c4185658b4a0c244 (diff) | |
| download | dotfiles-8eb72374b1d48b432f55fbab6224542ce6275709.tar.gz dotfiles-8eb72374b1d48b432f55fbab6224542ce6275709.tar.xz | |
Update shell configuration to set the terminal titles
Diffstat (limited to 'mkshrc')
| -rw-r--r-- | mkshrc | 49 |
1 files changed, 38 insertions, 11 deletions
@@ -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} [0m' 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} [0m' 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 } |
