(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 vagalume-devel@maemo.org 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

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/x11vnc.sh 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! :-)