Hacking bits

Some stuff I’ve been working on recently:

  • Hints were added to the notification spec, and now it’s possible to display notifications at a given position in the screen. So I changed the weather applet to use it:


    The battery applet had been already changed, so now the notifications look much better.
  • Added an option to gnome-screensaver-preferences to enable/disable locking.
  • Ported gnome-passwd patch from NLD to openSuSE. This includes a small applet to replace the kdepassword thing that we were using in previous versions.
  • I have been receiving some feedback about my entry about bringing more UNIX power to the desktop. Specially interesting is Nautilus actions, a tool that allows the addition of custom entries to the Nautilus popup menus. I think integrating this with the scripting feature in Nautilus could be a very a good idea, allowing users to easily create their scripts/custom menu items. As I get feedback, I’m adding things to the wiki, so please, if you’ve got something to add, add it there.

Also, very happy to see cairo 1.0 out. Now, I hope, we will start using it to make the desktop a pleasure to look at.

UNIX power for GNOME!

One of the things I miss the most in GNOME is having access to many operations I still do on the command line. So, since I am not sure how all this should be implemented, I am looking for ideas for how to have access to those operations in an easy/GNOME-ish way from the GUI.

Not that I will implement all that myself, but it’s been long waiting in my notes folder, so I think I’d start sharing it for having more opinions. So, I’ve created a page on the GNOME wiki to start putting in clean all my ideas and so that other people can add their own. So please, if you have good ideas on this, please add them to that page.

Message of the day

The other day someone mentioned the need for taking more advantage of the UNIX features in the desktop. Specifically, message of the day, talk/wall/finger were mentioned, in a need to take advantage of the multi user features we have. So, since I agree with what was said, I went through the addition of showing the message of the day (/etc/motd) at the beginning of the GNOME session.

Since it adds new strings and features, this can’t be added for 2.12, so I’m posting it here to get some comments (like if all distros use /etc/motd) and hopefully post it for inclusion after 2.12 is branched. The patch is here.

Notifications

The problem with notifications is, in my opinion, that the specification was created, starting more than a year ago IIRC, in the freedesktop.org lists, which not all GNOME people follow or pay any attention at all. Thus, once some GNOME people devote time to write implementations of those specs created in freedesktop.org, and start using those implementations in GNOME software, it comes really undiscussed by a wider GNOME audicence into GNOME. That’s what has happened with the libnotify/notification-daemon thing.

I see a few solutions for not having this happen in future:

  • we just forget about freedesktop.org and just use desktop-devel-list for all discussions, so that all interested people can participate. While I don’t like this solution, it seems freedesktop.org hasn’t gained all the support from neither GNOME nor KDE that we would have liked, so maybe is it a lost cause?
  • we decide freedesktop.org is the place to discuss cross-desktop specifications and have a wider control of what is being discussed there. Maybe it would be enough, to start with, to have a few people participating in freedesktop.org discussions inform regularly desktop-devel-list of every specification being discussed.
  • We create that ‘GNOME design team’ people are talking about, that produces regularly ideas about new features, then passes them over to developers that implement them.

Also, Colin, since I can’t post comments to your blog, why will John write a new implementation using the new bubble widget? Can’t notification-daemon be just changed to use this new widget?

Libro GNOME 0.0.3

Slowly but without stop, the team working on the GNOME Programming Book in Spanish have just published the version 0.0.3 of the book.

Although still missing a few parts, the book is now in a state where it can serve as a perfect base for learning GTK/GNOME programming. The GTK part should be now complete, as well as some other parts, like GConf, GnomeVFS, CORBA, Glade/libglade,… Also, what is interesting about this book is that most content has been written by the team working on the book, it’s not just a translation.

As always, the team need help, so if you can read Spanish, please have a look at the book and report any bug you find. If you can write Spanish and know about GTK/GNOME programming, please join the team.

Also, we want to publish the book sometime in the future, so if there’s any publisher around reading this interested in this book, please get in contact, we’ll be glad to have it published 🙂

The official announcement, in Barrapunto is here.

