Category Archives: GNOME

Wrapping up the GNOME a11y hackfest

Published / by mario / 1 Comment on Wrapping up the GNOME a11y hackfest

As I told in my previous post, I’ve spent the last week in Seville attending the GNOME Accessibility Hackfest, which was an amazing experience to me, so I guess now it’s time to talk about some (mostly personal and subjective) conclusions.

First of all, let’s repeat this was the first time I attended an a11y related hackfest, and from that point of view the experience was even better and more rewarding than what I’d expected. Meeting other a11y developers in real life and putting faces to them, along with being able to check the real needs that people demand from assistive technologies was an awesome experience, and way richer than just having a list of bugs in need of getting fixed.

Up to this point, I can say that one of the best things I extracted from the hackfest is that I’ve learned, with real-life living examples, why implementing certain kind of stuff in the WebKitGTK port is so important for people with diverse kind of impairements, and even learned to prioritize and value different a11y related issues so I could make the most of my work to be more effective when helping, with my humble 2 cents in my daily work, to make the next release of GNOME a good one also from the point of view of accessibility. Obviously, there’s still a long road ahead to keep learning and improving, but I think this is a good achievement anyway, if you ask me.

Other than that, together with Joanmarie Diggs, we managed to move some important things forward related to the integration of WebKitGTK based applications and the ORCA screen reader, so now the “ORCA experience” with the web is clearly better compared to how it was some months ago (or at least that’s what Joanmarie says, and I trust her). In this regard, I feel specially proud of the advancements we’ve been doing with the implementation of the AtkHypertext/AtkHyperlink related stuff, which makes the experience of “screen reading” a web page way better and more complete than how it would be without that feature. And I mention this stuff here, because that’s precisely what I’ve been working on most of the time during the hackfest and  because, even though it’s still a provisional patch pending on some final tweaks to be proposed for review, I hope it will be soon integrated in WebKitGTK…. (you know, ‘hope’ is a so beautiful word… but I feel somehow confident with this stuff, “let’s hope I’m right” :-)).

So, as you can see I have reasons to be very happy about the results of the hackfest, even if we all were somehow jinxed because one reason or another, and the overall result of all this stuff is that I clearly felt a boost in my motivation to keep working on this stuff and to keep helping to improve the overall status of the accessibility from my beloved WebKit world… which is not that bad, IMHO.

My birthday cake coming from the GNOME a11y team, by Juanje OjedaLast but not least, I have to say there was room as well for having a lot of fun (“All work and no play makes Jack a dull boy”) with my mates from the GNOME accessibility team, who even had prepared a surprise for me in the shape of a cake to celebrate my birthday (see the picture below, by Juanje Ojeda).

Thank you guys! It was a really really nice experience! Let’s repeat it soon in the future… but as for now, let’s get back to work!

Attending to the GNOME a11y hackfest

Published / by mario / 2 Comments on Attending to the GNOME a11y hackfest

As my mate Alejandro said back in June, next week the 1st AEGIS international conference will take place in Seville, Spain, and there I’ll be attending, together with him, the GNOME Accessibility Hackfest that is planned to happen there as a parallel event to the conference (see AEGIS web page or GNOME live wiki, for more details).

As for me, this is the first time I attend to an a11y-related hackfest and I must said I’m quite excited about it, as been there should be the perfect scenario to work hard on moving things forward related to a11y support in the WebKitGTK platform, which has been what I’ve been working on most of the time during the last months here in Igalia, as part of our WebKit team.

On top of that, this is also going for me the first time I’ll meet in real life some people I usually work with in a regular basis since I started working on a11y-related stuff in WebKitGTK, such as the always helpful Joanmarie Diggs, who patiently answers all my doubts about those bugs blocking ORCA support, for instance.

Because of all this, I have great expectations about this hackfest, both as a personal experience (from the most selfish point of view you can imagine) and as a great boost to all the work being currently done to improve GNOME as an accessible platform towards the GNOME 3.0 release.

Can’t wait!


Published / by mario / 1 Comment on GWAH-DEC!

After having a great time last week in the seventh edition of the GUADEC-ES conference in A Coruña, I’m now announcing, in the same way some of my mates from Igalia already did, that…

I am attending GUADEC

I’ve arrived yesterday to Den Haag, along with most of the Igalia gang (still some of us coming tomorrow), and will be here just until Friday  morning, since I’ll need to miss the last day of GUADEC to attend my brother’s wedding. So, don’t hesitate to talk to me if you see me hanging around and want to share something, chat, or just to get a nice Igalia shirt… or even something different, who knows…

For more information, I’ll basically be in the Haagse Hogeschool most of the time during the day, and maybe in the hall of the hotel at night, although I can’t promise much about that because the time slot after dinner will be the only moment I’ll have to walk around the city in this my first visit to the Netherlands.

