From dafd1290537fd76a19871d33a0f684b714dda872 Mon Sep 17 00:00:00 2001 From: shmibs Date: Fri, 21 Aug 2015 08:24:24 -0700 Subject: zshrc: move desktop functionality to new file --- .zshrc | 3 + .zshrc-linux | 167 -------------------------------------------------- .zshrc-linux-desktop | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 171 insertions(+), 167 deletions(-) create mode 100644 .zshrc-linux-desktop diff --git a/.zshrc b/.zshrc index 86280b1..35f8cda 100644 --- a/.zshrc +++ b/.zshrc @@ -105,6 +105,9 @@ case $(uname) in ;; Linux) source ~/.zshrc-linux + if [[ -e ~/.zshrc-linux-desktop ]]; then + source ~/.zshrc-linux-desktop + fi ;; *) echo -e '[-- OS UNRECOGNISED --]' diff --git a/.zshrc-linux b/.zshrc-linux index 0e7daa3..a510ac6 100644 --- a/.zshrc-linux +++ b/.zshrc-linux @@ -45,170 +45,3 @@ git() { $(which -p git) "$@" fi } - -# 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 -} 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 +} -- cgit v1.2.3