Good evening list During the past couple of weeks, I've been working on a spec for intents (best name I could come up with).
Intents are a way for applications to programatically describe what functions they are able to fulfill. They go hand-in-hand with MIME types, which describe on what type of content they are able to fulfill such functions. For example, while eog and Gimp may register the same MIME types, Gimp would have an "Image Editor" intent, while eog would have an "Image Viewer" intent. The idea behind this spec is to: - Streamline the ways to describe some default applications in desktop environments (default web browser, terminal emulator, ...) - Provide a way for applications to get and set the default application for an action *without* having to pass it a mime-based argument (eg "Open the default Web Browser" instead of "Open http://google.com"). - Make it possible to open different applications on the same file/MIME type, depending on what the application wants to do (eg: "Open in your default image editor" from an image viewer) I originally brought this up on the Razor-Qt mailing list: https://groups.google.com/forum/?fromgroups#!topic/razor-qt/LV8StxmvDns The spec is a great occasion to keep consistency up; it would be quite similar to the MIME type spec. In three major parts: - A description of intents in .desktop files (Intent=Intent1;Intent2;Intent3) - A way for users to override intents, like mimeapps.list (intents.list) - A front-end application to open and set intents without having to link to an xdg library (xdg-intent) I recommend reading the above link for more insight into the idea. One point I'd like to stress: Intents free to be chosen by the developer; XDG would recommend specific intent names for specific actions (eg: ImageEditor for editing images). However, should a developer want to give an intent to an use case that has not been specifically listed by XDG (say, a twitter client), they would be free to choose their own. If more apps appear with the same use case, xdg would do well to list an official intent. An unanswered question still remains: the naming scheme for each intent. Two obvious options stand: - A MIME-style naming scheme: intent/image-editor. I am not convinced it's the best way to go as developers might get confused between the separation of intents and mime types (intents are *not* mime types) - A simple name, maybe with periods. ImageEditor, SystemSettings, SystemSettings.Audio, xdg.intent.SystemSettings.Audio. Would love to gather some more feedback from this list before writing a spec. I also want to write some tools for it, including a python library and, essentially, xdg-intent. J. Leclanche
_______________________________________________ xdg mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/xdg