And by the way… if you’re expecting to see a long hair guy I must warn you that won’t be possible, at least for the moment.

And that’s all, I guess… see you in GUADEC!

PS: Did I say we have a new website? Check it out here.

Calentando motores para la GUADEC-ES

Published / by mario / 1 Comment on Calentando motores para la GUADEC-ES

Con motivo de la celebración de la VII GUADEC Hispana (o GUADEC-ES) una invasión de GNOME hackers y allegados invadirán tierras coruñesas durante toda la semana que viene, y esta vez no estará María Pita para defender la ciudad, por lo que si todo transcurre como debería, y no hay nubes de ceniza ni cosas por el estilo, la Facultad de Informática de la Universidad de A Coruña acogerá durante dos días 19 ponencias/talleres sobre temas diversos relacionados con GNOME, como comentó Chema en su blog recientemente.

La conferencia será un evento “de amplio espectro”, donde tienen cabida tanto aquellas personas ya involucradas en la comunidad GNOME desde hace tiempo, como aquellos otros perfiles menos iniciados que quieran iniciarse o simplemente conocer más acerca de esta comunidad, tanto a nivel de usuario como de desarrollador, ya que habrá ponencias de todos los gustos, niveles y formas.

Por mi parte, y por lo que parece leyendo el programa de la conferencia, me tocará dar dos charlas en las mañana del Jueves y el Viernes acerca de dos temas que ocupan desde hace unos meses mi día a día en Igalia:

  • WebKit (desde el punto de vista de GNOME), proyecto en el cual trabajo actualmente intentando mejorar el estado de la accesibilidad en su port para GTK+ (WebKitGTK+), aunque el ámbito de la charla no será restringido a ese aspecto exclusivamente, sino a dar una visión global del estado del arte, últimas mejoras realizadas y una perspectiva del futuro de la plataforma
  • git, el sistema de control de versiones distribuido que uso actualmente y que, al menos en mi opinion (y diría que no estoy sólo), es uno de los mejores DVCS hoy en día. La charla-taller estará enfocada a aquellas personas interesadas en empezar a usar git o, al menos, en conocer en que consiste y que se puede hacer con este sistema. No será una charla avanzada pero se asumirán conocimientos básicos de otros VCS no distribuidos, como CVS o Subversion.

Y nada más creo… simplemente decir que nos vemos la semana que viene y que estoy deseando que empiece ya la conferencia, a pesar de que no voy a poder asistir a todas las ponencias (al menos a las de la tarde) por tener que atender mis nuevas obligaciones… aunque “sarna con gusto no pica”, no?

Aunque quien sabe… quizás aún así me pasaré por la tarde de visita con un GNOME hacker muy especial :-)

Nos vemos!

Trying latest epiphany/WebKit in Ubuntu

Published / by mario / 16 Comments on Trying latest epiphany/WebKit in Ubuntu

Even though I’ll be stating the obvious for so many ubuntu users/developers reading this post, I’d like to post a quick recipe for those who don’t know how to easily install the latest version of epiphany with the WebKit backend, as well as all the needed dependencies, without having to mess with compiling the source code (which is not always an easy nor a quick task, by the way).

So here we go

  1. First of all, this only works for Ubuntu Jaunty or Karmic, since there are no PPAs available for previous distros to install Epiphany (WebKit PPAs provided since Hardy).
  2. Add the PPA’s from the WebKit Team both for installing latest version of WebKit and Epiphany. So, that is, add the following lines to your /etc/apt/sources.listfile (replace ‘karmic’ with ‘jaunty’ if needed):
    deb karmic main
    deb-src karmic main 
    deb karmic main
    deb-src karmic main
  3. Import the GPG key of the repo in APT:
    sudo apt-key adv --keyserver --recv-keys 2D9A3C5B
  4. Update APT packages cache:
    sudo apt-get update
  5. Install the needed packages:
    sudo apt-get install epiphany-browser epiphany-browser-dataepiphany-extensions
  6. Just wait and let APT to do its magic :-)

And that’s all. After those simple steps you should be enjoying the last version of  this great and amazingly fast browser (2.29.6 at the time of writing this post), which is nowadays under heavy development, continuously getting better, better and even better on its roadmap towards GNOME 2.30.

So, what are you waiting for? Just go ahead and give it a try if you haven’t done it yet and make it your default browser ;-). Now you don’t have to manually compile all the needed stuff you just don’t have any good excuse not to do it.

And don’t forget to report any issue you find in the bugzilla. Remember feedback (and patches, of course) is the best way to help with improving it even more!

Ah! by the way, almost forgot to say that…

I’m attending FOSDEM

…as another member of the Igalia gang hanging around there this weekend.

