[pygtk] [on gnome] finding registered applications + icon(s) for MIME type

Lara Michaels laramichaels1978 at yahoo.com
Sat Feb 20 01:33:32 WST 2010


Hi Osmo,

Many thanks for your excellent help. That works perfectly for my purposes. 

Just one question: how can I find out which *command* (not just the name of the executable) gets executed when I use one of those applications returned by gio.gio.app_info_get_all_for_type?

In GNOME vfs, I got back a structure in which the third element was the actual command string, eg:

> app = gnomevfs.mime_get_all_applications('text/plain')[1]
> print app[2]
wine start /ProgIDOpen txtfile
>

I thought that in GIO get_commandline() [http://library.gnome.org/devel/pygobject/stable/class-gioappinfo.html#method-gioappinfo--get-commandline]  would do that for me, but I can't seem to get it to work on Python:

> app = gio.app_info_get_all_for_type('text/plain')[1]
> app.get_commandline()
AttributeError

In pygtk how can I get the command that is run when this app is used to launch a file?

Many thanks for your help,

lara

--- On Fri, 2/19/10, Osmo Maatta <osmoma at gmail.com> wrote:

> From: Osmo Maatta <osmoma at gmail.com>
> Subject: Re: [pygtk] [on gnome] finding registered applications + icon(s) for MIME type
> To: 
> Cc: "Lara Michaels" <laramichaels1978 at yahoo.com>, pygtk at daa.com.au
> Date: Friday, February 19, 2010, 8:47 AM
> 
> 
> 
>   
> 
>  
> Typo.
> 
> The reference should be 
> 
>  
> http://code.google.com/p/gscreendump/source/browse/trunk/src/sd_interface.c
> 
> 
> 
> 
> 
> 
> 
> Osmo Maatta wrote:
> Hello,
>   
> 
>   
> 
> In my Gscreendump app I've used the following code.
>   
> 
> http://code.google.com/p/gscreendump/source/browse/trunk/src/sd_interface.
>   
> 
> Search for "g_app_info_get_all_for_type"
> function.
>   
> 
>   
> 
> That converted to Python becomes:
>   
> 
>   
> 
> import gio
>   
> 
>   
> 
> # Mime type
>   
> 
> mime_type = "image/png"
>   
> 
>   
> 
> # Get list of supported apps
>   
> 
> l = gio.app_info_get_all_for_type(mime_type)
>   
> 
> print "l=", l
>   
> 
>   
> 
> # For each app (GAppInfo *app) in the list
>   
> 
> # See:
> http://library.gnome.org/devel/pygobject/stable/class-gioappinfo.html
>   
> 
> for app in l:
>   
> 
>    app_id = app.get_id()
>   
> 
>   
> 
>    # Returns gio.Icon object. Read the manual
> page.
>   
> 
>    app_icon = app.get_icon()  
> 
>    app_name = app.get_name()
>   
> 
>   
> 
>    print "app_name=%s  id=%s 
> icon=%s" % (app_name, app_id, app_icon)
>   
> 
>   
> 
>   
> 
> # To start an application, do
>   
> 
> app.launch_uris("/home/moma/Screenshots/screenshot046.png",
> None)
>   
> 
> Check the manual page before using this.
>   
> 
> -------------
>   
> 
>   
> 
> // Moma Antero
>   
> 
>   
> 
>   
> 
>   
> 
>   
> 
> 
> 
> 
>  
> 
> 


      


More information about the pygtk mailing list