lundi 14 septembre 2015

Importer les actions personnalisées de Thunar

Si vous utilisez comme moi Thunar sur toutes vos distributions et que vous appréciez tant les "actions personnalisées" de ce sympathique gestionnaire de fichiers, voici un truc pour récupérer ces scripts simplement et les utiliser sur votre nouvelle "distro".

Si vous avez un /home commun pour vos distros, allez dans votre /home actuel (par exemple: /home/utilisateur2) puis remontez au dossier parent. Vous pourrez ainsi accéder à votre ancien home /home/utilisateur1

  1. Fermez Thunar d'abord... et utilisez un autre gestionnaire de fichier comme Pcmanfm ou Nautilus.
  2. Allez dans /home/utilisateur1/.config/Thunar/ et copiez le fichier uca.xml
  3. Faites une sauvegarde d'abord de votre fichier uca.xml actuel
  4. coller le fichier uca.xml dans votre /home actuel...  /home/utilisateur2/.config/Thunar/
  5. ou modifier votre uca.xml en utilisant l'ancien comme modèle ou en y prélevant ce que vous avez besoin et ajoutez-y les actions qui vous manquent (c'est ce que j'ai fait)
  6. Enregistrez le fichier modifié.
  7. Redémarrez Thunar pour vérifier que les nouvelles actions sont bien opérationnelles.


Si une de vos actions est liée à un script qui reste localisé dans votre ancien /home, ça ne devrait pas poser de problèmes...

uca.xml: Il s'agit d'un fichier *.xml. Les actions sont entre les balises <action>....</action>. L'ensemble des actions sont entre <actions> et </actions> (avec un "s" cette fois)

Ci-dessous, le uca.xml de LinuxLiteOS qui est ma distro actuelle (basée sur Ubuntu et XFCE4). Ça peut servir...

<?xml encoding="UTF-8" version="1.0"?>
<actions>

<action>
 <icon>utilities-terminal</icon>
 <name>Open Terminal Here</name>
 <unique-id>1399555871068455-1</unique-id>
 <command>x-terminal-emulator -t &quot;Command Line&quot;</command>
 <description>Open Terminal Here</description>
 <patterns>*</patterns>
 <startup-notify/>
 <directories/>
</action>

<action>
 <icon>utilities-system-monitor</icon>
 <name>Task Manager</name>
 <unique-id>1399547433001809-1</unique-id>
 <command>xfce4-taskmanager</command>
 <description>Open the Task Manager</description>
 <patterns>*</patterns>
 <directories/>
</action>

<action>
 <icon>/usr/share/icons/Faenza/apps/48/applets-screenshooter.png</icon>
 <name>Screenshot</name>
 <unique-id>1399547487543224-2</unique-id>
 <command>xfce4-screenshooter</command>
 <description>Take a Screenshot</description>
 <patterns>*</patterns>
 <directories/>
</action>

<action>
 <icon>exclamation</icon>
 <name>Open as Administrator</name>
 <unique-id>1399547516520105-3</unique-id>
 <command>gksudo exo-open %f</command>
 <description>Open as Administrator</description>
 <patterns>*</patterns>
 <directories/>
 <audio-files/>
 <image-files/>
 <other-files/>
 <text-files/>
 <video-files/>
</action>

<action>
 <icon>make-exec</icon>
 <name>Make file executable</name>
 <unique-id>1399547548235762-4</unique-id>
 <command>chmod +x %f</command>
 <description>Make file executable</description>
 <patterns>*</patterns>
 <other-files/>
 <text-files/>
</action>

<action>
 <icon>backup-icon</icon>
 <name>Create backup copy</name>
 <unique-id>1399547580066046-5</unique-id>
 <command>cp --backup=t %f %f.backup</command>
 <description>Create backup copy of a file</description>
 <patterns>*</patterns>
 <audio-files/>
 <image-files/>
 <other-files/>
 <text-files/>
 <video-files/>
</action>

<action>
 <icon>media-optical</icon>
 <name>Check MD5SUM</name>
 <unique-id>1415659057033057-1</unique-id>
 <command>zenity --info --title=&quot;Check MD5 for %n&quot; --text=&quot;$(md5sum %f)&quot;</command>
 <description>Checks the MD5SUM of an image file</description>
 <patterns>*.iso;*.ISO;*.img;*.IMG</patterns>
 <audio-files/>
 <image-files/>
 <other-files/>
 <text-files/>
 <video-files/>