See you there guys!

[Update 2010/01/04] As commented by zerwas, there’s an even easier way from Karmic on:

  1. Add the PPA’s from the WebKit Team both for installing latest version of WebKit and Epiphany:
    sudo add-apt-repository ppa:webkit-team/ppa
    sudo add-apt-repository ppa:webkit-team/epiphany
  2. Update APT packages cache:
    sudo apt-get update
  3. Install the needed packages:
    sudo apt-get install epiphany-browser epiphany-browser-dataepiphany-extensions

Porting Frogr 0.2 to Maemo 5

Published / by mario / 5 Comments on Porting Frogr 0.2 to Maemo 5

During the last days (well, actually during the last nights [*]), I’ve been spending some time in adapting frogr 0.2 to also compile and work on my brand new N900 (thanks Igalia!), and this is the humble result up to date:

Frogr 0.2 for Fremantle

Perhaps you’re thinking why the hell I needed frogr to upload pictures when the N900 already comes with a nice and handy sharing application to upload pictures directly from the camera app or the image viewer, so here you have some use cases where I found the  sharing app not enough for my needs:

  • To upload several pictures in a row to flickr, instead of having to do it one by one (tipical use case after taking several pictures that I’d like to share/backup in flickr).
  • To set same name, description and/or tags to a bunch of pictures instead of doing it one by one (related to previous use case).
  • To be able to upload pictures as “private” instead of “public”.

Update: I’m correcting this post here since it seems the sharing application already was capable of doing some of those things I mentioned above (ups!). Anyway, as I commented there, this does not discourage me even a little bit of keeping porting my little frogr to Fremantle, but just encourage me to try to make a difference and because… why not to tell it? I’d just love to bring frogr with me wherever I go :-). Thanks Daniel for your comment!

Current status of this port to Fremantle is still work in progress so don’t expect to find anything working out-of-the-box if you download the source code at this moment, but the idea is to get it into a stable state soon to upload it to maemo-extras, along with a packaged version for Fremantle of the great flickcurl library, which is a requirement for frogr to work (and at this moment I’m jsut packaging and using it on my own for development purposes).

[*] I think the screenshot explains pretty well the main reason why I work so slowly and at late hours in frogr :-)

WebKitGTK+ Hackfest is over

Published / by mario / 8 Comments on WebKitGTK+ Hackfest is over

I’m writing this post from the Igalia office on Sunday at 23:00 pm and no… I’m not crazy nor I was expulsed from home or something like that. It’s just that today is the last day of the WebKitGTK+ hackfest and, although  was not officially an attendant to the hackfest (see, I don’t regret to have joined yesterday, since it was a quite productive and interesting experience, and hopefully quite productive as well for the projects that most of the people here were working on during the whole week.

To be honest, in my case there’s not much stuff to to talk about but just a couple of patches for libsoup, epiphany and WebKit that I was working on (some of them already got in), but I can assure you guys that the rest of the people (I mean, the “official” attendants) didn’t stop working even for a second during these days, getting awesome results, if you ask me (although of course they also found some time for relaxing going out for a walk, or even playing the Wii here in the office):

Martin and Xan

Martin and Xan, with the blackboard behind (and some results already visible)

And that’s all folks, now I’d better go home to have a (deserved) rest since tomorrow I’ll still have to wake up early in the morning and to make the most of my first day of holidays (yes!!!).

See you guys and hope next year we can repeat this experience (and I hope next time I’ll be able to join full time, also). Just a last picture to finish this post…

WebKitGTK+ Hackfest 2009

WebKitGTK+ Hackfest 2009

Frogr 0.2 released!

Published / by mario / 3 Comments on Frogr 0.2 released!

After coming back from an awesome week of holidays in Paris (lovely city, btw!), today I finally managed to get some time for making up what it became the second upstream release of frogr: frogr 0.2

Just trying to give a brief update on “what is new”, here you have an excerpt from the NEWS file:

  • Generate ChangeLog from git log with ‘make dist’
  • Added .spec file for fedora 11 packaging system (thanks Adrián Pérez)
  • Added drag’n’drop support for loading pictures in frogr
  • Added support to add tags to pictures (instead of just replacing)
  • Fixed (legacy) support for libgnome2 to compile in debian lenny
  • Use accesor functions instead direct access and removed some deprecated GTK+ symbols (thanks Javier Jardón)
  • Added i18n support and a es_ES lang file (thanks Alejandro Piñeiro, aka API)
  • Support silent build rules with automake 1.11 (thanks Javier Jardón)
  • Bugfixes and several minor improvements

Entering in more detail, and as you can easily extract from the list above, the main improvements from the user’s point of view are:

  • Drag’n’drop now supported, so having to add pictures through the filechooser is no longer the only method to load pictures in frogr.
  • New “add tags” dialog, very handy to add tags to some specific pictures before uploading them.
  • i18n support, which should make easier to get more contributions for frogr in further releases, in the form of new translations to make it even more accessible for people all over the world (did I say we’re eager for new language files?)

At last, just to mention that you already can find pre-compiled packages for some distros at the web of the project, as well as the source code tarballs in gzip and bzip2 formats. And of course, get the source code from the git repository at gitorius, in case you prefer to directly clone the source tree to make up wonderful and nice patches to contribute with, or just to provide new pre-compiled packages for your favourite distro ;-)

