¿Quieres registrarte?

Crear un buscador para Thunar

Por: elav
22 de Septiembre del 2009
1221 de clabLevel
Otros artículos de elav
802 visitas

Thunar es el explorador de archivos por defecto del entorno de escritorio para Unix/GNU/Linux Xfce que además de ser intuitivo es muy cómodo, ligero y fácil de usar. A pesar de que los desarrolladores están añadiéndole nuevas características como por ejemplo gestos de ratón, aún le faltan accesorios básicos como por ejemplo: un buscador. Es por ello que mediante este tip vamos a crear uno el cual tendremos disponible en el menú contextual que nos aparece al oprimir el clic derecho como se ve en la imagen posterior.



Para lograr esto lo primero que tenemos que hacer es instalar zenity:

Código :

$ sudo aptitude install zenity

Luego abrimos la consola y ponemos:

Código :

$ mkdir ~/.bash-scripts/

para crear un directorio que contendrá el script que ejecutará la acción en si. Ahora creamos un fichero llamado search-for-files adentro de la siguiente forma:

Código :

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

y le pegamos esto adentro:

Código :

#!/bin/bash
#search-for-files
# change this figure to suit yourself - I find zenity dies from about 1000 results but YMMV
maxresults=500

# again, change the path to the icon to suit yourself. But who doesn't like tango?
window_icon="/usr/share/icons/Tango/scalable/actions/search.svg"

# this script will work for any environment that has bash and zenity, so the filemanager is entirely down to you! you can add extra arguments to the string as long as the last argument is the path of the folder you open
filemanager="thunar"

window_title="Search for Files"

srcPath="$*"

if ! [ -d "$srcPath" ] ; then
cd ~/
srcPath=`zenity --file-selection --directory --title="$window_title - Look in folder" --window-icon="$window_icon"`
fi

if [ -d "$srcPath" ] ; then

fragment=`zenity --entry --title="$window_title - Name contains:" --window-icon="$window_icon" --text="Search strings less than 2 characters are ignored"`
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[@]} Files Found - $window_title\" --window-icon="$window_icon" --width="600" --height="400" --text=\"Search results:\" --print-column=5 --column \"Type\" --column \"Name\" --column \"Size\" --column \"Date modified\" --column \"Path\" ${files[@]}`
if [ -e "$selected" ] ; then "$filemanager" "$selected" ; fi

) | zenity --progress --auto-close --pulsate --title="Searching..." --window-icon="$window_icon" --text="Searching for \"$fragment\""

fi

fi

exit

y le damos permisos de ejecución:

Código :

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

Ahora haces un backup del fichero uca.xml:

Código :

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

al que le pondremos al final esto:

Código :

<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>


Ahora lo que nos queda es abrir Thunar » Editar » Configurar acciones personalizadas y creamos una nueva. Y llenamos los siguientes campos:
En la pestaña Básico:



Ahora en la pestaña Condiciones de apariencia lo siguientes campos:

Patrón de archivo: *
Aparece si la selección contiene: Directorio.

Y listo!!!

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas linux

Comentarios | Enviar un comentario
mi navegador por defecto es nautilus

Mi distro es ubuntu y mi escritorio es Gnome, Thunar ni siquiera lo tengo instalado
Por: Inyaka
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.