Advertisement
Guest User

Untitled

a guest
Sep 29th, 2011
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. Petite version pour le script d'imprim-ecran et d'upload sur imgur. Là il se contente d'attendre la sélection de la zone d'écran et l'upload pour mettre un lien pour forum dans le copier collé. Il y a possibilité de régler 2-3 options au début.
  2. (J'ai fait cette petite modif car j'utilise maintenant xfce-screenshooter sous openbox)
  3. [code]#!/bin/bash
  4. # script pour créer rapidement et simplement un screenshot d'une zone du bureau
  5. # et de l'envoyer sur imgur. Vous avez le choix de sauvegarder l'image. Vous récupérez
  6. # un lien disponible en collant le contenu du presse papier sous la forme d'un lien ou
  7. # de BBcode contenant le lien et une miniature. Enjoy!
  8. #
  9. # Copyright (C) 29 Sept. 2011, Rombeaut Rodolphe
  10. # http://scriptam.over-blog.com/
  11. # Released into the public domain.
  12.  
  13. ###### Options ######
  14. #Conserver l'image
  15. CONSERVE=0
  16.  
  17. #Lien pour forum
  18. FORUMLINK=1
  19.  
  20. # changer en LOG=1 pour conserver la liste des urls des images uploadées
  21. LOG=0
  22.  
  23. # changer en TAILLE="s" pour le thumbnail small ou en TAILLE="l" (L minuscule) pour le large
  24. TAILLE="s"
  25. ###################
  26.  
  27. # Vérifier dépendances
  28. for i in xsel curl notify-send scrot
  29. do
  30. [[ ! -x /usr/bin/$i ]] && PAQUETS="${i/notify-send/libnotify-bin} $PAQUETS"
  31. done
  32. [[ -n $PAQUETS ]] && { echo "\
  33. ---Erreur : ${0##*/} dépend de $PAQUETS
  34. Utilisez cette commande pour installer les dépendances :
  35. sudo apt-get install $PAQUETS\
  36. " >&2; exit 1; }
  37.  
  38. # Emplacement du screenshot pour conservation
  39. [ $CONSERVE -eq 1 ] && {
  40. LOCATE=$(zenity --file-selection \
  41. --title="Dossier d'enregistrement" \
  42. --filename="${HOME}/" \
  43. --directory) || {
  44. notify-send Annulation
  45. exit 0
  46. }
  47.  
  48. # Vérifier la présence d'un fichier screenshot dans le dossier
  49. # Si oui renommer en screenshot(X).jpg ou X est un nombre suffisamment élevé pour
  50. # ne pas écraser l'ancien screenshot
  51. [ -f "${LOCATE}/screenshot.jpg" ] && {
  52. b=1
  53. while [ -f "${LOCATE}/screenshot($b).jpg" ] ; do ((b++)) ; done
  54. SCRSHT="${LOCATE}/screenshot($b).jpg"
  55. } || SCRSHT="${LOCATE}/screenshot.jpg"
  56. } || {
  57.  
  58. # Si pas d'option, on envoie en dossier /tmp et on supprime tout ancien fichier
  59. # pour ne pas fausser le test suivant
  60. rm -f /tmp/screenshot.jpg
  61. SCRSHT="/tmp/screenshot.jpg"
  62. }
  63.  
  64. notify-send "Selectionnez la zone à uploader avec la souris"
  65. sleep 2
  66.  
  67. # Cheese! ^^
  68. scrot -s -q 100 -d 1 "${SCRSHT}";
  69. [ -f "${SCRSHT}" ] || {
  70. notify-send "Pas de screenshot effectué"
  71. exit 1
  72. }
  73. URL=$(curl -F "image"=@"${SCRSHT}" -F "key"="5d317f0bee23b282473522e1aa68f621" http://imgur.com/api/upload.xml | grep -Eo '<[a-z_]+>http[^<]+' | sed 's/^<.\|_./\U&/g;s/_/ /;s/<\(.*\)>/\1:\ /' | cut -d ' ' -f3 | head -n1)
  74.  
  75. [ "${LOG}" -eq 1 ] && echo "$(date);${URL}" | tee -a "${HOME}/.${0##*/}.log" ;
  76.  
  77. # Retour à xsel selon option
  78. [ $FORUMLINK -eq 1 ] && {
  79. echo -n "[url=${URL}][img]${URL%.*}${TAILLE}.${URL##*.}[/img][/url]" | xsel -i -b ;
  80. } || {
  81. echo -n "${URL}" | xsel -i -b ;
  82. }
  83.  
  84. notify-send "Image Uploadée";
  85. exit 0 [/code]
  86.  
  87.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement