260 lines
8.5 KiB
Bash
Executable File
260 lines
8.5 KiB
Bash
Executable File
######################################################################
|
||
# mako's zshrc file, v0.1
|
||
#
|
||
#
|
||
######################################################################
|
||
|
||
# next lets set some enviromental/shell pref stuff up
|
||
# setopt NOHUP
|
||
#setopt NOTIFY
|
||
#setopt NO_FLOW_CONTROL
|
||
setopt APPEND_HISTORY
|
||
# setopt AUTO_LIST # these two should be turned off
|
||
# setopt AUTO_REMOVE_SLASH
|
||
# setopt AUTO_RESUME # tries to resume command of same name
|
||
unsetopt BG_NICE # do NOT nice bg commands
|
||
setopt CORRECT # command CORRECTION
|
||
setopt EXTENDED_HISTORY # puts timestamps in the history
|
||
# setopt HASH_CMDS # turns on hashing
|
||
setopt HIST_ALLOW_CLOBBER
|
||
setopt HIST_REDUCE_BLANKS
|
||
setopt INC_APPEND_HISTORY SHARE_HISTORY
|
||
setopt ALL_EXPORT
|
||
|
||
setopt MENUCOMPLETE
|
||
# Set/unset shell options
|
||
setopt notify globdots correct pushdtohome cdablevars autolist
|
||
setopt correctall autocd recexact longlistjobs
|
||
setopt autoresume histignoredups pushdsilent noclobber
|
||
setopt autopushd pushdminus extendedglob rcquotes mailwarning
|
||
unsetopt bgnice autoparamslash
|
||
|
||
# Autoload zsh modules when they are referenced
|
||
zmodload -a zsh/stat stat
|
||
zmodload -a zsh/zpty zpty
|
||
zmodload -a zsh/zprof zprof
|
||
|
||
# mapfile : parameter already exists
|
||
#zmodload -ap zsh/mapfile mapfile
|
||
|
||
# For MAC:
|
||
# ioreg -n AppleSmartBattery -r | awk '$1~/Capacity/{c[$1]=$3} END{OFMT="%.2f%%"; max=c["\"MaxCapacity\""]; print (max>0? 100*c["\"CurrentCapacity\""]/max: "?")}'
|
||
# ioreg -n AppleSmartBattery -r | awk '$1~/ExternalConnected/{gsub("Yes", "+");gsub("No", "%"); print substr($0, length, 1)}'
|
||
|
||
|
||
function battery_charge {
|
||
b_now=$(cat /sys/class/power_supply/BAT0/energy_now)
|
||
b_full=$(cat /sys/class/power_supply/BAT0/energy_full)
|
||
b_status=$(cat /sys/class/power_supply/BAT0/status)
|
||
# I am displaying 10 chars -> charge is in {0..9}
|
||
charge=$(expr $(expr $b_now \* 10) / $b_full)
|
||
|
||
# choose the color according the charge or if we are charging then always green
|
||
if [[ charge -gt 5 || "Charging" == $b_status ]]; then
|
||
echo -n "%{$fg[green]%}"
|
||
elif [[ charge -gt 2 ]]; then
|
||
echo -n "%{$fg[yellow]%}"
|
||
else
|
||
echo -n "%{$fg[red]%}"
|
||
fi
|
||
|
||
# display charge * '▸' and (10 - charge) * '▹'
|
||
i=0;
|
||
while [[ i -lt $charge ]]
|
||
do
|
||
i=$(expr $i + 1)
|
||
echo -n "▸"
|
||
done
|
||
while [[ i -lt 10 ]]
|
||
do
|
||
i=$(expr $i + 1)
|
||
echo -n "▹"
|
||
done
|
||
|
||
# display a plus if we are charging
|
||
if [[ "Charging" == $b_status ]]; then
|
||
echo -n "%{$fg_bold[green]%} +"
|
||
fi
|
||
# and reset the color
|
||
echo -n "%{$reset_color%} "
|
||
}
|
||
|
||
function battery_zsh {
|
||
BATDIR="/sys/class/power_supply/BAT0"
|
||
max=`cat $BATDIR/energy_full`
|
||
current=`cat $BATDIR/energy_now`
|
||
percent=$(( 100 * $current / $max ))
|
||
|
||
color_green="%{[32m%}"
|
||
color_yellow="%{[34m%}"
|
||
color_red="%{[31m%}"
|
||
color_reset="%{[00m%}"
|
||
|
||
if [ $percent -ge 80 ] ; then
|
||
color=$color_green;
|
||
elif [ $percent -ge 40 ] ; then
|
||
color=$color_yellow;
|
||
else
|
||
color=$color_red;
|
||
fi
|
||
echo $color$percent%%$color_reset
|
||
}
|
||
|
||
PATH="/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin/:$PATH"
|
||
TZ="America/Sao_Paulo"
|
||
HISTFILE=$HOME/.zhistory
|
||
HISTSIZE=1000
|
||
SAVEHIST=1000
|
||
HOSTNAME="`hostname`"
|
||
PAGER='less'
|
||
EDITOR='vim'
|
||
autoload colors zsh/terminfo
|
||
if [[ "$terminfo[colors]" -ge 8 ]]; then
|
||
colors
|
||
fi
|
||
for color in RED GREEN YELLOW BLUE MAGENTA CYAN WHITE; do
|
||
eval PR_$color='%{$terminfo[bold]$fg[${(L)color}]%}'
|
||
eval PR_LIGHT_$color='%{$fg[${(L)color}]%}'
|
||
(( count = $count + 1 ))
|
||
done
|
||
PR_NO_COLOR="%{$terminfo[sgr0]%}"
|
||
PS1="[$PR_MAGENTA%n$PR_NO_COLOR@$PR_GREEN%U%m%u$PR_NO_COLOR:$PR_RED%2c$PR_NO_COLOR]%(!.#.$) "
|
||
RPS1="$(battery_charge) $(battery_zsh) $PR_MAGENTA(%D{%d-%m-%y %H:%M})$PR_NO_COLOR"
|
||
#LANGUAGE=
|
||
LC_ALL='pt_BR.UTF-8'
|
||
LANG='pt_BR.UTF-8'
|
||
LC_CTYPE=C
|
||
DISPLAY=:0
|
||
|
||
if [ $SSH_TTY ]; then
|
||
MUTT_EDITOR=vim
|
||
else
|
||
MUTT_EDITOR=emacsclient.emacs-snapshot
|
||
fi
|
||
|
||
unsetopt ALL_EXPORT
|
||
# # --------------------------------------------------------------------
|
||
# # aliases
|
||
# # --------------------------------------------------------------------
|
||
alias slrn="slrn -n"
|
||
alias man='LC_ALL=PT-BR LANG=PT-BR man'
|
||
alias f=finger
|
||
alias ll='ls -ashpGl --color '
|
||
alias ls='ls -G --color '
|
||
alias offlineimap-tty='offlineimap -u TTY.TTYUI'
|
||
alias hnb-partecs='hnb $HOME/partecs/partecs-hnb.xml'
|
||
alias rest2html-css='rst2html --embed-stylesheet --stylesheet-path=/usr/share/python-docutils/s5_html/themes/default/print.css'
|
||
alias dmesg="sudo dmesg"
|
||
#if [[ $HOSTNAME == "kamna" ]] {
|
||
# alias emacs='emacs -l ~/.emacs.kamna'
|
||
#}
|
||
|
||
# alias =clear
|
||
stty erase ^H &>/dev/null
|
||
bindkey "^[[3~" delete-char
|
||
#chpwd() {
|
||
# [[ -t 1 ]] || return
|
||
# case $TERM in
|
||
# sun-cmd) print -Pn "\e]l%~\e\\"
|
||
# ;;
|
||
# *xterm*|screen|rxvt|(dt|k|E)term) print -Pn "\e]2;%~\a"
|
||
# ;;
|
||
# esac
|
||
#}
|
||
|
||
#chpwd
|
||
|
||
autoload -U compinit
|
||
compinit
|
||
bindkey '^r' history-incremental-search-backward
|
||
bindkey "^[[5~" up-line-or-history
|
||
bindkey "^[[6~" down-line-or-history
|
||
bindkey "^[[H" beginning-of-line
|
||
bindkey "^[[1~" beginning-of-line
|
||
bindkey "^[[F" end-of-line
|
||
bindkey "^[[4~" end-of-line
|
||
bindkey ' ' magic-space # also do history expansion on space
|
||
bindkey '^I' complete-word # complete on tab, leave expansion to _expand
|
||
|
||
zstyle ':completion::complete:*' use-cache on
|
||
zstyle ':completion::complete:*' cache-path ~/.zsh/cache/$HOST
|
||
|
||
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
||
zstyle ':completion:*' list-prompt '%SAt %p: Hit TAB for more, or the character to insert%s'
|
||
zstyle ':completion:*' menu select=1 _complete _ignored _approximate
|
||
zstyle -e ':completion:*:approximate:*' max-errors \
|
||
'reply=( $(( ($#PREFIX+$#SUFFIX)/2 )) numeric )'
|
||
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
|
||
zstyle ':completion:*:processes' command 'ps -axw'
|
||
zstyle ':completion:*:processes-names' command 'ps -awxho command'
|
||
# Completion Styles
|
||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
|
||
# list of completers to use
|
||
zstyle ':completion:*::::' completer _expand _complete _ignored _approximate
|
||
|
||
# allow one error for every three characters typed in approximate completer
|
||
zstyle -e ':completion:*:approximate:*' max-errors \
|
||
'reply=( $(( ($#PREFIX+$#SUFFIX)/2 )) numeric )'
|
||
|
||
# insert all expansions for expand completer
|
||
zstyle ':completion:*:expand:*' tag-order all-expansions
|
||
#
|
||
#NEW completion:
|
||
# 1. All /etc/hosts hostnames are in autocomplete
|
||
# 2. If you have a comment in /etc/hosts like #%foobar.domain,
|
||
# then foobar.domain will show up in autocomplete!
|
||
zstyle ':completion:*' hosts $(awk '/^[^#]/ {print $2 $3" "$4" "$5}' /etc/hosts | grep -v ip6- && grep "^#%" /etc/hosts | awk -F% '{print $2}')
|
||
# formatting and messages
|
||
zstyle ':completion:*' verbose yes
|
||
zstyle ':completion:*:descriptions' format '%B%d%b'
|
||
zstyle ':completion:*:messages' format '%d'
|
||
zstyle ':completion:*:warnings' format 'No matches for: %d'
|
||
zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
|
||
zstyle ':completion:*' group-name ''
|
||
|
||
# match uppercase from lowercase
|
||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
||
|
||
# offer indexes before parameters in subscripts
|
||
zstyle ':completion:*:*:-subscript-:*' tag-order indexes parameters
|
||
|
||
# command for process lists, the local web server details and host completion
|
||
#zstyle ':completion:*:processes' command 'ps -o pid,s,nice,stime,args'
|
||
#zstyle ':completion:*:urls' local 'www' '/var/www/htdocs' 'public_html'
|
||
zstyle '*' hosts $hosts
|
||
|
||
# Filename suffixes to ignore during completion (except after rm command)
|
||
zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \
|
||
'*?.old' '*?.pro'
|
||
# the same for old style completion
|
||
#fignore=(.o .c~ .old .pro)
|
||
|
||
# ignore completion functions (until the _ignored completer)
|
||
zstyle ':completion:*:functions' ignored-patterns '_*'
|
||
zstyle ':completion:*:scp:*' tag-order \
|
||
files users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
|
||
zstyle ':completion:*:scp:*' group-order \
|
||
files all-files users hosts-domain hosts-host hosts-ipaddr
|
||
zstyle ':completion:*:ssh:*' tag-order \
|
||
users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
|
||
zstyle ':completion:*:ssh:*' group-order \
|
||
hosts-domain hosts-host users hosts-ipaddr
|
||
zstyle '*' single-ignored show
|
||
|
||
source $HOME/.bash_aliases
|
||
|
||
source $HOME/.profile
|
||
|
||
PATH="$HOME/bin:$HOME/.local/bin:$HOME/.cabal/bin:$PATH"
|
||
|
||
|
||
#source /home/renato/WebApp/silvrosa.llm-node.google-api.sh
|
||
alias batt='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|to\ empty|percentage"'
|
||
|
||
# Instalacao das Funcoes ZZ (www.funcoeszz.net)
|
||
# script
|
||
export ZZPATH=/usr/local/bin/funcoeszz
|
||
# pasta zz/
|
||
export ZZDIR=
|
||
source /home/renato/.zzzshrc
|