إنشاء متصفح ملفات لـ Thunar مع Zenity

تم نشر هذا المقال منذ وقت طويل في بلدي مدونة قديمة عن Xfce، استنادًا إلى مقال آخر تم نشره في مدونة Xubuntu وأتركهم هنا مرة أخرى.

ما سنفعله هو إنشاء ملف بحث عنه ثونار باستخدام زينتي. أول شيء يتعين علينا القيام به هو تثبيت zenity:

$ sudo aptitude install zenity

ثم نفتح المحطة ونضع:

$ mkdir ~/.bash-scripts/

بهذه الطريقة نقوم بإنشاء دليل يحتوي على البرنامج النصي الذي سينفذ الإجراء نفسه. الآن نقوم بإنشاء ملف يسمى البحث عن الملفات من الداخل على النحو التالي:

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

ونقوم بلصق هذا بالداخل:

#! / bin / bash # search-for-files # قم بتغيير هذا الرقم ليناسبك - أجد zenity يموت من حوالي 1000 نتيجة ولكن YMMV maxresults = 500 # مرة أخرى ، قم بتغيير المسار إلى الرمز ليناسب نفسك. لكن من لا يحب التانغو؟ window_icon = "/ usr / share / icons / Tango / scalable / Actions / search.svg" # سيعمل هذا النص البرمجي مع أي بيئة بها bash و zenity ، لذا فإن مدير الملف متروك لك تمامًا! يمكنك إضافة وسيطات إضافية إلى السلسلة طالما أن الوسيطة الأخيرة هي مسار المجلد الذي تفتحه filemanager = "thunar" window_title = "Search for Files" srcPath = "$ *" إذا! [-d "$ srcPath"] ؛ ثم cd ~ / srcPath = `zenity - file-selected --directory --title =" $ window_title - Look in folder "--window-icon =" $ window_icon "` fi if [-d "$ srcPath"] ؛ ثم fragment = "zenity --entry --title =" $ window_title - الاسم يحتوي على: "--window-icon =" $ window_icon "--text =" تم تجاهل سلاسل البحث الأقل من حرفين "` إذا! [$ {# fragment} -lt 2] ؛ ثم (صدى 2 O = $ IFS IFS = ملفات $ '\ n' = (`اعثر على" $ srcPath "-iname" * $ fragment * "-printf \"٪ Y \ "\"٪ f \ "\ \" ٪ k \ KB \ "\"٪ t \ "\ \"٪ h \ "\\\ n | head -n $ maxresults`) IFS = $ O echo 10 محدد =` EVAL zenity --list --title = \ "$ {# ملفات [@]} تم العثور على ملفات - $ window_title \" --window-icon = "$ window_icon" --width = "100" --height = "600" --text = \ "نتائج البحث: \ "- عمود الطباعة = 400 - العمود \" النوع \ "- العمود \" الاسم \ "- العمود \" الحجم \ "- العمود \" تاريخ التعديل \ "- العمود \" المسار \ " $ {files [@]} `if [-e" $ selected "] ؛ ثم" $ filemanager "" $ selected "؛ fi) | zenity --progress - auto-close --pulsate --title = "Searching ..." --window-icon = "$ window_icon" --text = "البحث عن \" $ fragment \ "" fi exit

ونمنحه أذونات التنفيذ:

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
الأيقونة: نختار أكثر ما نفضله.

البقاء على هذا النحو:

الآن في علامة التبويب حيث تظهر الحقول التالية:
نمط الملف: *
يظهر إذا كان التحديد يحتوي على: دليل.

ويبدو مثل هذا:

الآن ثونار عندما نفتح القائمة بالنقر بزر الماوس الأيمن ، لا يظهر خيار البحث:

واذا نقرنا عليها ستظهر نافذة حيث يمكننا ادخال معايير البحث:

عندما نبدأ البحث ، سنرى شيئًا كهذا:

وأخيرًا النتيجة:

إذا نقرنا نقرًا مزدوجًا فوق النتيجة ، فستظهر نافذة ثونار مع المجلد حيث يوجد الملف. بهذه الطريقة نمنح سطح المكتب قوة أكبر إكسفس.