Hi Kimmo,

Thank you very much for your answer.

It is good to know what the actual mechanism does, but so far I was unable to tell Hildon-Desktop to even care about my applets. Basically what I do is create a window and set the appropriate X properties to make it a homescreen applet. As far as I understand, Hildon-Desktop uses gconf keys to store the positions and stuff of the applets (the applets coming from hildon-home and the osso-abook-home-applet process also have gconf keys), but for reasons beyond my understanding, these gconf keys don't get created for my applets.

What I really need is a way to tell HD "Hey, start caring about these applets too!" As far as I can see, creating a window and making it a homescreen widget is not enough to achieve this. Maybe manually setting the appropriate gconf keys would do the trick, but I'm not really sure about this either. Could you please give me some clues about what I should do?

Cheers,
Timur

-----Original Message----- From: HämäläinenKimmo
Sent: Tuesday, October 12, 2010 5:07 PM
To: extKristófTimur
Cc: maemo-developers@maemo.org
Subject: Re: How to create homescreen widgets from a separate process?

On Mon, 2010-10-11 at 14:46 +0200, ext Kristóf Timur wrote:
Hi guys,

I have an interestion question. Been trying to figure it out for quite some
time now, with limited success so far.
I would like to have a way of creating homescreen widgets from inside a
separate (non hildon-home) process. (For example, by clicking on a button
from inside an application, or something like this.)
I was able to put together a solution which is able to do this, but as it
turns out, it ultimately fails on some important things. It is able to
restore the previous position of the homescreen widgets after a restart, but
it is ultimately flawed as it's unable to also restore the z-order of the
widgets (the order in which the desktop widgets are stacked on top of each
other).

As I see it, the osso-abook-home-applet is able to do just what I want. It
manages the contact widgets in its own process and is also able to remember
the exact homescreen position and z-order of these widgets correctly.
So, I'm curious about how the osso-abook-home-applet is able to do this. It
is closed source so I can't look at its source code. I also think that
libhildondesktop may hold the answers that I need, but unfortunately it is
largely undocumented, so I can't really figure this one out on my own.

The Z ordering happens in hildon-desktop, see
hd_home_view_restack_applets() in
http://maemo.gitorious.org/fremantle-hildon-desktop/hildon-desktop/blobs/master/src/home/hd-home-view.c

It uses "modified time" to stack the most recent uppermost. That is
reset when ever tapping on an applet (see hd_home_view_applet_press()).

Perhaps if you look at the code, you can find a way to stack it up (e.g.
storing the modified time to GConf with your applet ID, or sending a
fake ButtonPress event).

-Kimmo


If anyone has a clue about how to do this, I'd be more than happy if you
guys could help me with this.

Thanks,
Timur Kristóf
(Venemo)

_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

_______________________________________________
maemo-developers mailing list
maemo-developers@maemo.org
https://lists.maemo.org/mailman/listinfo/maemo-developers

Reply via email to