So… what else could I say? Just go and get it… Hope you enjoy it as much as I do :-)

Update [2009/10/14]: It seems the other day my mind was still a bit “on holidays” :-) and I screwed it up when creating both the pre-compiled packages and the source tarballs uploaded to the web of the project, so they would just not  work as they should when installing frogr (basically, they would not install files under the proper path so frogr just would not work).

I realized of this yesterday and now everything should be fixed in packages (and tarballs) uploaded in the “Downloads” section of such a web, so if you experienced any problems two days ago just try now again and everything should be fine.

Frogr 0.1 released!

Published / by mario / 5 Comments on Frogr 0.1 released!

After perhaps quite a long time since I announced the “pre-release” of frogr, back in June, I’m now happy to tell the world that the 0.1 release is finally here, providing the user a very basic but still useful set of features to upload his/her pictures to flickr. Basically, as it’s told in the NEWS file, most important changes in this first release regarding to the code from almost 2 montsh ago are:

  • A better UI. Faster and better user experience.
  • Basic configuration management to store account details (auth token).
  • Support for editing details of multiple pictures at the same time.
  • Added status and improved the progress bar usage to show the status of async operations, giving a much better feedback to the end user.
  • A better (and more easily hackable) code and design.
  • No more .glade files, no more gtk-builder-convert.
  • Avoid libgnome dependency if gtk+ >= 2.14 is present
  • Still implemented some parts of the UI (menubar) without GtkBuilder to keep compatibility with Gtk+ 2.12 (least version supported)
  • Bugfixes and several (minor and major) improvements

As usual you can get the source code at, where development for version 0.2 has already started, btw. And if you visit the project’s web at you could even find some packages for you favourite distro there as well (currently only i386 packages for Ubuntu hardy, intrepid and jaunty are available, but more flavours and platforms are coming soon: debian, fedora, x86_64…).

For the special case of hardy you’ll need to install a newer version of libflickcurl0 than the bundled in hardy repositories (0.12), which you can get from here: (yes, intrepid package will work fine on hardy).

At last, knowing that people use to love screenshots, here you have three of them showing the current status and UI for frogr 0.1. Yes I know, still not too ‘eye-candy’ but hey!… it’s the 0.1 release! what did you expect? We’ll have time enough to improve the UI in the future as long as frogr gets more mature and complete. And in the meanwhile I honestly think current UI is not a complete disaster either :-)

Frogr 0.1 screenshots

Hope you find this interesting.

Have fun!

GNOME Party at GCDS 09

Published / by mario / 2 Comments on GNOME Party at GCDS 09

Yesterday the GNOME Party took place and we all had a lot of fun there. There was food, drinks, live music performed by a bunch of “gnomies” and even the Ice Cream Deatchmatch took place there as well, and all this stuff “dressed” with a wonderful warm night to enjoy in a nice terrace here in Las Palmas de Gran Canaria… so looking backwards I think we can feel very satisfied of how things finally gone.

By the way, and talking about the Ice Cream Deathmatch, I have to say this was my first time taking part of such a contest and now I understand why it is a DEATH-match… as today I woke up with a “sugar-overflow failure” which will probably keep me away from more ice creams for some days :-)… you know, I need to survive yet another year to take part in the next edition of the contest :-)

At last I’d like to share with you a nice picture of the Jam session performed by some GNOME musicians:

Jam session at the Igalia Party

Jam session at the Igalia Party

Keep on rockin’ me baby…

Counting down for Guadec!

Published / by mario

As many of you know only two days are left now for Guadec and Guadec-es 2009, which will be located this year in Las Palmas de Gran Canaria and which will be a “little bit” special this year because it will took place along with Akademy and Akademy-es. Actually, that’s why this year it’s named “Gran Canaria Desktop Summit”.

Thus, even though I had a great time last year in Madrid and Istanbul, I’m sure this time we’re going to have fun as never before and that it will be a perfect environment for sharing ideas, thoughts, knowledge… and perhaps even some beer at the wild parties social events both with the GNOME and KDE guys ;-).

I’m really really looking forward to being there with the rest of Igalia gang to start enjoying “the Guadec experience“… can’t actually believe I’ll be there just in three days! :-)

