2024-09-30 20:44:39 +02:00
|
|
|
# start/attach tmux session
|
|
|
|
|
# use function in .zshrc to attach at every login
|
|
|
|
|
autotmux()
|
|
|
|
|
{
|
|
|
|
|
if [ -z "$TMUX" ]; then
|
|
|
|
|
# get the id of a deattached session
|
|
|
|
|
ID="`tmux ls | grep -vm1 attached | cut -d: -f1`"
|
|
|
|
|
if [ -z "$ID" ]; then
|
|
|
|
|
tmux new-session
|
|
|
|
|
else
|
|
|
|
|
tmux attach-session -t "$ID"
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
checkpem()
|
|
|
|
|
{
|
|
|
|
|
openssl x509 -in "$1" -noout -text
|
|
|
|
|
}
|
|
|
|
|
checkcert()
|
|
|
|
|
{
|
|
|
|
|
openssl s_client -connect "$1":443 2>/dev/null
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# works only without tex-ending
|
|
|
|
|
tex2pdf()
|
|
|
|
|
{
|
|
|
|
|
pdflatex "$1"
|
|
|
|
|
bibtex "$1"
|
|
|
|
|
pdflatex "$1"
|
|
|
|
|
pdflatex "$1"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
startx()
|
|
|
|
|
{
|
|
|
|
|
nohup startx "$@" > /dev/null 2>&1 &
|
|
|
|
|
disown
|
|
|
|
|
vlock
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# generate qrcode and display it
|
2025-01-03 15:16:10 +01:00
|
|
|
func_qrcode()
|
2024-09-30 20:44:39 +02:00
|
|
|
{
|
|
|
|
|
qrencode "$1" -o - | feh -
|
|
|
|
|
}
|
2025-01-03 15:16:10 +01:00
|
|
|
# Create alias calling the function with space prefix, so that it is not logged in history file. This avoids logging passwords and stuff.
|
|
|
|
|
alias qrcode=" func_qrcode"
|
2024-09-30 20:44:39 +02:00
|
|
|
|
|
|
|
|
ogg2mp3()
|
|
|
|
|
{
|
|
|
|
|
for file in *ogg; do
|
|
|
|
|
ffmpeg -i $file -b:a 192k -map_metadata 0:s:a:0 "${file%.*}.mp3"
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
m4a2mp3()
|
|
|
|
|
{
|
|
|
|
|
for file in *m4a; do
|
|
|
|
|
ffmpeg -i $file -b:a 192k -map_metadata 0:s:a:0 "${file%.*}.mp3"
|
|
|
|
|
done
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-02 13:23:45 +02:00
|
|
|
# Show all blob objects in repo sorted from smalles to largest
|
|
|
|
|
# https://stackoverflow.com/a/42544963
|
|
|
|
|
git-blobs()
|
|
|
|
|
{
|
|
|
|
|
git rev-list --objects --all --missing=print |
|
|
|
|
|
git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
|
|
|
|
|
sed -n 's/^blob //p' |
|
|
|
|
|
sort --numeric-sort --key=2 |
|
|
|
|
|
cut -c 1-12,41- |
|
|
|
|
|
$(command -v gnumfmt || echo numfmt) --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest
|
|
|
|
|
}
|
|
|
|
|
|
2025-09-04 04:51:08 +02:00
|
|
|
sshs()
|
|
|
|
|
{
|
|
|
|
|
tmprc=$(ssh $1 "mktemp --directory")
|
|
|
|
|
scp -q $HOME/.zshrc $1:$tmprc
|
|
|
|
|
ssh -t $1 "export ZDOTDIR=${tmprc}; exec zsh"
|
|
|
|
|
ssh $1 "rm -rf ${tmprc}"
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-30 20:44:39 +02:00
|
|
|
# show the current mode:
|
|
|
|
|
#PR_VIMODE="#"
|
|
|
|
|
#function zle-keymap-select
|
|
|
|
|
#{
|
|
|
|
|
# PR_VIMODE="${${KEYMAP/vicmd/¢}/(main|viins)/$}"
|
|
|
|
|
# zle reset-prompt
|
|
|
|
|
#}
|
|
|
|
|
#zle -N zle-keymap-select
|