Re: 3rd party application integration guidelines - how to be a good shell citizen?



On Mon, 25 Apr 2011 00:21:34 +0100, Rui Tiago Cação Matos
<tiagomatos gmail com> wrote:

> Applications that don't need to deal with live resources should just
> serialize their state to storage in such a way that the user can close
> the window at any time (even by mistake) but quickly launch it again
> and be at the *exact* same point where they were at the time the
> window as closed.

Yes. A big help to get there would be native support for this directly
in GTK+ for widgets where it makes sense.

> For applications that deal with live resources such as mail clients,
> they could be designed to be run "headless" i.e. when you close the
> window, the view (as in MVC) process goes away but the model (again,
> as in MVC) process remains running and able to make notifications,
> etc.

Yes, but the question remains: How is a headless application
represented in GNOME Shell? How does the user send an application to
the background, given that the minimize button is gone? Is it
really a good idea to go for the inconsistency and just not exit these
applications on window close, but send them to the background instead?

It is desirable to have some kind of feedback that the mail user agent
is still "living" in the background, and that the user can expect to be
notified of incomming mail? Or that Skype is still logged in, and the
user is set up to receive incomming calls? I think it is.

Traditionally, a tray icon has been used for this. Applications that
minimize to tray are kind of headless already. Now, I agree that the
tray has many problems, and better interfaces should be looked into.
Unity and KDE decded to go for their indicators. I don't want to start a
discussion whether the indicator design is good or not, but as a 3rd
party application developer that wants to go the extra mile and blend
into a desktop, I know what to do on GNOME 2, Unity, and KDE -- but not
on GNOME 3. Which is unfortunate, as that's the platform I care about
the most.

Holger


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