See you there guys!

frogr: flickr remote organizer for GNOME

Published / by mario / 9 Comments on frogr: flickr remote organizer for GNOME

Right some days before than my son was born I started to hack a bit on a new and small project to develop a C-based flickr manager for GNOME, as current alternatives out there (which I were extensively using for more than a year), even thought being great applications, were not by all means what I was looking for or, in other words, what I would expect from a GNOME application which would not only allow me to upload pictures, but also to do a couple more of things like re-tagging pictures or managing albums for instance.

Therefore, bearing in mind how my new responsibilities as a father would add an extra level of challenge to the idea of developing an application when having even less time, I decided to go ahead with it and try to write some basic lines of code to see how feasible this could be. And after two months since I came up with this idea, although I could not of course code everyday (not even every week), I decided some days ago to push this forward and to really acquire the commitment of going ahead with the project in my spare time, even thought there’s not too much nowadays ;-)

So here I am, introducing this new project, so hopefully someone else could like to join this quest and help me to build a full featured flickr manager for our beloved favourite desktop environment. Have to say, of course, that the project is now at a very early stage (no debian package, only basic features, horrible UI…) but please don’t be scared of it just because of that :-). Moreover, in the other hand I have to say as well that at least it already performs the most basic features I thought of for this stage, which are:

  • Asking for authorization inside the user’s flickr account, requesting read/write permissions.
  • Loading several pictures to be uploaded at the same time, showing all of then inside a convenient GtkIconView widget.
  • Upload all the loaded pictures with just one click, opening a specific flickr URL at the end of the process, to allow specifying some properties for the pictures uploaded: name, description and tags.

As you can see this is not too much, but the plan is follow the “release early release often” approach, so that’s why I’m doing this right now. Later on (hopefully soon) many other features will be implemented, which should make of this app a great tool for flickr fans like me… and I guess the code base to make this a reality is already written so now it’s a matter of implementing one feature after another.

Please take a look to the TODO file in case you’re interested in participate, and if you want a more comprehensive list of tasks I think should be the next ones. And obviously I’m open to suggestions so don’t hesitate to comment, propose or criticism anything you want.

To finish with this, I’d like to leave here some pointers, in case you were somehow interested on this project:

So that’s all I guess. Now it’s time for me to continue the development… and for you to start getting involved ;-).

C’mon, flickr maniac, what are you waiting for?

PS: Thanks Adrian for providing a logo for the project. Quite a nice way to get a first contribution with the project ;-)

Love and Hate

Published / by mario / 1 Comment on Love and Hate

Seen in FOSDEM, in front of the GNOME stand:
Gnome love and hate

It looks like a original and very visual idea to put many ideas and visions all together, doesn’t it? Pointless to say I agree more with the “love” side, of course :-)

By the way, I took this picture today, the second and last day of the conference… so now I’m ready to give a full and complete opinion about it, which is that it just was great: I had a very  good time and a lot of fun being there, and not only because of the talks, which were amazing in most of the cases, but also because of meeting people and sharing visions and comments with all of them.

So, it seems now it’s time to get back home, so now I’m going to bed, since I’m very tired and tomorrow I’ll have to wake up early to take the plane.

First day at FOSDEM, first impressions

Published / by mario

As planned, I attended today to my first day at FOSDEM ’09, and I have to say my impressions are even better than what I would expected: lots of talks, lots of volunteers, lots of resources to get into (I’d like to congratulate the organization for all the amazing work they have done), and lots of hackers all over the place. In fact, it was sometimes very hard to manage to select and attend to some talks (at least for me, perhaps because I’m a “newbie” here as this is my first year here), since parallelization is very high (and needed, if you think on more than 260 talks taking place in just two days) and timetables are sometimes too tight if you want to move around between different rooms.

But… what the hell? That insane amount of talks and hackers hanging around is exactly which makes FOSDEM great, isn’t it? So, no complaints, only good words for FOSDEM! :-)

As I side note about conferences, I’d like to state I liked a lot the talks I attended, specially those ones in the “GNOME developers room”, which were all great. In a more specific way, I specially liked the talk about the People Framework, which is IMO such an interesting project, which could become a very helpful tool for those kind of people that, like me, suffer the typical problems of having several devices or applications with independent (but related) contact list. Keep going on with that awesome work, guys!

Regarding to the Fosdem Beer Event, needed to say it was just great to be there, talking to so many people (some new people to me, and some already “old friends”) and trying so many different beers, which were very tasty indeed, like the “Delirium Tremens” and “Kasteel”, for instance, which I just loved. The only slightly negative point on this was that trying so many beers didn’t help me to wake up in my best shape precisely, but nothing that a good breakfast and some hours of good talks could not fix :-).

