Thunar Actions Plugin

important note

If you have a *.pdf viewer, please don’t use this wiki but take a look at the below document:

:projects:thunar-actions-plugin_-_project_description_-_v0.1.1j.pdf

If you want to improve thus documentation, please use the below file:

:projects:thunar-actions-plugin_-_project_description_-_v0.1.1j.odt

The layout of this wiki is not really user friendly, for example it renders terrible on 800×480 resolutions.

project introduction

This is an introduction for a new thunar plugin called thunar-actions-plugin. The plugin will be an evolution on the current existing thunar-uca custom actions plugin.

The reason for the creation of the new plugin is the need for a better system to manage custom actions. This include more standardization and automated options.

The improved system will be based on freedesktop.org standards, and will include .desktop files and mime-type activation.

If you want to help with the plugin project, please contact us bye sending an email to the thunar-dev mailinglist.

The original thunar-custom-actions system right-context-menu list gets far to long, is not organized, hard to maintain, and does not provide interoperability with other file managers. So lots of improvement points:

:projects:old-thunar-custom-actions-22-03-2008-v0.1.1j.png

The improved thunar-action-plugin: The right-context-menu is based on .desktop files, mime-type activation, and smart maintaining options. The below image is a manipulated image, and only gives a visualization idea:

:projects:new-thunar-actions-plugin-22-03-2008-v0.1.1j.png

feature description: (thunar-actions-plugin)

Right context menu generation for thunar filemanager based on freedesktop.org standards with mime-type activation and .desktop files management. The code will be an evolution on the existing custom actions.

  • file extension insensitive
  • case insensitive
  • multi-language support
  • fast
  • manageable
  • gtk desktop integration
  • interoperability
  • molecular
  • based on standards
  • mime-type parsing
  • .desktop file parsing
  • xdg environment parsing

freedesktop.org .desktop specification freedesktop.org mime specification ordering freedesktop.org basedir specification gnome/gtk/mid Human Interface Guidelines

native packaging planning for:

  • fedora
  • debian
  • ubuntu

status:

we are creating small code frameworks to get the key/base technology’s working and documented.

planning:

  • build environment
  • thunarx plugin system
  • context menu framework
  • .desktop parsing
  • mime type parsing
  • creating library’s
  • gtk widgets
  • efficient function from thunar
  • best caching technology’s
  • best querying technology’s
  • merging the technology’s
  • ......

sub application: xdg-gtk-desktop-file-manager

sort of based on:

  • xdg-mime
  • xdg-desktop-icon
  • xdg-desktop-menu
  • update-desktop-database
  • desktop-file-validate
  • desktop-file-install

standard GNOME/GTK/MID HIG compliant application to open .desktop files

  • save .desktop file
  • change standard keywords as in the spec:
  • name
  • genericname
  • comment
  • icon
  • exec (using xdg place holders like %f %F
  • categories
  • onlyshowin
  • mimetype

smart features:

  • enter extensions to get mime type selections
  • enter string to get matching mime type selections
  • typing “image” in the edit box, results in a list of mime-types
  • ...
  • image/x-icon ico
  • image/x-jg art
  • image/x-jng jng
  • image/x-ms-bmp bmp
  • image/x-photoshop psd
  • ...
  • exclude, include and pattern selection to create a list of mime types.
  • some smart gui selection methods molecular auto addition of .desktop keys and values.

sub application: thunar-actions-plugin-settings (optional integration in thunar)

  • shows list of used .desktop files for the context menu (list of action’s)
  • open selected elements with xdg-gtk-desktop-file-manger
  • alphabetic ordering based on environment settings

code flow:

note: needs more documentation, creation of flow diagrams to get a clear structure of the code flow.

  • parsing and caching .desktop files
  • caching .desktop files key elements
  • parsing and caching mime types of selected files
  • filter elements that are common on mime type
  • create context menu, submenus and action

menu-element press event

  • matching of the .desktop file key elements
  • argument ordering based on used placeholder
  • execute command with arguments
 
projects/thunar-actions-plugin.txt · Last modified: 2008/05/11 11:04 by tuxcrafter