## MISCELLANEOUS # various shortcuts alias reboot='doas reboot' alias poweroff='doas poweroff' alias refresh='. $ZDOTDIR/.zshrc' alias zzz='doas loginctl suspend' alias fuck='doas $(fc -Lln -1)' alias open='xdg-open' alias mutt='cd ~/.mutt/attachments; mutt; cd -' alias jpwine='LANG=ja_JP.UTF-8 WINEDEBUG=-all wine' alias emd='/usr/bin/emacs --daemon &' alias emc='emacsclient -c -a "emacs"' alias vi='$EDITOR' alias z='zathura' alias nnn='nnn -Hde' alias cn='clear;neofetch' alias ea='vi ~/.config/shell/aliasrc' alias ez='vi ~/.config/zsh/.zshrc' alias lr='su - root' alias cam='mpv --profile=low-latency --untimed /dev/video0' alias df='df -h' alias tma='tmux a -t' alias tmn='tmux new-session -s' # rename files in pwd in their current order to 4-digit numbers alias ofn='/bin/ls | cat -n | while read n f; do rename "s/${f%.*}/$(printf "%04d" "$n")/" "$f"; done' # start freyr docker image to download music from spotify # alias freyr='docker run -it -v /media/hdd/music:/data freyr-dev' # set my preferred keyboard options alias setkeys='xset r rate 250 30 && setxkbmap -layout us,us -variant dvorak, -option "ctrl:nocaps,lv3:rwin_switch,grp:alt_space_toggle"' alias setus='setxkbmap -layout us,us -option "ctrl:nocaps"' # pad numbers in filenames with zeros alias padz='rename "s/\d+/sprintf(\"%02d\",$&)/e"' # set custom ascii # alias neofetch='neofetch --source ~/docs/ascii/lain' # cp mv and rm always verbose alias cp='cp -iv' alias mv='mv -iv' alias rm='rm -Iv' alias mkd='mkdir -pv' # colorize grep output alias grep='grep --color=auto -i' # ls shortcuts alias ls='ls -hl --color=always --group-directories-first' alias la='ls -a' alias lc='ls | tail -n +2 | wc -l' lsd() { if [ "$1" = "" ]; then ls -d */; else ls -d $1/*/ | sed "s|$1/||"; fi } gls() { if [ "$2" = "" ]; then ls | grep "$1" else ls "$2" | grep "$1" fi } # control audio alias headset="wpctl set-default $(wpctl status | grep 'Headphones' | cut -b11-12)" alias speakers="wpctl set-default $(wpctl status | grep 'Speakers' | cut -b11-12)" # monitor settings alias rmlr='xrandr --auto --output HDMI-A-0 --mode 640x480 --primary' alias rmmr='xrandr --auto --output HDMI-A-0 --mode 800x600 --primary' alias rmdr='xrandr --auto --output HDMI-A-0 --mode 1920x1080 --primary' alias lmlr='xrandr --auto --output DisplayPort-2 --mode 640x480 --left-of HDMI-A-0' alias lmmr='xrandr --auto --output DisplayPort-2 --mode 800x600 --left-of HDMI-A-0' alias lmdr='xrandr --auto --output DisplayPort-2 --mode 1600x900 --left-of HDMI-A-0' alias mbl='ddcutil --display 1 setvcp 10 10 && ddcutil --display 2 setvcp 10 10' alias mbm='ddcutil --display 1 setvcp 10 50 && ddcutil --display 2 setvcp 10 50' alias mbh='ddcutil --display 1 setvcp 10 80 && ddcutil --display 2 setvcp 10 80' # function for timer and stopwatch timer() { date1=$((`date +%s` + $1)); while [ "$date1" -ge `date +%s` ]; do echo -ne "$(date -u --date @$(($date1 - `date +%s`)) +%H:%M:%S)\r"; sleep 0.1 done notify-send "Time Up"; pw-play "/usr/share/sounds/freedesktop/stereo/complete.oga" } stopwatch() { date1=`date +%s`; while true; do echo -ne "$(date -u --date @$((`date +%s` - $date1)) +%H:%M:%S)\r"; sleep 0.1 done } ## FUNCTIONS FOR CONVERTING DATE TO ISO 8601 # convert date from YYYYMMDD to YYYY-MM-DD date-convert() { for i in *; do mv "${i}" "$(echo "${i}" | sed 's/\([0-9][0-9][0-9][0-9]\)\([0-9][0-9]\)\([0-9][0-9]\)/\1-\2-\3/')" done; } # reverse date from DD-MM-YYYY to YYYY-MM-DD date-reverse() { for i in *; do mv "${i}" "$(echo "${i}" | sed 's/\([0-9][0-9]\)-\([0-9][0-9]\)-\([0-9][0-9][0-9][0-9]\)/\3-\1-\2/')" done; } ## CONVERTING VIDEO # convert video files to webm mkwebm() { ffmpeg -i "${1}" -c:v libvpx-vp9 -crf 32 -b:v 300K -c:a libvorbis "${1%.*}".webm } ## GIT # general shortcuts alias status='git status' alias commit='git commit -m' alias fetch='git fetch' alias upstream='git push --set-upstream origin' alias remote='git remote add origin' alias pull='git pull origin' alias push='git push origin' # shortcut for dotfiles repo alias dfiles='/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME' alias dcomm='dfiles commit -m' alias dpush='dfiles push origin' # package management alias qu='equery u' alias qd='equery d' alias qg='equery g' alias emup='doas emerge -avuND @world' alias pemup='emerge -pvuNDt @world' alias emin='doas emerge -av' alias pemin='emerge -pv' alias emrm='doas emerge -avc' alias emsr='emerge -s'