At last, as a picture is usually better than too much text, here you are one: me in the main entrance.
Me at FOSDEM main entrance

Can’t wait for tomorrow!

Vagalume: D-Bus support for its desktop version

Published / by mario / 3 Comments on Vagalume: D-Bus support for its desktop version

As you can check out in the mailing list archives:

…today I’ve finished the implementation of a new patch for Vagalume which will enable D-Bus support in the desktop version of this nice player, since so far D-Bus interaction was only allowed in the maemo platform (due to using functions from libosso for RPC methods, instead of dbus-glib).

So, this is how the vagalumectl script (formerly known as vagalume-dbus) would work from now on in a “regular” GNU/Linux machine:

mario@bender:~$ vagalumectl
(Vagalume will be automatically started if not already running)

play:              start playing the current radio
skip:              skip to the nex song in the current radio
stop:              stop playing the current radio
love:              mark the current song as ‘loved’
ban:               mark the current song as ‘banned’
tag :         change to a ‘global tag’ radio.
artist :   change to a ‘similar artists’ radio
group :     change to a ‘ group’ radio
loved :      change to a ‘loved’ radio for a specific user
neighbours : change to a ‘neighbours’ radio for a specific user
personal :   change to a ‘personal’ radio for a specific user
playlist :   change to a ‘playlist’ radio for a specific user
playurl :     just play the specified URL on Vagalume
volumeup [INC]:    increase playback volume
volumedown [INC]:  decrease playback volume
volume :    set the playback volume to a specific value
start:             start Vagalume (if not already running)
close:             close Vagalume (if not already closed)
help:              print this information

Double quotes are REQUIRED when specifying parameters to some commands,
such as TAG or ARTIST, because of the white spaces they might contain, e.g:

$ vagalumectl tag “hard rock”
$ vagalumectl artist “Led Zeppelin”

mario@bender:~$ vagalumectl loved homemaxico
Command ‘loved’ successfully executed

Well… perhaps not a too much useful ‘screenshot’ after all… but believe me, that’s the proof that D-Bus is working fine on my GNOME desktop from now on.

I hope you can enjoy the patch soon (as soon as Berto applies it to the SVN trunk)… perhaps in Vagalume 0.7 ;-), who knows…

(freedesktop) Tray icon for Vagalume

Published / by mario / 2 Comments on (freedesktop) Tray icon for Vagalume

As you might know, some time ago I developed a plugin for the maemo version of Vagalume which would allow the user to manage the most basic features from a tiny icon in the status bar.

After that, I thought it could be a good idea to implement a freedesktop tray icon as well, so you would be able to hide/show Vagalume with a tray icon in the notification area, in the same way you could do it with some other programs such as pidgin, xchat or rhythmbox, for instance. Moreover, some people told me that it would be very nice to have a tray icon in the desktop version of vagalume, so everything seemed to say that I was not mad after all and that it could be a good idea…

So, I’ve started working on its implementation (using a GtkStatusIcon) some weeks ago and now I finally managed to get the enough ‘spare time’ to plug everything together and to finally finish the patch for being applied to one of the latest revisions of the SVN trunk (158). In fact, at this moment I’ve already sent it to mailing list and I’m waiting for Berto to take a look into it to finally integrate it for (hopefully) the next release :-)

Update [2008/04/29]: After working a bit more on this new tray icon during the past weekend I’ve added libnotify support to allow the tray icon to show a notification each time Vagalume starts playing a new song. Of course, as I know there’re people who might dislike this feature, I’ve also added the possibility of disabling these notifications from the ‘Settings’ dialog in the GNOME version of the application. I’ve also added an screenshot of the notifications working at the end of this post.

To finish with this post, and knowing that sometimes an image is better than just a description, here you are a couple of screenshots of the new tray icon working in my GNOME environment:

Vagalume's tray icon: showing the menu

Vagalume’s tray icon: showing the menu

Vagalume's tray icon: showing the tooltip

Vagalume’s tray icon: showing the tooltip

Vagalume's tray icon: showing playback notifications

Update [2008/04/29]: Vagalume’s tray icon: showing playback notifications

And that’s all. I hope the patch is good enough to integrate it with the next release of Vagalume. Of course, suggestions and criticisms are always welcome, so don’t hesitate to leave your comments here.

I hope you like it ;-)

Installing a VNC server on a maemo Internet Tablet

Published / by mario

Today, I’m going to give a talk about Vagalume in the VIII Jornadas de Software Libre de GPUL 2008, since Berto finally won’t be able to be there, as it was initially planned, so I’ll be charged with the responsibility of telling the people how cool Vagalume, Maemo and GNOME are in only 30 minutes… quite a big challenge for me, since I seldom can speak in a concise, short and effective way without going on and on.

