Re: GMenuModel has landed



On Mon, 2011-12-12 at 10:18 +0100, Stefan Sauer wrote:
> On 12/12/2011 03:24 AM, Matthew Brush wrote:
> > On 12/11/2011 12:14 PM, Stefan Sauer wrote:
> >> On 12/09/2011 01:00 AM, Ryan Lortie wrote:
> >>> hi,
> >>>
> >>> Today I landed the GMenuModel work on glib master.  A release will be
> >>> following shortly.
> >>
> >> Just one quick question - why is this in GLib? Is that to allow
> >> command-line apps to have a menu?
> >>
> >
> > I tried to ask this here a day or two ago but had problems, so I asked
> > Ryan on IRC. The answer is that it's in GIO rather than GLib and there
> > is precedence; GIcon for example.
> >
> > My (probably misguided) opinion is that if this type of stuff can't go
> > into GTK+ for some reason, there should be a `glib-ui` or `glib-gnome`
> > library or something like this.  I have doubts how many apps linking
> > to GIO without GTK+ are going to need such a model, either because
> > they don't have a UI at all or are using some other toolkit which
> > likely provides a mechanism of its own for this.
> 
> I think this is not so easy. Having a glib-app library sounds goo, but I
> believe we don't want to have too many mini libraries. On the other hand
> I wouldn't look for it in gio either.

I know not everyone is so crazy about the idea, but perhaps this
will be a good starting point for implementing a decent desktop
IPC environment.

For an example that I'm familiar with, currently Glade has to
invoke DevHelp and detect DevHelp existence entirely through
the command line.

Ideally Glade, IMO should simply be activating the 'search' action
on the DevHelp entitiy.

>From my very limited understanding of GMenuModel, essentially this
is only a wrapper around GActions and action groups, implements a
hierarchy of actions and such with some probable merging/pathing
sugar apis, those actions will be accessible by other programs on
the Bus.

Some of those programs *might* happen to be a desktop environment
that wants to display menus from these hierarchical actions which
have been assigned a special token such as "I am the App menu", other
applications might very well not have anything to do with displaying
menus at all... perhaps a11y technologies could be transparently
integrated into a system that exports good introspection via the
GMenuModel, perhaps one could use GMenuModel to extend their 
application with a sister application which syncs the application 
state with some database or webserver interface... simply by
adding the extra program, starting it and giving it access to
the bus.

Point being that just because having a hierarchical structure of actions
exported on the bus might be useful for a desktop menuing system, does
not mean that it's not a useful concept when applied in different
ways... it might rather be called 'GActionModel' and then just by it's
name have much more relevance in libgio...

Just 2 extra cents...

Cheers,
       -Tristan




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