Створення файлового браузера для Thunar за допомогою Zenity

Ця стаття була давно опублікована в моєму старий блог про Xfce, заснована на іншій статті, опублікованій у Блог Xubuntu і я залишаю їх тут знову.

Ми збираємося створити пошук файлів Тунар використання Зенітність. Перше, що нам потрібно зробити, це встановити zenity:

$ sudo aptitude install zenity

Потім відкриваємо термінал і ставимо:

$ mkdir ~/.bash-scripts/

Таким чином ми створюємо каталог, який міститиме сценарій, який буде виконувати саму дію. Тепер ми створюємо файл з назвою пошук файлів всередині наступним чином:

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

і ми вставляємо це всередину:

#! / bin / bash # search-for-files # змініть цю цифру на свій розсуд - я виявляю, що бадьорість вмирає приблизно з 1000 результатів, але YMMV maxresults = 500 # знову, змініть шлях до піктограми, як вам потрібно. Але хто не любить танго? window_icon = "/ usr / share / icons / Tango / scalable / actions / search.svg" # цей скрипт буде працювати в будь-якому середовищі, яке має bash і zenity, тому менеджер файлів повністю залежить від вас! Ви можете додати додаткові аргументи до рядка, поки останній аргумент є шляхом до папки, яку ви відкриваєте filemanager = "thunar" window_title = "Шукати файли" srcPath = "$ *" if! [-d "$ srcPath"]; тоді cd ~ / srcPath = `zenity --file-selection --directory --title =" $ window_title - Шукати в папці "--window-icon =" $ window_icon "` fi if [-d "$ srcPath"] ; тоді fragment = `zenity --entry --title =" $ window_title - Ім'я містить: "--window-icon =" $ window_icon "--text =" Рядки пошуку менше 2 символів ігноруються "` if! [$ {# фрагмент} -lt 2]; тоді (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 = \ "$ {# файлів [@]} Знайдено файлів - $ window_title \" --window-icon = "$ window_icon" --width = "600" --height = "400" --text = \ "Результати пошуку : \ "--print-column = 5 --column \" Type \ "--column \" Name \ "--column \" Size \ "--column \" Дата зміни \ "--column \" Path \ "$ {files [@]}` if [-e "$ selected"]; тоді "$ filemanager" "$ selected"; fi) | zenity --progress --auto-close --pulsate --title = "Пошук ..." --window-icon = "$ window_icon" --text = "Пошук \" $ фрагмента \ "" fi fi вихід

і ми надаємо йому дозволи на виконання:

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

Тепер ми робимо резервну копію файлу uca.xml:

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

до якого ми закінчимо це:

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

Тепер нам залишилось відкрити Тунар » Редагувати » Налаштуйте спеціальні дії і ми створюємо новий. І ми заповнюємо такі поля:

Табуляція Основний:
Ім'я: Шукач
Опис: Шукач
Команда: bash ~ / .bash-scripts / search-for-files% f
Значок: ми вибираємо ту, яка нам найбільше подобається.

Залишаючись таким чином:

Тепер у вкладці Умови з'являються наступні поля:
Шаблон файлу: *
З'являється, якщо виділення містить: Довідник.

І це виглядає так:

Зараз Тунар коли ми відкриваємо меню правою кнопкою миші, параметр пошуку не відображається:

І якщо ми натиснемо на нього, з’явиться вікно, куди ми зможемо вставити критерії пошуку:

Коли ми розпочнемо пошук, ми побачимо приблизно таке:

і нарешті результат цього:

Якщо ми двічі клацнемо на результаті, відкриється вікно Тунар з папкою, де знаходиться файл. Таким чином ми надаємо нашому робочому столу набагато більше потужності Xfce.