การสร้างไฟล์เบราว์เซอร์สำหรับ 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 = "$ *" 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 อักขระจะถูกละเว้น "ถ้า! [$ {# fragment} -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 = \ "$ {# files [@]} พบไฟล์ - $ window_title \" --window-icon = "$ window_icon" --width = "600" --height = "400" --text = \ "ผลการค้นหา : \ "--print-column = 5 --column \" Type \ "--column \" Name \ "--column \" Size \ "--column \" Date modified \ "--column \" Path \ "$ {files [@]}` if [-e "$ selected"] แล้ว "$ filemanager" "$ selected"; fi) | zenity --progress --auto-close --pulsate --title = "กำลังค้นหา ... " --window-icon = "$ window_icon" --text = "กำลังค้นหา \" $ fragment \ "" fi 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>

ตอนนี้สิ่งที่เราเหลือคือการเปิด ธูนาร์ » แก้ไข » ตั้งค่าการกระทำที่กำหนดเอง และเราสร้างใหม่ และเรากรอกข้อมูลในฟิลด์ต่อไปนี้:

ในแท็บ Básico:
ชื่อ: นักแสวงหา
รายละเอียด: นักแสวงหา
คำสั่ง: bash ~ / .bash-scripts / ค้นหาสำหรับไฟล์% f
ไอคอน: เราเลือกสิ่งที่เราชอบมากที่สุด

ที่เหลืออยู่ในลักษณะนี้:

ตอนนี้อยู่ในแท็บ ข้อตกลงและเงื่อนไข ปรากฏฟิลด์ต่อไปนี้:
รูปแบบไฟล์: *
ปรากฏขึ้นหากสิ่งที่เลือกมี: ไดเรกทอรี.

และดูเหมือนว่า:

ตอนนี้ ธูนาร์ เมื่อเราเปิดเมนูด้วยการคลิกขวาตัวเลือกการค้นหาจะไม่ปรากฏขึ้น:

และถ้าเราคลิกที่มันหน้าต่างจะปรากฏขึ้นเพื่อให้เราสามารถแทรกเกณฑ์การค้นหา:

เมื่อเราเริ่มการค้นหาเราจะเห็นสิ่งนี้:

และสุดท้ายผลลัพธ์ของมัน:

หากเราดับเบิลคลิกที่ผลลัพธ์จะมีหน้าต่าง ธูนาร์ กับโฟลเดอร์ที่ไฟล์นั้นอยู่ ด้วยวิธีนี้ทำให้เดสก์ท็อปของเรามีพลังมากขึ้น Xfce.