Créer un navigateur de fichiers pour Thunar avec Zenity

J'ai publié cet article il y a longtemps sur mon ancien blog consacré à Xfce , en me basant sur un autre article publié sur le blog Xubuntu , et je le partage à nouveau ici.

Nous allons créer un outil de recherche de fichiers pour Thunar à l'aide de Zenity . La première étape consiste à installer Zenity :

$ sudo aptitude install zenity

Ensuite, nous ouvrons un terminal et mettons:

$ mkdir ~/.bash-scripts/

Cela crée un répertoire qui contiendra le script exécutant l'action. Nous créons ensuite un fichier nommé search-for-files à l'intérieur, comme suit :

mousepad ~/.bash-scripts/search-for-files

et nous collons ceci à l'intérieur:

#! / bin / bash # search-for-files # changez ce chiffre pour vous convenir - je trouve que zenity meurt à partir d'environ 1000 résultats mais YMMV maxresults = 500 # encore une fois, changez le chemin de l'icône en fonction de vous-même. Mais qui n'aime pas le tango? window_icon = "/ usr / share / icons / Tango / scalable / actions / search.svg" # ce script fonctionnera pour n'importe quel environnement qui a bash et zenity, donc le gestionnaire de fichiers est entièrement à vous! vous pouvez ajouter des arguments supplémentaires à la chaîne tant que le dernier argument est le chemin du dossier que vous ouvrez filemanager = "thunar" window_title = "Search for Files" srcPath = "$ *" if! [-d "$ srcPath"]; then cd ~ / srcPath = `zenity --file-selection --directory --title =" $ window_title - Regardez dans le dossier "--window-icon =" $ window_icon "` fi if [-d "$ srcPath"] ; then fragment = `zenity --entry --title =" $ window_title - Le nom contient: "--window-icon =" $ window_icon "--text =" Les chaînes de recherche de moins de 2 caractères sont ignorées "` if! [$ {# fragment} -lt 2]; then (echo 10 O = $ IFS IFS = $ '\ n' files = (`find" $ srcPath "-iname" * $ fragment * "-printf \"% Y \ "\ \"% f \ "\ \" % k \ KB \ "\ \"% t \ "\ \"% h \ "\\\ n | head -n $ maxresults`) IFS = $ O echo 100 selected =` eval zenity --list --title = \ "$ {# files [@]} Fichiers trouvés - $ window_title \" --window-icon = "$ window_icon" --width = "600" --height = "400" --text = \ "Résultats de la recherche : \ "--print-column = 5 --column \" Type \ "--column \" Name \ "--column \" Size \ "--column \" Date de modification \ "--column \" Path \ "$ {files [@]}` if [-e "$ selected"]; then "$ filemanager" "$ selected"; fi) | zenity --progress --auto-close --pulsate --title = "Recherche ..." --window-icon = "$ window_icon" --text = "Recherche de \" $ fragment \ "" fi fi exit

et nous lui donnons des autorisations d'exécution:

chmod a+x ~/.bash-scripts/search-for-files

Maintenant, nous faisons une sauvegarde du fichier uca.xml:

$ sudo cp /etc/xdg/Thunar/uca.xml /etc/xdg/Thunar/uca.xml.old

auquel nous mettrons à la fin ceci:

<action>
<icon>/usr/share/icons/Tango/scalable/actions/search.svg</icon>
<name>Search for Files</name>
<command>bash ~/.bash-scripts/search-for-files %f</command>
<description>Search this folder for files</description>
<patterns>*</patterns>
<directories/>
</action>

Il faut maintenant ouvrir Thunar » Édition » Configurer les actions personnalisées et en créer une nouvelle. Ensuite, il faut remplir les champs suivants :

Cliquez sur l'onglet Basique:
Nom: Rechercher
Description: Rechercher
Commande: bash ~ / .bash-scripts / recherche-de-fichiers% f
Icône: nous sélectionnons celui que nous aimons le plus.

Restant de cette manière:

Maintenant dans l'onglet Conditions apparence les champs suivants:
Modèle de fichier: *
Apparaît si la sélection contient: Annuaire.

Et ça ressemble à ça:

Dans Thunar, lorsque l'on ouvre le menu par un clic droit, l'option de recherche n'apparaît pas :

Et si nous cliquons dessus, une fenêtre apparaîtra où nous pourrons insérer les critères de recherche:

Lorsque nous commencerons la recherche, nous verrons quelque chose comme ceci:

et enfin le résultat:

Un double-clic sur le résultat ouvrira une fenêtre Thunar affichant le dossier contenant le fichier. Cela améliore considérablement les performances de notre environnement de bureau Xfce.


Ajouter comme source préférée dans Google