Home

Awesome

Thunar Custom Actions

Build Status

The following actions can also be used in nautilus or any other file manager that supports custom actions. I personally prefer thunar because of speed.

If any of the actions don't work anymore (especially the upload ones), please report here, so I can fix it.


Latest added action:


Actions

Multimedia

Thunar Convert to PNG thunar-convert-to-png.sh

Type GUI
This action converts any image file to a png image. (Should also work with layered PSD files).
Requirements: convert
Thunar settings:

namevalue
NameConvert to png
Commandthunar-convert-to-png.sh -f %f
File pattern*
Appear onImage files

Thunar Convert to JPG thunar-convert-to-jpg.sh

Type GUI
This action converts any image file to a jpg image. (Should also work with layered PSD files).
Requirements: convert
Thunar settings:

namevalue
NameConvert to jpg
Commandthunar-convert-to-jpg.sh -f %f
File pattern*
Appear onImage files

Thunar Media Info thunar-media-info.sh

Type GUI
This action pops up a zenity-based window and displays encoding information for an audio or video file.
Requirements: zenity and ffmpeg
Thunar settings:

namevalue
NameMedia info
Commandthunar-media-info.sh -f %f -t %n
File pattern*
Appear onAudio files, Video files

Thunar Convert Video to Gif thunar-video-to-gif.sh

Type GUI
This action pops up a zenity-based window (or via read on the shell) asking for the final video width and creates a high quality gif from your input video.

High quality gif: This is achieved by doing a two-way-run. The first run creates the color palette from the video and the second run creates the gif based on that palette.

Requirements: ffmpeg
Optional: zenity for gui output
Note: Works for cli-only (-c) or via zenity-gui Thunar settings:

namevalue
NameVideo to Gif
Commandthunar-video-to-gif.sh -f %f
File pattern*
Appear onVideo files

Security

Thunar Openssl Encrypt/Decrypt thunar-openssl-encrypt-decrypt.sh

Type GUI
This action will encrypt/decrypt a file based on openssl's symmetric encryption.
Requirements: openssl and zenity
Thunar settings:

namevalue
NameOpenssl Encrypt/Decrypt
Commandthunar-openssl-encrypt-decrypt.sh -f %f
File pattern*
Appear onEverything

For detailed explanation and screenshots see this blog entry: alan-mushi.github.io

Thunar GPG Encrypt thunar-gpg-encrypt.sh

Type GUI
This action pops up a zenity-based window letting you choose from your gpg recipients and encrypts and signs the file with your chosen gpg key. (Asymmetric encryption).
Requirements: gpg, zenity and pinentry-gtk-2
Thunar settings:

namevalue
NameGPG Encrypt
Commandthunar-gpg-encrypt.sh -f %f
File pattern*
Appear onEverything

Thunar GPG Decrypt thunar-gpg-decrypt.sh

Type GUI
This action pops up a terminal window for password entry and decrypts the file with your private gpg key. (Asymmetric encryption).
Requirements: gpg
Todo: Make gui-based password entry form.
Thunar settings:

namevalue
NameGPG Decrypt
Commandurxvtcd -e thunar-gpg-decrypt.sh -f %f
File pattern*
Appear onOther files

Thunar Sign thunar-gpg-sign.sh

Type GUI
This action pops up a zenity-based window, let's you choose from a list of your secret keys and creates an ascii-armored separate signature file.
Requirements: gpg and zenity
Thunar settings:

namevalue
NameGPG Sign
Commandthunar-gpg-sign.sh -f %f
File pattern*
Appear onOther files

Thunar GPG Info thunar-gpg-info.sh

Type GUI
This action pops up a zenity-based window and displays information about the encryption of the current file. (Asymmetric encryption).
Requirements: gpg and zenity
Thunar settings:

namevalue
NameGPG Info
Commandthunar-gpg-info.sh -f %f
File pattern*
Appear onOther files

Thunar GPG Verify Signature thunar-gpg-verify-signature.sh

Type GUI
This action pops up a zenity-based window and displays verification information about the gpg signature.
Requirements: gpg and zenity
Thunar settings:

namevalue
NameGPG Verify Signature
Commandthunar-gpg-verify-signature.sh.sh -f %f
File pattern*
Appear onOther files

Uploads

Thunar Paste to Gist thunar-paste-to-gist.sh

Type GUI
This action pastes a text file to gist (in private mode) and pops up a zenity-based window displaying the paste url (shortened). Additionally the paste url will also be copied to clipboard.
Requirements: zenity and gist
Thunar settings:

namevalue
NamePaste to gist
Commandthunar-paste-to-gist.sh -f %f
File pattern*
Appear onText files

Thunar Paste to Pastebin thunar-paste-to-pastebin.sh

Type GUI
This action pastes a text file to pastebin and pops up a zenity-based window displaying the paste url.
Requirements: zenity and curl
Note: The pastebin API only allows 25 pastes per free account per every 24 hours. I have added two API keys inside the source. If however you plan on using this thunar action, make sure to get your own API key and replace it. The second thought I had is not to use the API directly, but try to use the normal upload form via curl so that no API key is required at all.
Todo: Expand file type recognition to set the proper syntax highlighting scheme for var PB_API_FORMAT.
Thunar settings:

namevalue
NamePaste to pastebin
Commandthunar-paste-to-pastebin.sh -f %f
File pattern*
Appear onText files

Thunar Upload to Imgur thunar-upload-to-imgur.sh

Type GUI
This action uploads an image file to imgur and pops up a zenity-based window displaying the upload url.
Requirements: zenity, gawk, curl
Note: Upload key is included :-)
Todo: Evaluate if it is possible to get rid of gawk requirement.
Thunar settings:

namevalue
NameUpload to imgur
Commandthunar-upload-to-imgur.sh -f %f
File pattern*
Appear onImage files

Thunar Upload to Postimage thunar-upload-to-postimage.sh

Type GUI
This action uploads an image file to postimage.org and pops up a zenity-based window displaying the upload url.
Requirements: zenity, gawk, curl
Todo: Evaluate if it is possible to get rid of gawk requirement.
Thunar settings:

namevalue
NameUpload to postimage
Commandthunar-upload-to-postimage.sh -f %f
File pattern*
Appear onImage files

General Setup

All actions require the -f parameter which specifies the file to work on. Prior Thunar/Nautilus integration you can test them all on the command line to make sure they do what they are supposed to do:

thunar-action.sh -f /path/to/file

The equivilent thunar command would be:

/path/to/thunar-action.sh -f %f

Note about substitutions in Thunar:

%f    The path to the first selected file
%F    The paths to all selected files
%d    Directory containing the file that is passed in %f
%D    Directory containing the files that are passed in %F
%n    The first selected filename (without path)
%N    The selected filenames (without paths)

TODO / Ideas

Contributions

Thanks to the following for contributing:

License

license