GNOME Screensaver slideshows

William Jon McCann, gnome-screensaver maintainer, has added a new theme that provides a slideshow of images. To provide a good set of defaults, we are going to add a few default slideshows (Cosmos, Forest, and Beach). For cosmos, we have been getting images from NASA, which, AFAIK, are in the public domain and available for use (please correct me someone if that’s not true). For forest and beach slideshows, we need pictures, so this is a CFP (Call For Pictures) from people about forests and beaches.

We have decided on a small condition for each one:

  • For beach pictures, they should be very relaxing.
  • For forest pictures, they should be somewhat mysterious.

So, if you have good photos with these requirements, and provided the photos are yours and you really want to donate them for the GNOME cause to be included in gnome-screensaver, please add a comment here with a link to the picture.

Also, it would be really nice to have some cairo/glitz expert to help in improving the code for the slideshow theme, optimizing and animating (pan and zoom) the slideshow. The code is in gnome-screensaver CVS module.

Tenerife

Was last week for 4 days in Adeje, in the Canary Islands, for an event organized by the Universidad de La Laguna with talks and workshops about Free Software.

Since I had only two mornings scheduled, I took 3 days of vacation in order to have a mini holiday. “Unfortunately”, Yolanda had found a job the week before (in the Diario de Noticias, a local newspaper, yay!), so she couldn’t come with me. Fortunately, the people I met there (included Grex, who I hadn’t seen for a couple of years) were really nice, so I had cool people to hang around with.

So, on Thursday, I did a workshop on GTK programming. I couldn’t teach too much, since there were only 2 hours and there were a few people that didn’t even know C, so I had to lose some time explaining basic things, like what “int main (int argc, char *argv[])” means. It was a pity, not for me, but for the people that had a good knowledge of Linux/C/GNOME, that wanted the workshop to be much more advanced than what it was. I had, at the end of the workshop, to evaluate the students on an exercise (completing the GUI for a simple text editor I wrote while explaining). Since there was little time left, people were not able to write much code, so I just looked at whether they were trying to use the correct functions. The result of that was that everyone but 2 people passed, and those 2 did not pass because they both told me they had understood nothing, and it wouldn’t have been morally correct to have them pass. I think I wouldn’t be a good teacher, since I was a bit sad of not having those 2 people pass and even trying for a few seconds to find an excuse to have them pass.

The second day there was, as the closing session for the event, a BOF about advantages and disadvantages of Free Software. Before that, Teresa, one of the organizers, and Sociology teacher at the University, had given a talk about Free Software and society, which turned up to be splendid. During this BOF, a guy (whose name I don’t remember) said that one of the bad things about Free Software was lack of documentation, with “the exception of GNOME, which is very well documented”. Of course, I thought I was dreaming, and offered him a beer for saying that. What he meant was that he had found Devhelp (which I told them to install during my workshop) a very good piece of software. And I think he was right, only on that though, because, as we all know, we lack a lot of documentation, specially step-by-step tutorials for beginners. So, this means that once we get those tutorials written, accompanied with the cool API documentation in Devhelp (and its search feature, which simply rocks), we should be able to say we’re fully documented.

Apart from the talks, very nice to hang around with Teresa, René (and Marina, his girlfriend) and the other guys. A pity I forgot to bring my camera, because there were very nice landscapes to take a photo of, like the Teide (the highest peak in Spain), which I saw from the plane in an incredible view, or the sunsets from the beach. Anyway, I hope to come back to the islands again.

GNOME Screensaver

gnome-screensaver is, for those who don’t know, the new screensaver solution for GNOME, with better HIG dialogs and a much better integration into the desktop than the old xscreensaver.

I have been looking and testing it lately, and after all that testing and a security audit by the SuSE security team, I can say everything works great.

There was only one thing missing, which was the lack of more screensavers by default, so went ahead and wrote a patch to make it use xscreensaver hacks by default:

This is still not in CVS, since I have a little problem with the –with-xscreensaver-hacks argument I’m adding to configure, but will be soon sent upstream.