So, yesterday I spent some time looking for an easy and effective way for showing people attending to the talk how cool this cute device (my N810) is… and thinking about the past I remembered when Andres gave a talk/workshop about the Maemo development platform, where he used an VNC server installed in the device to show the N810 “screen” to everyone in the room, just using an VNC client in the laptop connected to the proyector.

IIRC, Andrés compiled the VNC server for the device to get it working, but yesterday I found a much easier way to get it working, so here you are the receipt (I use too much this word in my blog, perhaps I should consider to become a cook… ):

  • Download the pre-compiled .deb package for your device from this web.
  • Copy the .deb file to your device and install it following one of the following methods:
    • Install it with the Application installer from the Control Panel (N770).
    • Install it with the Application Manager from the ‘Settings’ Menu (N800 / N810). It’s required to have the red-pill mode enabled. To know how to enable this “peculiar” mode, check this out.
    • Open a root terminal in the device with a remote ssh connection and install it this way:
    • dpkg -i x11vnc_0.9.3-1_armel.deb

  • Configure it to use a password with the default username available in the device (‘user‘):
    • Make sure you are running the terminal as ‘user’, by executing the command:
    • su user

    • Create a VNC password (recommended):
    • x11vnc -storepasswd

      • This will store your password (encrypted) under /home/user/.vnc/passwd
  • Start the server:
    • Not using the password: from Menu -> Extras, click on x11vnc.
    • Using the password (recommended):
      • Open a terminal for ‘user’
      • Execute the command:
      • x11vnc –usepw

  • Connect to server (already running on the device, at port 5900):
    • Using any VNC client connect to your device’s IP, using the following credentials if you started the server with –usepw:
      • Username: user
      • Password: (whatever you’ve set with –storepasswd)

Of course, there are lots of options you can pass to x11vnc (see x11vnc –help) but these ones worked fine for me: I have an easy VNC server working with password authentication :-)

And to finish this post, just a last advice: If you think you’re going to use always (like me) the VNC server with password authentication, it could be more nice for you to edit the /usr/bin/ script so it also includes the –usepw. This way, you can always start the VNC server from Menu -> Extras, withouth having to open a terminal for it… although, to be honest, I still prefer a remote terminal for most of the times, because of the output I continously get through it… but hey! that’s just a very personal opinion! :-)

Back from California

Published / by mario / 4 Comments on Back from California

As my mate Berto has already commented on his blog, we’re back from California after attending to the Mobile Rules! ’08 awards ceremony, and I’d like to say that we had a great time there, even though we didn’t win the prize… but being a finalist was already a very nice kind of price, don’t you think?

Mario at the San Jose City Hall Rotunda

Moreover, maybe we didn’t get the acknowledgement of being the “Mobile Ruler ’08” under the Multimedia category, but we met a lot of people indeed, and we enjoyed a lot of the event, which was nicely arranged to allow all the participants to meet each other and to have a good dinner at the San Jose City Hall Rotunda (look at the picture to see me in front of the beautiful San Jose City Hall).

So, maybe the next time we could have more luck with Vagalume, but now it’s the present and, as Berto said in his last post, it’s time to get back to work and keep on getting Vagalume even better with some nice improvements we already have in mind and others that I’m sure are still to come.

PS: This was the first time I’ve been to the US West Coast, and I have to say that I loved California… such a lovely place, such a lovely place. I hope I could go back soon :-)

Automatically mounting LUKS encrypted partitions with pam_mount

Published / by mario / 2 Comments on Automatically mounting LUKS encrypted partitions with pam_mount

Yesterday I’ve got my new Thinkpad T61 laptop and I had to spend some time installing a GNU/Linux distribution on it, so doing all those related tasks that are a must: partitioning, installing linux, installing emacs… and besides to all those tasks a very important one: encrypting some disk partitions.

To do that, I just followed the instructions that Berto had posted some months ago in his blog, either for encrypting full regular partitions with LUKS as for encrypting temporary filesystems, say, /tmp and swap partitions.

So, once I got those tasks done (quite easy if you follow the steps Berto‘s explained in his posts), only one more task was still left: to make those LUKS encrypted partitions to be automatically mounted when logging into the system with my username.

The idea behind this is just that you use the same password both for logging into the system with your username as for decrypting those LUKS partitions before mounting them. To do this, I’ve just used the pam_mount module so it took care of using the user password to automatically mount those partitions right after the user gets identified in the system. And of course, that pam module also takes care of unmounting those partitions right after you log out and no open sessions with your username remains active.

So, I’d like to share with you a recipe to get all this stuff easily working:

  1. Follow the steps in Berto‘s post to encrypt a full partition with LUKS.
  2. When you add a LUKS password for that encrypted partition, use the same password you use to log into your system with your username. LUKS allows you to add more than one password for your partitions, so at least one of them should be the same than your user password.
  3. Install the pam_mount module:
  4. sudo apt-get install libpam-mount

  5. Edit your /etc/security/pam_mount.conf file and append there a line like the following one (one for each encrypted partition you’d like to automatically mount):
  6. volume USERNAME crypt – DEV_FILE MOUNTPOINT – – –

    For example, to mount a encripted partition present in /dev/sda6 under a /encrypted folder whenever the user ‘mario’ logs into the system, you should append the following line:

    volume mario crypt – /dev/sda6 /encrypted – – –

  7. Edit /etc/pam.d/login so it looks as follows at the end of the file
  8. […]
    # Standard Un*x account and session
    @include common-account
    @include common-session
    @include common-pammount
    @include common-password

  9. And, if you use GDM (as me), you should also edit /etc/pam.d/gdm in a similar way:
  10. […]
    @include common-account
    session required
    @include common-session
    @include common-pammount
    session optional auto_start
    @include common-password

  11. At last make sure that you have removed (or commented) some lines in /etc/fstab and /etc/crypttab, in order to avoid both asking for the LUKS password at startup (because the crypttab file) as trying to mount a not decrypted partition (because of fstab). For instance, this is how those files would look for the example given:
      • /etc/crypttab:

        #encrypted /dev/sda6 none luks,check=ext2
        cswap /dev/sda8 /dev/urandom swap
        ctmp /dev/sda9 /dev/urandom tmp

      • /etc/fstab:

        #/dev/mapper/encrypted /encrypted ext3 defaults 0 2

    Once you have followed all those steps, you should be able to reboot and see how the encrypted partition gets mounted right after you login in your system, either by using GDM as by using a text-mode terminal.

    And that’s all. I hope you find it useful.

My sloppy, dirty, ugly… but (maybe) useful script for the Vagalume D-Bus interface

Published / by mario / 4 Comments on My sloppy, dirty, ugly… but (maybe) useful script for the Vagalume D-Bus interface

Vagalume playing on my hi-fi system

Today, while doing the houseworks, I plugged the N800 to the AUX input of my mini hi-fi system (see the photo), in order to listen my online radios with Vagalume while I was doing several tasks all around my flat.

Then, after finishing those tasks, I sat in front of my laptop and I began to do some tipical tasks: read mail, surf the internet, talk with some friends through IM… while Vagalume kept playing music through my hi-fi system in the living room. And then, while I was thinking how nice is to listen through a couple of good speakers, I suddenly found out that I should face the big dilemma:

  • Sometimes I’d like to change the radio station which is being played in Vagalume, or just to Skip some songs.
  • I love to listen music through the hi-fi system, even when I’m not in the living room (likely, my neighbours love this too), so stopping Vagalume from running on the N800 and running it in my laptop would not be an option.
  • The N800 is in another room, so I should leave the chair if I want to interact with Vagalume.

Maybe, you could be thinking of me as a very lazy person, but first just think of yourself in a similar situation and maybe you could understand what I’m talking about :-)

So, this stupid situation was the perfect excuse for me to write an small, sloppy and ugly script that, at least, works pretty well on the N800, and which allows to easily manage some of the functions of Vagalume that are available via its D-Bus interface:

  • Run / Close Vagalume application (via D-Bus methods).
  • Play / Skip / Stop songs.
  • Setting the current radio to:
    • A ‘global tags’ radio, specifiying tags separated by spaces.
    • A ‘similar artists’ radio, specifying an artist name.
    • A ‘ group’ radio, specifying the name of the group.
    • An ‘user’s loved / neighbours / personal / playlist’ radio, specifying the username.
    • A custom radio, just specifying a valid lastfm URL.

So, now I’m able to remotely manage Vagalume in the N800 in an easy way, while it’s playing music in the living room and I am, say, in my bedroom working on my laptop, just by ‘implementing’ the following recipe:

  • A ssh server (available through the maemo-extras repository, IIRC) running on the N800.
  • My sloppy script installed on the N800 as well.
  • A X terminal running on my laptop, to remotely control Vagalume.
  • A bottle of a good beer near the laptop, to minimize the need of leaving the chair without a good reason (not mandatory ;-)).

For instance, this is how I’d skip a song and then I’d set a hard rock radio:

$ vagalume-dbus skip
$ vagalume-dbus tag “hard rock”

So, here you are the script just in case you’re so lazy as me and you’d like to use it too: vagalume-dbus script.

Please notice that this is not an official script of Vagalume, at least not yet :-). I’ll talk to Berto to see if it would be or not a good idea to bundle it with the next release of Vagalume. Perhaps it could be useful after all :-).

What do you think?