aboutsummaryrefslogtreecommitdiffstats
path: root/.zshrc-linux-desktop
diff options
context:
space:
mode:
Diffstat (limited to '.zshrc-linux-desktop')
-rw-r--r--.zshrc-linux-desktop168
1 files changed, 168 insertions, 0 deletions
diff --git a/.zshrc-linux-desktop b/.zshrc-linux-desktop
new file mode 100644
index 0000000..c34c60e
--- /dev/null
+++ b/.zshrc-linux-desktop
@@ -0,0 +1,168 @@
+################## FUNCTIONS ##################
+
+# capture webm
+scap() {
+ archey3
+ sleep .1
+ if [[ -f '/tmp/out.webm' ]]; then
+ rm /tmp/out.webm
+ fi
+ echo 'recording...'
+ ffmpeg -video_size 1920x1080 -framerate 30 -f x11grab -i :0.0 \
+ -c:v libvpx -b:v 4M -threads 4 /tmp/out.webm > /dev/null 2>&1
+}
+
+# quickly send a file to hosted tmp dir
+send() {
+ if [[ "$1" ]]; then
+ scp $@ shmibbles.me:http/tmp/
+ if [[ $? -eq 0 ]]; then
+ for name in "$@"
+ do
+ basename=$(basename $name)
+ ssh shmibbles.me "cd http/tmp; chmod o+r '$basename'"
+ name=$(echo "http://shmibbles.me/tmp/$basename"\
+ | sed 's/ /%20/g')
+ echo $name | tr -d '\n' | xclip -i -selection clipboard
+ echo $name | tr -d '\n' | xclip -i -selection primary
+ done
+ fi
+ else
+ echo "specify at least one file to send"
+ fi
+}
+
+# take a screenshot, upload to /img/scrot, and update current symlink
+ssh-scrot() {
+ archey3
+
+ if [[ "$1" != "" ]]; then
+ name=$1
+ else
+ echo -n "name: "
+ read name
+ fi
+
+ date=$(date +'%Y-%m-%d')
+
+ folder="http/img/scrot"
+ ssh shmibbles.me "mkdir -p $folder/$date"
+
+ if [[ "${?#0}" != "" ]]; then
+ return 1
+ fi
+
+ ssh shmibbles.me "rm $folder/current 2>/dev/null; ln -s $folder/$date $folder/current"
+
+ for i in {3..1}; do
+ echo -n "$i "
+ sleep 1
+ done
+
+ echo 'cheese!'
+ sleep .1
+
+ scrot /tmp/$name.png
+ convert -scale 250x /tmp/$name.png /tmp/${name}_small.png
+
+ scp /tmp/$name.png /tmp/${name}_small.png shmibbles.me:http/img/scrot/$date
+
+ echo "http://shmibbles.me/img/scrot/$date/$name.png" | tr -d '\n' | xclip -i -selection clipboard
+ echo "http://shmibbles.me/img/scrot/$date/$name.png" | tr -d '\n' | xclip -i -selection primary
+ echo "http://shmibbles.me/img/scrot/$date/${name}_small.png" | tr -d '\n' | xclip -i -selection clipboard
+ echo "http://shmibbles.me/img/scrot/$date/${name}_small.png" | tr -d '\n' | xclip -i -selection primary
+
+ echo 'sent!'
+
+ rm /tmp/$name.png /tmp/${name}_small.png
+
+}
+
+# export a section of a video to gif
+make-gif() {
+
+ if [[ -z "$1" ]]; then
+ break
+ fi
+
+ rm -f make-gif-palette.png
+ rm -f make-gif-palette.png
+ rm -f make-gif-in
+
+ rm -f make-gif-in
+
+ ln -s "$1" make-gif-in
+
+ echo -n "start [00:00:00]: "
+ read start
+ if [[ -z "$start" ]]; then
+ start="00:00:00"
+ fi
+
+ echo -n "length [full]: "
+ read length
+ if [[ -z "$length" ]]; then
+ t=""
+ length=""
+ else
+ t="-t"
+ fi
+
+ echo -n "fps [10]: "
+ read fps
+ if [[ -z "$fps" ]]; then
+ fps="10"
+ fi
+
+ echo -n "width [480]: "
+ read width
+ if [[ -z "$width" ]]; then
+ width="480"
+ fi
+
+ echo -n "use subtitles? [y/N]: "
+ read subs
+ if [[ "$subs" == "y" || "$subs" == "Y" ]]; then
+ subs="true"
+ else
+ subs=""
+ fi
+
+ if [[ $subs ]]; then
+ ffmpeg -y -ss "$start" $t "$length" -i "$1" \
+ -copyts -vf "subtitles=make-gif-in,fps=$fps,scale=$width:-1:flags=lanczos,palettegen" make-gif-palette.png
+ ffmpeg -ss "$start" $t "$length" -i "$1" -i make-gif-palette.png \
+ -copyts -filter_complex \
+ "subtitles=make-gif-in,fps=$fps,scale=$width:-1:flags=lanczos[x];[x][1:v]paletteuse" \
+ out.gif
+ else
+ ffmpeg -y -ss "$start" $t "$length" -i "$1" \
+ -vf "fps=$fps,scale=$width:-1:flags=lanczos,palettegen" make-gif-palette.png
+ ffmpeg -ss "$start" $t "$length" -i "$1" -i make-gif-palette.png -filter_complex \
+ "fps=$fps,scale=$width:-1:flags=lanczos[x];[x][1:v]paletteuse" \
+ out.gif
+ fi
+
+ rm -f make-gif-palette.png
+ rm -f make-gif-in
+}
+
+# um...
+fuck() {
+ fuck="fuck"
+ while true; do
+ echo -en "\e[$((RANDOM%2));$((RANDOM%8+30))m"
+
+ for i in {1..4}; do
+ if [[ $((RANDOM%2)) -eq 1 ]]; then
+ echo -n $fuck[$i] | tr '[:lower:]' '[:upper:]'
+ else
+ echo -n $fuck[$i]
+ fi
+ done
+
+ for i in {1..$((RANDOM%20))}; do
+ echo -n " "
+ done
+ done
+}