Skip to content

Instantly share code, notes, and snippets.

@CouldBeThis
Last active December 24, 2022 22:55
Show Gist options
  • Save CouldBeThis/75bdee138b7356cd9c5908520229953c to your computer and use it in GitHub Desktop.
Save CouldBeThis/75bdee138b7356cd9c5908520229953c to your computer and use it in GitHub Desktop.
Thunar custom actions ~/.config/Thunar/uca.xml
<?xml version="1.0" encoding="UTF-8"?>
<actions>
<action>
<icon></icon>
<name>⨁ _Copy path to clipboard</name>
<submenu></submenu>
<unique-id>1671863021510925-2</unique-id>
<command>echo -n %f | xclip -selection &quot;clipboard&quot;</command>
<description>_Copy Current Path</description>
<range>*</range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon></icon>
<name>β‡Ά πŸ—€ New folder with items</name>
<submenu></submenu>
<unique-id>1671861174205655-1</unique-id>
<command>NEW_FOLDER=$(/usr/bin/zenity --entry --title &apos;Move into new folder&apos; --text &apos;Please enter a name for the new folder&apos;) &amp;&amp; mkdir &quot;$NEW_FOLDER&quot; &amp;&amp; mv %F &quot;$NEW_FOLDER&quot;</command>
<description>Select any number of file/folders. A dialog will popup in which you can write the name of a new folder to create. Selected Files will be moved there.</description>
<range>*</range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon>utilities-terminal</icon>
<name>⍄ _Terminal Here</name>
<submenu></submenu>
<unique-id>1633867917298852-1</unique-id>
<command>exo-open --working-directory %f --launch TerminalEmulator</command>
<description>Example for a custom action</description>
<range></range>
<patterns>*</patterns>
<startup-notify/>
<directories/>
</action>
<action>
<icon>system-search</icon>
<name>Search</name>
<submenu></submenu>
<unique-id>1367866030392913-3</unique-id>
<command>catfish %f</command>
<description>find files and folders</description>
<range></range>
<patterns>*</patterns>
<directories/>
</action>
<action>
<icon>application-archive-zip</icon>
<name>πŸ—β‡Ά un _zip to folder</name>
<submenu></submenu>
<unique-id>1634131184762465-33</unique-id>
<command>unzip %f -d %d/%n-unzipped</command>
<description>unzip %f -d %d/%n-unzipped</description>
<range></range>
<patterns>*.zip</patterns>
<startup-notify/>
<other-files/>
<text-files/>
</action>
<action>
<icon>terminator-layout</icon>
<name>留 _Root _terminal here</name>
<submenu>留 root actions</submenu>
<unique-id>1634129811544040-14</unique-id>
<command>pkexec xfce4-terminal --default-working-directory=%f</command>
<description>pkexec xfce4-terminal --default-working-directory=%f</description>
<range></range>
<patterns>*</patterns>
<directories/>
<text-files/>
</action>
<action>
<icon>folder-red</icon>
<name>留 Thunar Root</name>
<submenu>留 root actions</submenu>
<unique-id>1367866030392883-2</unique-id>
<command>pkexec thunar %f</command>
<description>Thunar Root</description>
<range></range>
<patterns>*</patterns>
<directories/>
</action>
<action>
<icon>draw-polygon-star</icon>
<name>留 _Edit file as root (_kate)</name>
<submenu>留 root actions</submenu>
<unique-id>1634130076732119-20</unique-id>
<command>pkexec kate %f</command>
<description>pkexec kate %f</description>
<range></range>
<patterns>*</patterns>
<startup-notify/>
<directories/>
<text-files/>
</action>
<action>
<icon>emblem-symbolic-link</icon>
<name>⟴ _Make _sym _link</name>
<submenu></submenu>
<unique-id>1634130062541926-19</unique-id>
<command>ln -Ts %f %n&quot;-ln&quot;</command>
<description>ln -Ts %f %n&quot;-ln&quot;</description>
<range></range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon>insert-link</icon>
<name>⍈ _Make _hard _link</name>
<submenu></submenu>
<unique-id>1634130130971567-22</unique-id>
<command>ln %f %n&quot;-hardlink&quot;</command>
<description>ln %f %n&quot;-hardlink&quot;</description>
<range></range>
<patterns>*</patterns>
<directories/>
<other-files/>
<text-files/>
</action>
<action>
<icon>meld</icon>
<name>β‰  Compare selected files/directories</name>
<submenu></submenu>
<unique-id>1634130280296473-24</unique-id>
<command>meld %F</command>
<description>Compare files and directories with meld</description>
<range></range>
<patterns>*</patterns>
<directories/>
<text-files/>
</action>
<action>
<icon>baobab</icon>
<name>πŸ–΄ View disk usage of the current directory</name>
<submenu>πŸ–΄ diskuse</submenu>
<unique-id>1634130206678804-23</unique-id>
<command>baobab %d</command>
<description>baobab %d</description>
<range></range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon></icon>
<name>πŸ–΄ size - total</name>
<submenu>πŸ–΄ diskuse</submenu>
<unique-id>1635103957659535-2</unique-id>
<command>du -h -c %N | grep total | zenity --text-info</command>
<description>total size of selected item(s)</description>
<range></range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon></icon>
<name>πŸ–΄ size - each + total</name>
<submenu>πŸ–΄ diskuse</submenu>
<unique-id>1635103991434009-3</unique-id>
<command>du -chs %N | zenity --text-info</command>
<description>If multiple items selected, will display total size as well as size of each one seperately.</description>
<range></range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon></icon>
<name>β˜‘ Change Multiple File Permissions</name>
<submenu></submenu>
<unique-id>1671863451022346-4</unique-id>
<command>ans=$(zenity --height=350 --list --text &quot;change files permissions&quot; --checklist --column &quot;pick&quot; --column &quot;options&quot; TRUE &quot;user-read&quot; TRUE &quot;user-write&quot; FALSE &quot;user-exec&quot; FALSE &quot;group-read&quot; FALSE &quot;group-write&quot; FALSE &quot;group-exec&quot; FALSE &quot;all-read&quot; FALSE &quot;all-write&quot; FALSE &quot;all-exec&quot; --separator=&quot;:&quot;); if [ &quot;$ans&quot; != &quot;&quot; ]; then searchuserread=&quot;user-read&quot;; searchuserwrite=&quot;user-write&quot;; searchuserexec=&quot;user-exec&quot;; user1=&quot;0&quot; ; user2=&quot;0&quot; ; user3=&quot;0&quot; ; searchgroupread=&quot;group-read&quot;; searchgroupwrite=&quot;group-write&quot;; searchgroupexec=&quot;group-exec&quot;; group1=&quot;0&quot; ; group2=&quot;0&quot; ; group3=&quot;0&quot; ; searchallread=&quot;all-read&quot;; searchallwrite=&quot;all-write&quot;; searchallexec=&quot;all-exec&quot;; all1=&quot;0&quot; ; all2=&quot;0&quot; ; all3=&quot;0&quot; ; case $ans in *&quot;$searchuserread&quot;*) user1=&quot;4&quot; ;; esac ; case $ans in *&quot;$searchuserwrite&quot;*) user2=&quot;2&quot; ;; esac ; case $ans in *&quot;$searchuserexec&quot;*) user3=&quot;1&quot; ;; esac ; case $ans in *&quot;$searchgroupread&quot;*) group1=&quot;4&quot; ;; esac ; case $ans in *&quot;$searchgroupwrite&quot;*) group2=&quot;2&quot; ;; esac ; case $ans in *&quot;$searchgroupexec&quot;*) group3=&quot;1&quot; ;; esac ; case $ans in *&quot;$searchallread&quot;*) all1=&quot;4&quot; ;; esac ; case $ans in *&quot;$searchallwrite&quot;*) all2=&quot;2&quot; ;; esac ; case $ans in *&quot;$searchallexec&quot;*) all3=&quot;1&quot; ;; esac ; u=$(($user1 + $user2 + $user3)) ; g=$(($group1 + $group2 + $group3)) ; a=$(($all1 + $all2 + $all3)) ; result=&quot;$u$g$a&quot; ; chmod $result %F || { zenity --error --text=&quot;an error occurred!\ncheck if you are allowed\nto change permissions\nof the selected files&quot;; } ; fi</command>
<description>Allows user to change file permissions of one or multiple files with small GUI. </description>
<range>*</range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
<action>
<icon>kr_diskusage</icon>
<name>πŸ–΄ Disk Usage (baobab)</name>
<submenu>πŸ–΄ diskuse</submenu>
<unique-id>1622791401529558-3</unique-id>
<command>baobab %d</command>
<description>Disk usages by directory and its sub directories as a pie chart</description>
<range></range>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
</actions>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment