From a93a3c43e11acbbaec2ec5406cb9e72024541330 Mon Sep 17 00:00:00 2001 From: Thomas Dehaeze Date: Tue, 3 Nov 2020 11:39:08 +0100 Subject: [PATCH] Add useful private binaries --- dotfiles/binaries-private.org | 72 +++++++++++++++++++++++++++++++---- 1 file changed, 64 insertions(+), 8 deletions(-) diff --git a/dotfiles/binaries-private.org b/dotfiles/binaries-private.org index d61d08d..a400fde 100644 --- a/dotfiles/binaries-private.org +++ b/dotfiles/binaries-private.org @@ -21,25 +21,27 @@ :END: * =remote-desktop= - Remote Desktop Connect - #+begin_src bash :tangle ~/.local/bin/remote-desktop computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20); + dunstify --replace=89891 'Rdesktop' "Connection to ${computer}..." + case $computer in PCMEL1) - rdesktop -a 16 -P -z -x m -r sound:off -g "80%" -u "ESRF\OPPEL" -p $(pass esrf/PCMEL1/OPPEL | sed -n 1p) pcmel1 + xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEL1.esrf.fr; ;; PCMEG01) - rdesktop -a 16 -P -z -x m -r sound:off -g "80%" -u "ESRF\DEHAEZE" -p $(pass ssl.esrf.fr/dehaeze | sed -n 1p) pcmeg01 + xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCMEG01.esrf.fr; ;; PCNASS1) - rdesktop -a 16 -P -z -x m -r sound:off -g "80%" -u "ESRF\DEHAEZE" -p $(pass ssl.esrf.fr/dehaeze | sed -n 1p) pcnass1 + xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:PCNASS1.esrf.fr; ;; RNICE) - echo "Not yet implemented" + xfreerdp /u:dehaeze /d:ESRF /clipboard /bpp:8 /bpp:16 /compression -themes -wallpaper /async-update /async-input -glyph-cache /audio-mode:1 /dynamic-resolution /auto-reconnect /p:$(pass ssl.esrf.fr/dehaeze | sed -n 1p) /v:rnice.esrf.fr; ;; ,*) - echo "Not existing" + echo "Not existing" && \ + dunstify --replace=89891 --urgency=critical 'Rdesktop' "No config for $computer"; ;; esac #+end_src @@ -49,11 +51,12 @@ #+begin_src bash :tangle ~/.local/bin/print-rnice nbpage=$(echo -e '1\n2\n4' | dmenu -p 'Number of pages per sheet' -l 20); sides=$(echo -e 'one-sided\ntwo-sided-long-edge\ntwo-sided-short-edge' | dmenu -p 'Two Sided:' -l 20); + media=$(echo -e 'A4\nA3' | dmenu -p 'Size:' -l 20); # First copy the file to Rnice if sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" scp $1 dehaeze@rnice:~/Downloads/; then # Then print on Rnice - sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" ssh dehaeze@rnice "lpr -o media=A4 -o sides=$sides -o number-up=$nbpage -P ctb110c1u ~/Downloads/$1"; + sshpass -p "$(pass ssl.esrf.fr/dehaeze | sed -n 1p)" ssh dehaeze@rnice "lpr -o media=$media -o sides=$sides -o number-up=$nbpage -P ctb110c1u ~/Downloads/$1"; # Finally, delete the file else echo "Command Failed" @@ -102,10 +105,63 @@ As an alternative, =sshfs= can be used: #+end_src * =torrent-add= - Download Torrent - #+begin_src bash :tangle ~/.local/bin/torrent-add transmission-remote 82.64.103.2:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \ dunstify 'Torrent' 'Successfully added' || \ dunstify 'Torrent' 'Error' #+end_src + +* =note-extract-fig= - Extract Figure from note file +Script used to convert a figure drawn on my Boox note2 to a png file that can then be imported into a document. + +#+begin_src bash :tangle ~/.local/bin/note-extract-fig + # First check that the first argument is a pdf file + if [[ -f $1 && $1 == *.pdf ]]; then + pngfile=$(echo $1 | cut -f 1 -d '.' | sed 's/$/.png/') + + # Convert to png and crop png + pdf2png $1 && convert -trim "$pngfile" "$pngfile" + fi +#+end_src + +* =share= - Share file with self-hosted =transfer.sh= +#+begin_src bash :tangle ~/.local/bin/share + if [ $TMUX ]; then + tmux split -v -l 1 "curl --progress-bar -F\"file=@$1\" https://file.tdehaeze.xyz/ | xsel -ib && dunstify 'Upload' 'Successful' || dunstify --urgency=critical 'Upload' 'Failed';" && tmux select-pane -U + else + curl --progress-bar -F"file=@$1" https://file.tdehaeze.xyz/ | xsel -ib && \ + dunstify 'Upload' 'Successful' || \ + dunstify --urgency=critical 'Upload' 'Failed' + fi +#+end_src + +* =screen-select= - Xrandr pre-defined scripts +#+begin_src bash :tangle ~/.local/bin/screen-select + option=$(echo -e "Work\nXPS\nHome" | rofi -i -dmenu) + + case "$option" in + "Work") + xrandr --output eDP1 --off --output DP1 --off --output DP1-1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off + ;; + "XPS") + xrandr --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP1 --off --output DP1-1 --off --output DP1-2 --off --output DP2 --off --output VIRTUAL1 --off + ;; + "Home") + xrandr --output eDP1 --off --output DP1 --primary --mode 2560x1440 --pos 0x0 --rotate normal --output DP2 --off --output VIRTUAL1 --off + ;; + ,*) + echo "== ! missing or invalid argument ! ==" + exit 2 + esac + + setbg # Fix background if screen size/arangement has changed. + $HOME/.config/polybar/scripts/launch.sh # restart polybar + + exit 0 +#+end_src + +* =color-picker= - Pick color and copy to clipboard +#+begin_src bash :tangle ~/.local/bin/color-picker + xcolor | xsel -b +#+end_src