mirror of
https://github.com/webgefrickel/dotfiles
synced 2024-11-15 12:12:58 +00:00
91 lines
2.0 KiB
Bash
91 lines
2.0 KiB
Bash
# TERMINAL INTEGRATIONS
|
|
l () {
|
|
if [ -n $NNNLVL ] && [ "${NNNLVL:-0}" -ge 1 ]; then
|
|
echo "nnn is already running"
|
|
return
|
|
fi
|
|
|
|
export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
|
|
|
|
nnn "$@"
|
|
|
|
if [ -f "$NNN_TMPFILE" ]; then
|
|
. "$NNN_TMPFILE"
|
|
rm -f "$NNN_TMPFILE" > /dev/null
|
|
fi
|
|
}
|
|
|
|
# s as in 'show' / quicklook script
|
|
s () {
|
|
trap 'exit 0' 2 #traps Ctrl-C (signal 2)
|
|
qlmanage -p $1 >& /dev/null
|
|
}
|
|
|
|
take () {
|
|
mkdir -p $1
|
|
cd $1
|
|
}
|
|
|
|
current_branch () {
|
|
ref=$(git symbolic-ref HEAD 2> /dev/null) || \
|
|
ref=$(git rev-parse --short HEAD 2> /dev/null) || return
|
|
echo ${ref#refs/heads/}
|
|
}
|
|
|
|
fancy-ctrl-z () {
|
|
if [[ $#BUFFER -eq 0 ]]; then
|
|
BUFFER="fg"
|
|
zle accept-line
|
|
else
|
|
zle push-input
|
|
zle clear-screen
|
|
fi
|
|
}
|
|
|
|
# CUSTOM FUNCTIONS
|
|
wttr () {
|
|
if [[ -n "$1" ]]
|
|
then
|
|
curl "wttr.in/$1?format=v2"
|
|
else
|
|
curl "wttr.in/Leipzig?format=v2"
|
|
fi
|
|
}
|
|
|
|
webvideo () {
|
|
WIDTH="${2:-trunc(iw/2)*2}"
|
|
HEIGHT="trunc(ih/2)*2"
|
|
if [[ -n "$2" ]]
|
|
then
|
|
HEIGHT="trunc(ow/a/2)*2"
|
|
fi
|
|
|
|
SCALE="scale=$WIDTH\:$HEIGHT"
|
|
|
|
ffmpeg -i $1 -map_metadata -1 -c:a libfdk_aac -b:a 96k -c:v libx264 -crf 26 -preset slow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf $SCALE -threads 0 $1.h264.mp4
|
|
ffmpeg -i $1 -map_metadata -1 -c:a libopus -b:a 64k -c:v librav1e -qp 110 -speed 4 -tile-columns 2 -tile-rows 2 -movflags +faststart -vf $SCALE -threads 0 $1.av1.webm
|
|
}
|
|
|
|
webvideomute () {
|
|
WIDTH="${2:-trunc(iw/2)*2}"
|
|
HEIGHT="trunc(ih/2)*2"
|
|
if [[ -n "$2" ]]
|
|
then
|
|
HEIGHT="trunc(ow/a/2)*2"
|
|
fi
|
|
|
|
SCALE="scale=$WIDTH\:$HEIGHT"
|
|
|
|
ffmpeg -i $1 -map_metadata -1 -an -c:v libx264 -crf 26 -preset slow -profile:v main -pix_fmt yuv420p -movflags +faststart -vf $SCALE -threads 0 $1.h264.mp4
|
|
ffmpeg -i $1 -map_metadata -1 -an -c:v librav1e -qp 110 -speed 4 -tile-columns 2 -tile-rows 2 -movflags +faststart -vf $SCALE -threads 0 $1.av1.webm
|
|
}
|
|
|
|
webvideoposter () {
|
|
ffmpeg -ss 00:00:02 -i $1 -frames:v 1 $1.jpg
|
|
}
|
|
|
|
webgallery () {
|
|
mogrify -format jpg -resize '47.6190476%' -strip -quality 75 *.HEIC
|
|
rm *.HEIC
|
|
}
|