In what comes to assigning buttons’ functions for the Wacom tablets in GNOME, the approach in the GNOME Control Center was the traditional tree-view: one button’s label per row, allowing to choose the functionality but requiring the user to mentally map the tablet’s buttons’ layout to the names in the tree-view.
Since we already have a help window, provided by GNOME Settings Daemon, which presents a tablet’s buttons layout in a realistic, visual way to the user, we decided to make it more powerful and assign the buttons directly from there! This way it is faster and more intuitive to set the buttons. Here is a video showing these nice new changes:
Another change is that the keyboard shortcuts are now captured by a new widget which supports also modifier-only shortcuts, meaning that now Ctrl, Ctrl+Alt, Shift, etc. can be easily assigned to buttons, allowing for more flexibility when mapping the tablet’s buttons to applications’ commands. As shown in the video, the old GtkTreeView was also replaced by a nicer GtkListBox (which also makes use of this shortcut capture widget).
Going to GUADEC
That’s right, for the fifth year now, I am going to GUADEC! Besides attending the conference, it will be also a good chance to have a beer with old friends and team mates from Red Hat, who I only interact with on IRC.
Grilo is getting really interesting and one of its newest nice things is the DBUS interface Juan has been working on lately.
This DBUS interface is currently known as Rygel-Grilo (it was originally intended to be a source for Rygel) and uses the MediaServerSpec to allow developers to retrieve the media objects Grilo provides.
Since there aren’t still Python bindings for Grilo, I decided to use the Rygel-Grilo to be able to use Grilo from Python.
So I developed a Rhythmbox plugin that shows every MediaServer1 object available and lets the use browse through the contents of these. Needless to say, although this plugin provides a very generic basic and usage, it’s easy to see how applications like Rhythmbox could be using Grilo to get their media. The philosophy is: Grilo gives you content, GStreamer plays that content, and you’re free to focus in the rest of your app’s details.
Here’s a video of Rygel-Grilo and the Rhythmbox MediaServer1 plugin in action: