Buoh first public release

Yeah! Buoh, the online comics reader for GNOME desktop, is released yet. Don’t wait more!, go ahead, download it and try it out.

I’m very happy for steve-o and zioma, since they started this nice project for learning GTK+/GNOME development and Buoh is a real application right now. In addition it seems people like it, it has a really high qualification in gnomefiles.org.

Busy Busy Busy!

Yeah, I’m even more busy than when I was studying for the exams. But at least I’m doing funny things right now πŸ™‚

Zaragoza

The GNOME meeting that took place in Zaragoza was really nice, specially thanks to dexem for the organization. We could talk about the book of GNOME Hispano, GNOME System Tools and since the whole buoh team was there, we also could work on the buoh for a while.

But everything wasn’t work, the night in the RNR bars of Zaragoza was pretty funny!

GNOME Hispano book

As I promised, I’ve started to write in the book, although I haven’t committed anything yet. I hope I can commit something soon.

Evince

I love selection feature of evince! I’ve been working in some improvements like allowing drag and drop of text selected.

Buoh

Buoh, the online comics reader for GNOME Desktop, is very close to a first public release! Zioma is writing a spinner based on the ephy code for providing a better feedback when loading a comic. Steve-o has done a great work getting the first publication date for each comic in order to allow going to the first one.

GNOME System Tools

I know garnacho needs help with the new gst architecture if we want to have it ready for GNOME 2.14. I hope I can start helping soon . . .

ACME

I’ve just discovered wily, it’s an acme (the programming environment for Plan 9) for Linux. It’s available as a debian (or ubuntu) package.

acme
Wily: acme for Linux

Anyway, I think I’m going to use emacs for studying plan9 . . . (I hope nemo doesn’t read my blog πŸ˜› )

GUADEC-ES

We are in the second day of the II GUADEC-ES. I think everybody is here now, even garnacho who lost the plane.

Corunia plane
A CoruΓ±a

Rodrigo has talked about how to write plugins for evolution, very interesting, everybody can write new features for evolution now, without patching the evolution code.

The organization of the event is simply perfect. Thanks to all of the people who are working on it

There is a problem with rss of the acs’ blog and it doesn’t work in planeta GNOME Hispano, you can get more updated information about the guadec-es in acs.barrapunto.com

acs blog
Acs posting about GUADEC-ES

A month without writing anything

I’ve been very busy the last days and lots of things have been happened.

GNOME

My paper for the II GUADEC Hispana was accepted. I’m going to talk about the desktop integration in GNOME, I hope the talk will be interesting for the people. The schedule is available in the GUADEC-ES website yet

Interesting discussion about GNOME and fun started by Edd Dumbill on Planet GNOME.

Evince is more and more fast and useful, and it’s the best rated application in gnomefiles right now. Jrb has added support for continuous and dual scrolling, one of the most requested features that in addition I think make the difference with other pdf/ps viewers.

University

Many works to do . . . It’s the moment to be focused only in uni stuff. There is only one month until the exams

No Software Patents: There were a protest in most of the spanish universities and of course in the URJC too. There are photos of the event in the ACM website. There are also photos and comments in the steve-o’s blog.

Basketball

Today, I’m going to play the last game of the 2004-2005 season for me. There is another one in two weeks, but I’ll be at GUADEC-ES then. I’m a little bit sad because the league is over, but in the other hand, I’m very happy remembering all of the games played.

The next Friday, there will be a 3 vs 3 championship in my uni (URJC). I already have a team πŸ™‚ with steve-o and gabi. I’m sure it will be very funny

Hello Remote World!

Some days ago, ross posted in his blog a very interesting example of how to do a RPC with DBus/GObject by using the DBus glib bindings. I’ve taken this example as base for playing with widgets embedded. Basically I’ve created a label to be embedded in a container. The container also will be able to change the text of the label by doing a method invocation.

The xml file that describes the object is as simple as:

 <?xml version="1.0" encoding="UTF-8" ?> <node name="/org/freedesktop/DBus/Tests/Label">   <interface name="org.freedesktop.DBus.Tests.Label">   <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="label"/>     <method name="GetXid">     <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="label_get_xid"/>     <arg type="u" name="xid" direction="out"/>    </method>     <method name="SetText">     <annotation name="org.freedesktop.DBus.GLib.CSymbol" value="label_set_text"/>     <arg type="s" name="text" direction="in"/>    </method>   </interface> </node> 

The method SetText only changes the current text of the label and the implementation is:

 gboolean label_set_text (Label *label, char *text, GError **error) {         gtk_label_set_text (GTK_LABEL (label->label), text); 	gtk_widget_show (label->label);  	return TRUE; } 

The method GetXid is used by the container to obtain the window ID of the label, which is needed to be able to embed it. The code is also very simple:

 gboolean label_get_xid (Label *label, guint32 *xid, GError **error) {         *xid = label->xid;  	return TRUE; } 

The container is a window with an entry and a frame. The frame is the real container of the label, and the entry is used to input the text for changing the label. First of all the container invokes the GetXid method in order to obtain the window ID of the label:

 if (!org_freedesktop_DBus_Tests_Label_get_xid (proxy, &xid, &error)) { 	die ("Call to get_xid failed", error); } 

When the activate signal of the entry is emitted the callback invokes the SetText method of the label:

 static void on_entry_activate (GtkWidget *entry, gpointer gdata) {         DBusGProxy *proxy;         gchar      *text;         GError     *error = NULL;          proxy = (DBusGProxy *) gdata;          text = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));          if (!org_freedesktop_DBus_Tests_Label_set_text (proxy, text, &error)) {                 g_free (text);                 die ("Call to set_text failed", error);         }  	g_free (text); } 
Hello Remote World
Hello Remote World

I think it’s a first approach for using DBus instead of bonobo

Governor Selecting

I’ve just committed the changes which add support to change the governor with the frequency selector. I didn’t know how to exactly add it, so finally I’ve chosen what I think it’s the less bad option.

CPUFreq Applet Preferences dialog
CPUFreq Applet Preferences dialog

Frequencies menu Governors menu Frequencies and governors menu
Frequencies menu Governors menu Frequencies and governors menu

Maybe the names of the governors are technical and difficult to understand for the users