-
Notifications
You must be signed in to change notification settings - Fork 0
/
zfunc
47 lines (41 loc) · 1.48 KB
/
zfunc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/zsh
function emptymailtrash() {
read confirm\?"Really delete all mail from Trash (Y/N)? "
[ $(echo $confirm | grep -i y | wc -l) -eq '1' ] && rm -rf ~/Mail/Trash/* || echo "Trash Purge aborted!"
}
function markdowntodocx() {
# $1 input markdown file name
# $2 output pad file name
[[ $1 == "-h" ]] \
&& printf "USAGE\nmarkdowntodocx INPUTMARKDOWNFILE OUTPUTDOCXFILE\n" \
|| pandoc -s -V geometry:margin=1in -o $2 $1
}
function markdowntopdf() {
# $1 input markdown file name
# $2 output pad file name
[[ $1 == "-h" ]] \
&& printf "USAGE\nmarkdowntopdf INPUTMARKDOWNFILE OUTPUTPDFFILE\n" \
|| pandoc -s -V geometry:margin=1in -o $2 $1
}
function pbcopy {
# copies to clipboard like (the more egronomic) osx command but without the pipe
# $1 path to file
xclip -selection clipboard < $1
}
function vidtogif() {
# converts a video to a gif of desired size (defualting to 1080)
# $1 : video's input path
# $2 : output gif path
# $3 : skip seconds. How many seconds to skip from the head of the video
# $4 : duration. How long the gif will last
# $5 optional scale flag
scale="1080"
[[ $# -ge 4 ]] && ffmpeg -ss $3 \
-t $4 \
-i $1 \
-vf "fps=10,scale=$scale:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
-loop 0 $2 || \
printf "vidtogif: converts videos to gif files
Usage:
vidtogif input_file output_path skip_s duration [scale]\n"
}