literate-dotfiles/binaries-private.org

7.1 KiB

My own specific binaries

remote-desktop - Remote Desktop Connect

computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20);

dunstify --replace=89891 'Rdesktop' "Connection to ${computer}..."

case $computer in
    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)
          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)
          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)
          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" && \
           dunstify --replace=89891 --urgency=critical 'Rdesktop' "No config for $computer";
          ;;
esac

print-rnice - Print on 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 esrf.fr/dehaeze | sed -n 1p)" scp $1 dehaeze@rnice:/home/esrf/dehaeze/Downloads/; then
  # Then print on Rnice
  sshpass -p "$(pass esrf.fr/dehaeze | sed -n 1p)" ssh dehaeze@rnice "lpr -o media=$media -o sides=$sides -o number-up=$nbpage -P ctb127c1w \"/home/esrf/dehaeze/Downloads/$1\"";
  # Finally, delete the file
else
  echo "Command Failed"
fi

tmp14 - Mount/Umount tmp_14_days folder

if [ $1 == "mount" ]; then
    if sshfs -o allow_other,default_permissions -p 5022 dehaeze@firewall.esrf.fr:/tmp_14_days/ ~/mnt/ESRF; then
        dunstify --replace=58249 'ESRF TMP ' 'Successfully mounted'
    else
        dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while mounted'
    fi
elif [ $1 == "umount" ]; then
    if umount /home/thomas/mnt/ESRF/; then
        dunstify --replace=58249 'ESRF TMP ' 'Successfully unmounted'
    else
        dunstify --replace=58249 --urgency=critical 'ESRF TMP ' 'Error while unmounted'
    fi
fi

nas - Interact with the NAS

As an alternative, sshfs can be used:

sshfs -o allow_other,default_permissions nas:/Data ~/mnt/NAS
if [ $1 == "mount" ]; then
    if sshfs -o allow_other,default_permissions homelab:/srv/storage/ ~/mnt/NAS; then
        dunstify --replace=58249 'NAS ' 'Successfully mounted'
    else
        dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while mounted'
    fi
elif [ $1 == "umount" ]; then
    if umount ~/mnt/NAS/; then
        dunstify --replace=58249 'NAS ' 'Successfully unmounted'
    else
        dunstify --replace=58249 --urgency=critical 'NAS ' 'Error while unmounted'
    fi
fi

torrent-add - Download Torrent

transmission-remote <<get-password(passname="ip/homelab")>>:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
    dunstify 'Torrent' 'Successfully added' || \
    dunstify 'Torrent' 'Error'

dl-add - Direct Download with Aria2

aria2p --port 6800 --host http://dl.tdehaeze.xyz --secret $(pass dl.tdehaeze.xyz/tdehaeze | sed -n 1p) add $1

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.

# 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

screen-select - Xrandr pre-defined scripts

option=$(echo -e "Work\nXPS\nHome" | rofi -i -dmenu)

after_screen_change () {
    # Fix background if screen size/arangement has changed.
    setbg

    # Kill polybar
    killall -q polybar

    # Wait until the processes have been shut down
    while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done

    # Launch bars
    polybar top &
}

case "$option" in
    "Work")
        xrandr --output eDP1 --off --output DP1 --off --output DP2 --off --output DP2-1 --off --output VIRTUAL1 --off --output DP2-2 --primary --mode 2560x1440 --pos 0x0 --rotate normal && \
            after_screen_change
        ;;
    "XPS")
        xrandr --output DP1 --off --output DP2 --off --output DP2-1 --off --output VIRTUAL1 --off --output DP2-2 --off --output eDP1 --primary --mode 1920x1080 --pos 0x0 --rotate normal && \
            after_screen_change
        ;;
    "Home")
        xrandr --output eDP1 --off --output DP1 --off --output DP2 --off --output DP2-2 --off --output VIRTUAL1 --off --output DP2-1  --primary --mode 2560x1440 --pos 0x0 --rotate normal && \
            after_screen_change
        ;;
    ,*)
        echo "== ! missing or invalid argument ! =="
        exit 2
esac

exit 0

color-picker - Pick color and copy to clipboard

xcolor | tr -d '\n' | xsel -b

readbib - Open Bibliography File

List all pdf files and open selected one with zathura.

cd ~/Cloud/pdfs/ && ls | rofi -dmenu -lines 20 | xargs -I {} zathura {}

readnotes - Open Note

List all pdf files and open selected one with zathura.

cd ~/Cloud/brain/pdfs/ && ls *.pdf | rofi -dmenu -lines 20 | xargs -I {} zathura {}