</action>

<action>
 <icon></icon>
 <name>Upload to Imgur</name>
 <unique-id>1435762822584591-1</unique-id>
 <command>/home/pat/Scripts/thunar-upload-to-imgur.sh -f %f</command>
 <description>Upload image(s) to Imgur.com</description>
 <patterns>*</patterns>
 <image-files/>
</action>

<action>
 <icon></icon>
 <name>PNG to JPG</name>
 <unique-id>1435761805666028-1</unique-id>
 <command>convert %f -quality 85 %f.jpg `basename %f .png`.jpg</command>
 <description></description>
 <patterns>*.png</patterns>
 <image-files/>
</action>

</actions>


Ci-dessous, le script pour imgur (que j'ai laissé sur mon ancien /home, à sa place d'origine)

#!/bin/sh
#
# Upload a Picture to imgur.
#
# * Put this file into your home binary dir: ~/bin/
# * Make it executable: chmod +x
#
#
# Required Software:
# -------------------------
# * zenity
# * curl
#
#
# Thunar Integration
# ------------------------
#
# Command: ~/bin/thunar-upload-to-imgur.sh -f %f
# File Pattern: *
# Appear On: Image Files
#
#
# Usage:
# -------------------------
# thunar-upload-to-imgur.sh -f  [-w width(int)] [-h height(int)] [-t window-title]
#
# required:
# -f input filename
#
# optional:
#
# -w (gui) width of window (e.g.: -w 800)
# default is 800
#
# -h (gui) height of window (e.g.: -h 240)
# default is 240
#
# -t (gui) window title
# default is filename
#
# Note:
# -------------------------
#
# Feel free to adjust/improve and commit back to:
# https://github.com/pantu/thunar-custom-actions
#


usage() {
echo "$0 -f  [-w width(int)] [-h height(int)] [-t window-title]"
echo
echo " required:"
echo " -f input filename"
echo
echo " optional:"
echo " -w (gui) width of window (e.g.: -w 800)"
echo " default is 800"
echo
echo " -h (gui) height of window (e.g.: -h 240)"
echo " default is 240"
echo
echo " -t (gui) window title"
echo " default is filename"
echo
exit 1
}


while getopts ":f:cw:h:t:" i; do
case "${i}" in
f)
f=${OPTARG}
;;
c)
c=yes
;;
w)
w=${OPTARG}
;;
h)
h=${OPTARG}
;;
t)
t=${OPTARG}
;;
*)
echo "Error - unrecognized option $1" 1>&2;
usage
;;
esac
done
shift $((OPTIND-1))

# Check if file is specified
if [ -z "${f}" ]; then
echo "Error - no file specified" 1>&2;
usage
fi


# Console (TODO:)
# curl -# -F "image"=@"$f" -F "key"="4907fcd89e761c6b07eeb8292d5a9b2a" http://imgur.com/api/upload.xml \
# | grep -Eo '<[a-z_]+>http[^<]+' \
# | sed 's/^<.\|_./\U&/g;s/_/ /;s/<\(.*\)>/\x1B[0;34m\1:\x1B[0m /'



########################## gui output ###############################
[ ! -z "${w##*[!0-9]*}" ] && WIDTH=$f || WIDTH=800
[ ! -z "${h##*[!0-9]*}" ] && HEIGHT=$f || HEIGHT=240
[ -n "${t}" ] && TITLE=$t || TITLE="Uploading to imgur: `basename "${f}"`"



#TEXT=$(curl -F "image"=@"$f" -F "key"="a3793a1cce95f32435bb002b92e0fa5e" http://imgur.com/api/upload.xml | sed -e "s/.*//" | sed -e "s/<.*//")
#zenity --info --title="Imgur Upload" --text="$TEXT"

curl -# -F "image"=@"$f" -F "key"="4907fcd89e761c6b07eeb8292d5a9b2a" http://imgur.com/api/upload.xml \
| grep -Eo '<[a-z_]+>http[^<]+' \
| zenity --width=${WIDTH} --height=${HEIGHT} --text-info --title "${TITLE}" 

Aucun commentaire:

Enregistrer un commentaire

Ajoutez un commentaire mais en bon Français ou éventuellement en bon Anglais. Les commentaires en langage SMS seront supprimés.