Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Thunar - Des actions personnalisées pour se simplifier la vie

Thunar est un gestionnaire de fichier utilisé par défaut dans l'excellent environnement de bureau xfce. Il est possible d'y configurer des actions personnalisées. C'est en fait une façon de se simplifier la vie, en ajoutant des raccourcis lorsque vous cliquez-droit sur un fichier pour par exemple convertir une image en jpg, un fichier mp3 en ogg ou encore uploader un fichier sur la toile.
Voici donc quelques actions personnalisées bien pratiques.

Avant toutes choses, regardons comment configurer les actions personnalisées. Dans thunar, menu Edition, vous avez accès à la configuration :

Après avoir cliqué, cette fenêtre apparaît :


En cliquant sur le “+”, vous pouvez alors ajouter une nouvelle action personnalisée. Vous pourrez alors choisir un nom pour l'action et la commande. N'oubliez pas d'ailleurs de la terminer par %f (nom du fichier traité) ou %F (liste des fichiers traités) par exemple. Il y a aussi un onglet “Conditions d'apparition” pour choisir sur quel type de fichier l'action apparaîtra. Par exemple une action qui ne sert qu'aux images ne doit pas apparaître pour les musiques.


Chercher un fichier avec catfish

La commande à donner est :

catfish --path %f
Dans conditions d'apparition, cochez seulement les répertoires.

Convertir un document en pdf
Commande :
unoconv -f pdf %f
Conditions d'apparition :

Envoyer un fichier comme pièce jointe :
La commande adéquate sera (remplacez éventuellement icedove par thunderbird):
icedove --compose "attachment=%f"
Dans les conditions d'apparition, cochez tous les fichiers sauf répertoire :


Jouer dans quodlibet
La commande :
quodlibet --enqueue %F
Conditions d'apparition : Répertoires et fichiers musicaux

Upload d'une vidéo sur VideoBin.org
C'est déjà décrit ici en fait :)
Commande :
uptovideovin.sh %f
Le script :
#!/bin/sh
 # requiert curl
 URL=$(curl -F"api=1" -F"videoFile=@"$1"" http://videobin.org/add)
 notify-send "Vidéo chargée : $URL"
 x-www-browser "$URL"
 exit 0
Conditions d'apparition : fichiers vidéos

Traitement d'image
Récupérez et enregistrez un des scripts suivant selon ce que vous voulez faire, puis ajoutez-le en commande personnalisée. Les conditions d'apparition seront les fichiers images bien sûr.
image2jpg.sh %F

Conversion audio
Ces deux scripts permettent de convertir un lot de fichiers mp3 en ogg ou l'inverse. Dans les conditions d'apparition, on précisera donc les fichiers musicaux.
Convertir en mp3 - Convertir en ogg

Envoyer une image sur pix.toile-libre.org
Dans la commande, précisez le script pixup.sh que vous enregistrerez dans /usr/local/bin:
#!/bin/sh
 PIXUP=/usr/local/bin/pixup.py

v_=$IFS IFS=" " for i in $@; do file=$i echo "image : $i" URL="$(python3 $PIXUP page $i)" notify-send "image envoyées : $i" & x-www-browser $URL & done

IFS=$v_ exit 0

Et enregistrez aussi le fichier pixup.py dans /usr/local/bin aussi :
#!/usr/bin/env python3
 # -- coding:Utf-8 --
 # Fichier: pixup.py

# requires python3-requests

"""

Auteur : thuban (thuban@yeuxdelibad.net) licence : GNU General Public Licence

Description : Permet d'uploader une image sur pix.toile-libre.org Pratique en utilisation avec un gestionnaire de fichier

"""

try: import sys import os import re import requests import mimetypes except ImportError as err: print ("Couldn't load module. {0}".format(err)) sys.exit(1)

def help(): print('usage : '+os.path.basename(sys.argv[0])+' [all|page|url|minforum|forum|minhtml|html] image') print(' all (default) : affiche toutes les autres url') print(' page : url de la page de cette image sur le site') print(' url : url de l\'image') print(' minforum : BBCode pour afficher une miniature sur un forum PhpBB') print(' forum : BBCode pour afficher l\'image sur un forum PhpBB') print(' minhtml : code html pour afficher une miniature dans un site web') print(' html : code html pour afficher l\'image dans un site web') sys.exit(1)

def verif(argument): if (os.path.isfile(argument)): return argument else: print("Commande ou fichier invalide") sys.exit(1)

def affiche(adresses, opt): if opt == 'page': print(adresses[0]) elif opt == 'url': print(adresses[1]) elif opt == 'minforum': print(adresses[2]) elif opt == 'forum': print(adresses[3]) elif opt == 'minhtml': print(adresses[4]) elif opt == 'html': print(adresses[5]) else: print('Afficher l\'image : ' + adresses[0]) print('Accéder à l\'image : ' + adresses[1]) print('Insérer la miniature dans un forum : ' + adresses[2]) print('Insérer l\'image dans un forum : ' + adresses[3]) print('Insérer la miniature à votre site : ' + adresses[4]) print('Insérer l\'image à votre site : ' + adresses[5])

def upload(image, aff): with open(image, 'rb') as img: mime = mimetypes.guesstype(image)[0] toup = {'img': (os.path.basename(image), img, mime)} res= requests.post('http://pix.toile-libre.org/?action=upload', files = toup, data={'MAXFILE_SIZE': '15360000'}) f = res.text

     adresses=re.findall(r'<textarea>(.*?)</textarea>', f)
     affiche(adresses, aff)
     return(0)

def main(): options=[‘page’, ‘url’, ‘minforum’, ‘forum’, ‘minhtml’, ‘html’] aff=‘all’ if len(sys.argv) == 1 or sys.argv[1] == “help” or sys.argv[1] == “-h” or sys.argv[1] == “–help”: help() elif len(sys.argv) >= 3: aff=sys.argv[1] if aff in options: for i in range(2, len(sys.argv)): image = verif(sys.argv[i]) upload(image, aff) else: for i in range(1, len(sys.argv)): image = verif(sys.argv[i]) upload(image, aff) else: image = verif(sys.argv[1]) upload(image, aff)

 return 0

if name == ‘main’: main()


Et vous, avez vous des scripts ou des astuces pour les actions personnalisées de thunar?

le 26/08/2015 à 13:38:50, Alopex a dit :

OMFG ! Oo' mais c'est trop simple ! comment j'ai pu m'en passer pendant si longtemps ? un grand merci pour cette démystification ! j'aime bien ce genre de petites astuces. Je vais tester de ce pas. J'ai découvert ton blog via l'article dédié d'Arpinux (il a vraiment bien fait de réouvrir) et hop un flux en plus !

le 26/08/2015 à 14:21:42, Thuban a dit :

@Alopex : Salut! :)
Mais de rien, si ça peut être utile ;).
Sacré arpinux, les visites sur mon blog viennent en 2e position de son article désormais :)