literate-dotfiles/binaries-private.org

6.8 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 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=$media -o sides=$sides -o number-up=$nbpage -P ctb110c1u ~/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 mount /home/thomas/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 /home/thomas/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 ***REMOVED***:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
      dunstify 'Torrent' 'Successfully added' || \
      dunstify 'Torrent' 'Error'

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

share - Share file with self-hosted transfer.sh

  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

screen-select - Xrandr pre-defined scripts

  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

color-picker - Pick color and copy to clipboard

  xcolor | xsel -b