Improving GNOME Volume Manager



The most annoying issue of GNOME volume manager is that you have to
manually write the command line to manage the inserted media.

I like to open (or comment if it yet exist) a bug against it, but I like
to know if my proposed solution is implementable.

------
1. Define MIME types

To handle something, we need a descriptor, so first of all we have to
define MIME types for
	* blank CD/DVD   (media/blank-cd/dvd ?)
	* audio CD	 (media/audio-cd ?)
	* video DVD	 (media/video-dvd ?)
	* camera	 (media/camera ?)

Of course those are 'fake' MIME definition, just to implement point 2. I
don't think we need to put them in shared-mime-info package, but maybe
this could helpful for desktop interoperability.

------
2. Use the new MIME system

Now that MIMEs are available, applications can notify to desktop their
ability to manage them using .deskop files. For example nautilus-cd-
burner can notify that it's an application to manage media/blank-cd and
media/blank-dvd adding a file just like

	[Desktop Entry]
	Encoding=UTF-8
	Name=Open CD/DVD creator
	Comment=Copy files that you want to write on blank disc in a special
folder.
	NoDisplay=true
	TryExec=nautilus-cd-burner
	Exec=nautilus burn://
	Terminal=false
	Type=Application
	Categories=GNOME;Application;System;
	MimeType=media/blank-cd;media/blank-dvd

Of course those desktop entries should not appear under Application
menu, but only in gnome-volume-manager preferences dialog. The Name
option should contain a short description of an action.


Notes:
        <quote>NoDisplay means "this application exists, but don't
        display it in the menus". This can be useful to e.g. associate
        this application with MIME types, so that it gets launched from
        a file manager (or other apps), without having a menu entry for
        it</quote> - This is exactly what n-v-m needs

        <quote>TryExec: File name of a binary on disk used to determine
        if the program is actually installed. If not, entry may not show
        in menus, etc.</quote> - This explain why Exec and TryExec
        arguments are different

------
3. Use those new stuff in capplet

Every fake mime has a section in g-v-m capplet, as follow

	<b>Blank CD/DVD Disks</b>
	
	    [x] Perform action when inserting a blank CD/DVD disk
	    Available actions: [Open CD/DVD creator             v]
	    Action details:    Copy files thay you want to write
		               on blank disc in a special folder.
	    Custom command:    |_________________________________|

The "Available actions" dropdown selection lists all available desktop
entry for related MIME, plus a "Run custom command" entry to external
apps.

Of course Custom command entry is insensitive if not selected in action
list, but could be used to show the command line of selected action.

-------------------

Open Questions

      * Do you think it's a reasonable proposal?
      * Where implement MIME definition? (shared-mime, gnome-vfs, gnome-
        mime-data, gnome-volume-manager?) And _how_ ??
      * Do g-v-m have to provide one .desktop file for each mime to act
        like default action? Note that if the linked application is not
        installed, then the TryExec option helps us to hide the action
        from the list.
      * How can users simply add new actions for (old, legacy)
        applications that don't follow this spec? No, manually edit a
        new desktop file is not simple. What about something like drag
        the related menu entry from application menu to action list and
        ask for a name and a comment? This is very MacOS IMHO :-) Of
        course g-v-m have to extract relevant info and create a new
        desktop file.
      * Do ve have to add a media/photo-cd (and similar) to manage
        CD/DVD containing photos too?
      * Other ?

-- 
Luca Ferretti <elle uca libero it>




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]