Log in

No account? Create an account
awesomes maximus - gary_kramlich [entries|archive|friends|userinfo]

[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

awesomes maximus [Sep. 4th, 2007|07:05 pm]
If a picture is worth a thousand words, does that mean that a movie is 1000 * FrameRate * Duration?

While you're pondering that, take a gander at this.

It doesn't look like much, but theres a lot going on in the backend. I start by running guifications-daemon. Then I go on to launch guifications-gtk and open up the feeds window. Finally I start pidgin with a profile directory that loads purple-guifications by default.

What you see, is that the feed is automagically added to the gf-gtk feeds window. Now most of you will go, big deal, you're just using a D-Bus signal. And to that end, you're partially right.

In guifications3 communication is abstracted and everything must interact at a gobject level. What does this mean? The server and cients can't touch dbus directly.

So what you are really seeing is purple-guifications talking to gfd via a remote object (which just happens to be connected through D-Bus). The object in the gfd then emits a glib signal saying that a feed was added. Then there is a proxy object inside of gflib-dbus that is connected to the feed-added signal, and transmits it over D-Bus as a D-Bus signal. Then theres a proxy on the client side that listens for the D-Bus signal, and re-emits it as a glib signal.

Needless to say, this movie is worth a lot more than 1000 words, since it is, in fact, a major breakthrough for one of the outstanding issues I've been having with guifications3.