X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/186423fe66144fbe2335fd9ca716fdea6cb55712..7172209258bdbb25ba4d43eba17f50d72719bf75:/base/.zshrc diff --git a/base/.zshrc b/base/.zshrc index e06c318..96f14c5 100644 --- a/base/.zshrc +++ b/base/.zshrc @@ -1,3 +1,6 @@ +### imports +source ~/bin/.check-busybox + ### user-local fpath fpath=(~/.zsh ~/.zsh/functions/Prompts "${fpath[@]}") @@ -31,7 +34,7 @@ bindkey "^[[3~" delete-char #Del bindkey -a "^[[3~" delete-char ## history search autoload -Uz up-line-or-beginning-search down-line-or-beginning-search && { - if [[ -n "$key[Up]" ]] { + if [[ -n "$key[Up]" ]] { zle -N up-line-or-beginning-search bindkey -- "$key[Up]" up-line-or-beginning-search } @@ -53,25 +56,28 @@ if [[ "$OSTYPE" =~ '^(free|net)bsd' ]] { } ## ps local p= -if { which pstree >/dev/null 2>&1 && \ - [[ ! "$(readlink -f $(which pstree))" =~ "/busybox" ]] } { +if which pstree >/dev/null 2>&1 && ! check-busybox pstree; then # use pstree, but NOT busybox pstree because it kinda sucks p="pstree -wg3" -} elif [[ "$OSTYPE" =~ '^freebsd' ]] { +elif [[ "$OSTYPE" =~ '^freebsd' ]]; then p="ps -aSdfxwwouser=USR -ogroup=GRP -opid,nice=NI \ -o%cpu,%mem,tty,stat,start=START -oetime,command" -} elif [[ "$(readlink -f $(which ps))" =~ "/busybox" ]] { +elif check-busybox ps; then # busybox compatible p="ps -eouser='USR ' -ogroup='GRP ' \ -opid=' PID' -onice=' NI' -ovsz=' MEM' \ -otty,stat,etime,comm" -} else { +else # XXX: untested, posix # TODO: support gnu ps p="ps -eouser=USR -ogroup=GRP -opid,nice=NI \ -opcpu=CPU -ovsz=MEM -otty,stat,etime,comm" +fi +if [[ "$(basename "$PAGER")" = "less" ]] { + p="$p | less -SE" +} else { + p="$p | \"${PAGER:-more}\"" } -p="$p | ${PAGER:-more} -Se" alias pa="$p" alias spa="sudo $p" unset p @@ -167,6 +173,7 @@ case "$OSTYPE"; in ## sound # TODO: test alsa/oss/sndio/portaudio/pulse in order of importance function s() {} + function vol() {} esac ### modules & styles @@ -202,6 +209,10 @@ compinit ## prompt # do this last so prompt can potentially override autoload -Uz promptinit && promptinit -prompt ds6 +prompt arrows + + +### unset imports +unfunction check-busybox # vim: set et sts=4 sw=4 ts=8 tw=79 :