Monday, 5 December 2011

Stalk^W Following designs, the easy way

If you want to follow all the new designs from the GNOME Design team, including work-in-progress mockups, gathering of relevant art, etc. be sure to subscribe yourself to the pages that interest you in the various sections of the GNOME Wiki.

A nice trick is using our Wiki's notification, with regex support. Head onto your notification settings page, and add those lines to the "Subscribed wiki pages":


Sunday, 4 December 2011

WebKitGTK+ Hackfest: Day 5

Yesterday was our sponsored dinner, at a very nice vegetarian place, followed by some cinema discussions in a bar where the toilets are hidden behind mirrored walls (most strange).

Still, quite a few happenings in code land:

The hackfest is drawing to a close, and I'll take this opportunity to thank our very kind sponsors for flights, accomodation and even feeding us in the office so we didn't have to stop hacking for long.

Also a big thank you to Igalia for providing us with hacking beer in the evenings (left-overs from Igalia's 10th anniversary party, a happy coincidence).

Many thanks to Xan, Juanjo and Alex for the hackfest organisation, and the personal chauffeur service, and my most heartfelt thanks to Juanjo for his infinite patience to our tourist needs (such as showing us the Torre de Hércules on a windy December afternoon).

Vegas Baby!

Before: No video, because no Flash, and no MP4 support

After: Video, through Totem's Vegas plugin

Totem's new Vegas browser plugin provides you with a way to watch Flash based videos, without using Flash, using libquvi's growing collection of supported sites.

Code is available from GNOME git this instant. Be sure to pass --enable-vegas-plugin=yes to compile the plugin.

Saturday, 3 December 2011

WebKitGTK+ Hackfest: Day 4

The crema de ojuro took effect. While the effects simmered down, code fixing was still in full flow.

  • Philippe finished landing the fullscreen fixes for the <video>
  • Xan and Claudio started fixing GNOME 3.4 Epiphany design bugs (on the road towards the Web app design)
  • Alex, Martin, Joone and Nayan all looked into Accelerated Compositing. They all owe you, dear reader, blog posts full of nitty gritty details.
  • Jon didn't spend the day debugging bizarre browsers crashes
  • Wingo punched the air as he figured out a tricky memory allocation issue. He also listened to the Thundercats theme tune, in a loop
  • Gustavo and Dan figured out a design for multipart/x-mixed-replace support, as used by some streaming IP cameras, and Gustavo started the implementation
  • Nayan showed legendary patience waiting for tourists outside a haberdashery
  • Dan committed a number of libsoup related cleanups in WebKitGTK+, including a very impressive minus 200 lines cleanup.

WebKitGTK+ Hackfest: Day 3

Another incredible day of hacks, and UI design.

And despite the crema de ojuro, hacking carries on at the week-end. Join us in #webkit-gtk-hackfest on GIMPNet.

Thursday, 1 December 2011

WebKitGTK+ Hackfest: Day 2

After a late evening yesterday, the hackfest started a bit slower, but started picking up pace again with a big ticket item, the WebKit2 GTK+ API discussion. This was the destination for a lot of the WebKitGTK+ hackers, leaving us outsiders, well, outside. The discussion isn't quite finished.

This lead us onto a little lunchtime kick-about. The arrange 6 v. 6 game turned into a 5 v. 4 before getting to the ground, and finish as a 3 v. 4 when two of our most jet-lagged/backbroke hackers dropped out.

And then onto a lunch. And another late evening.
  • Philippe fixed more bugs in WebKitGTK+'s fullscreen video playback mode
  • Bob uploaded a new draft of his WebKitGTK+ cookbook
  • Gustavo was playing Street Fighter whilst increasing the size of his farm on Facebook (in WebApp mode!)
  • And the new buildbot is up, running, and churning through test suites in a loop, as fast as the hackers can add new code.

Wednesday, 30 November 2011

WebKitGTK+ Hackfest: Day 1, Afternoon

After num-num tapas for lunch (and some chocolatey cake), we got back to the agenda, with Jon presenting the design for the Web application, successor (in spirit, and perhaps in code) to Epiphany.

  • Andy did the initial work on adding new language features to JavaScriptCore (let and const, as used heavily in gnome-shell)
  • Martin and Gustavo worked on a way to automate running the WebKitGTK tests with test fonts, and are working on making all the tests automated, and reproduceable
  • Philippe fixed fullscreen support in the HTML5 YouTube player
  • Dan fixed the broken security status in Epiphany
  • Carlos worked on the WebKit2 support for windowed plugins, and the WebKit side of favicons support
  • Philippe, Martin and yours truly discussed sharing of fullscreen media controls (UI and behaviour) between WebKitGTK, Totem and Sushi, as well as a way to make fullscreening smoother.
I hear they didn't finish all the beers for Igalia's 10th anniversary party...

WebKitGTK+ Hackfest: Day 1, morning

After landing in (not so sunny) A Coruña yesterday, we started bright and early today with the WebKitGTK+ hackfest agenda.

We've got most of the topics pinned, as listed on the wiki. If you have more topics to add to the discussion, feel free to drop by #webkit-gtk-hackfest on GIMPNet IRC, and try to drum up interest in somebody championing your topic.

It looks like we could get some pretty cool demos done by the end of this week!

Monday, 7 November 2011

ObexFTP in GNOME, (non-)update

If you've tried to use ObexFTP browsing (browsing files on mobile phones over Bluetooth) in GNOME in recent times, and didn't get a good experience from it (crashes, or very unreliable browsing), those problems are known, and due to the architecture used to implement the functionality.

If you want to help make ObexFTP browsing good again, please try to convince one of your coder friends to help port the existing code to use the "gobex" library that the obexd D-Bus service uses.

Unless somebody steps up in the GNOME 3.4 timeframe, I will disable the access to the functionality in gnome-bluetooth. The brokenness makes us look very bad, and the files are still available through other (cabled) means in most cases.

Tuesday, 18 October 2011

Bluetooth panel merged

The Bluetooth panel was the last bad citizen in getting merged into gnome-control-center itself. It's now been integrated into gnome-control-center itself, using a very cleaned up libgnome-bluetooth.

Ready for GNOME 3.4! Please report any breakage.

Friday, 16 September 2011

OMG! I haz designed a bug fix!

In GNOME 3, we removed an option which got GNOME users hot under the collar (and gave the opportunity to the ones who weren't something to troll about): we removed the configuration option to select what happens when you close your laptop lid.

We started digging, and found out that the main reason for people wanting this feature was so that they could go from a table to another in the coffee shop, from their desk to the meeting room in the office, or a table to the next in the library, with the laptop lid closed, and your internet connection still on-going.

In that case, what's really needed is a way to disable suspending when you're moving the laptop. But having to dig in the settings would take too long anyway. And, apart from a number of tethered ones, users would live happily without that ability, so we wouldn't be adding this in the gnome-shell UI itself.

Let's add the button in a separate application. A single button isn't too interesting though. Let's make this more interesting!

Office Runner!


  • “this is the best thing ever”
  • “the most creative way I've heard of to solve a power management bug in a while”
  • “I expect people to spill their coffees over this”
What now?

The code is available in GNOME git, and we're just waiting to knock a few TODO items, and get a UI  review before releasing the first version. Patches welcome. Enjoy!

Wednesday, 24 August 2011

COSCUP 2011: Taipei

Just got back from Taipei, where I attended COSCUP, alongside troublemaker Xan López, both of us having been invited to represent GNOME.


After a fairly smooth but long flight (followed by a shorter flight from Hong-Kong), I landed in Taipei International Airport where I met Max, holding a card with a GNOME foot and my name on it, at the arrivals hall. Max then drove me to the hotel, or rather, he was my driver to the hotel, as he insisted that I ride in the back seat rather than up front alongside him (I think you'll see a pattern emerging soon).

Our very nice and modern hotel (with “North-European furniture”, as the brochure said, and it did indeed have Ikea branded glasses in the bathroom) was a stone's throw away from the Nangang Software Park MRT (metro) station.

I only saw those on TV when I was a kid.
I proceeded to catch up on my sleep, after a quick look at the TV channels (Hackers!).


The next morning, thanks to Max' helpful cue cards, I managed to get myself a network adapter and cable out of  Guanghua Digital Plaza. This place must be an absolute dream for people who like making their own computers, though the newness of the hardware is dependent on the use. No Bluetooth 4.0 dongles, but the latest in anime shaped USB sticks.

Blade Runner, day time.
After being reminded on the plane quite how important business cards were, I asked the hotel reception whether they could help me get this sorted. After 10 minutes of calls by the enormously helpful receptionist, Max arrived from another airport run with Xan. Ten more minutes of phone calls, Max drove me to the print shop, where they live designed my business cards. It took a good half hour. At which point I should mention that during that whole time Max's wife was in the car, double-parked not very far from the shop. And that Max managed to arrange for the business cards to arrive at the hotel.

Snooze, mail, and we got ready for the speaker's dinner. In the lobby, we met David Cuartielles, the co-founder of the Arduino project, and Pofeng, one of the organisers. Pofeng proceeded to organise for my business cards to be delivered to the dinner we were just going to.

Dinner, num-num, early night.


I'll cut short on the presentations, as most of the slides and videos should find their ways online soon. Jonathan Corbet made a nice feature out of my presentation (which was followed by Aaron Seigo's Plasma active on tablets talk).

Demo time!
Side note, if you cannot access the Linux Weekly News article, you can wait a week, or give to Friends of GNOME, and get a free LWN subscription.

The talk was well received, and a few hardware makers are interested in our approach.

Xan's presentation was also well received, and we started discussing the idea of Epiphany's web applications integration using standardised metadata information, as Firefox also needs such integration.

I would advise future organisers of GUADECs and associated to talk to the organisers of COSCUP in terms of getting staff on the grounds, online social interactions (including COSCUP Cheese), or even the mobile apps for the conference.

Social and touring

Xan hacking.

David hacking.
We tried our best to mingle amongst the conversations during the conference, but it's soon fairly obvious that the Westerners end up together, if only because we were all tourists. Which is how I ended up spending a fair bit of time with the Beijing-based German Ollo, Berlin-based Frenchman Paul Rouget (who's just bad at Mario), Malmö-based Spaniard David, Living-out-of-a-suitcase Xan, and Taipei-based Englishman James.

We spent some time trying to find veggie food for Xan in the night markets, amongst the game arcades, Angry Birds T-Shirts, and potent smell of soy sauce (no, not the same one you have in your cupboard).

The day after the end of the conference, the speakers were invited to a tour of the city. We went up Taipei 101 (where my mild acrophobia made me feel queasy looking down the emergency stairwell, 90 stories to the bottom), and down it for some gadgets shopping, and the most awesomest dumplings in the existence of the world at Din Tai Fung.

This was followed by a visit of the National Palace Museum (where you could see the most amazing work on ivory, and jade, real craftsmanship), and the change of guard at Martyr's Shrine.

Tourist information

The working hours are mostly European ones, but they're not in sync with the sun. So getting out of a dark building at around 10 AM means that you'll be in the noon sun, and nearly blinded. Bring sunglasses.

It's really hot and humid (BBC Weather mentioned 36 Celsius, with 86% humidity for last Monday), bring light clothes. Women can buy a sun-umbrella locally. Bring a napkin/cloth to wipe your face.

It's part of culture to exchange gifts amongst friends. Even if you don't have any friends there yet, the people are so nice that you are bound to feel that they deserve those gifts anyway. Bring gifts, especially foodstuff.

Don't look like a plonker by not bringing business cards to any business meeting (like I did). You can probably get them printed in Taipei (expect to pay around 200NT for 200 business cards, eg. around 5£). Bring name cards (as they call them there).

You're in the Republic of China, not the communist People's Republic Of China.

And read the metro map properly...


My wholehearted thanks to all the COSCUP organisers, and the conference itself, for inviting us to Taipei, taking great care of us, and sponsoring our accommodation, to the well-connected Emily Chen (who everyone seemed to know) who proposed me for a talk, Max and his wife, for being the best of hosts (and for the Stephen Chow DVDs!), and the GNOME Foundation for sponsoring my flight there.

I can now say I've been to Asia, crossing a bridge in Istanbul doesn't really count :)

Monday, 15 August 2011

Desktop Summit all done

Like a large number of Desktop Summit attendees, I made my way back home shortly after the end of the conference. I will spare you the details of my schedule, and will share a few things of note.


As I attended one of those recently, I did a presentation about them for the Advisory Board on Tuesday. The things to come out of the discussions that followed is that we would want more reporting in some cases, even post-hackfest if the network access isn't good enough, or there are loose items (filing bugs, long-term goals definitions, etc.).

This help our AdBoard members, the Friends of GNOME contributors, the community, as well as the hackfest sponsors, know how the hackfest helped the project.

Seeing as we were in a shared event with KDE, I would also like to note that if you want to work on lower levels of the stack, such as hardware enablement, or features that can be shared as standards through, talk to the board about organising a Hackfest.


My presentation about tablets (and not sofas) went past. I'll know for next time that antihistamines don't make for a clear mind, but if you were present and I missed a particular subject you were interested in, don't hesitate to contact me.

During the conference, Nohemi fixed a number of the bugs I reported through her mentor, and my tablet can now be booted with the on-screen keyboard enabled by default.

I also prepared a presentation for the Advisory Board meeting that ties in to the above subjects, which generated a fair bit of discussion, but this will require reporting separately.


  • They have high towers and holes in Berlin
  • I'm a sucker for a bratwurst, and had the best kebab of my life
  • Museum Island is impressive
  • I was in the winning team at FreeFA, though people say we had too many Brazilian full-backs on our team.
  • Kay knows how to make a rose from a napkin
See you all next time in A Coruña!

Update: No dots in "A Coruña".

Thursday, 23 June 2011

Pretty, oh so pretty

There was a tiny problem with the Bluetooth panel has it was implemented in GNOME 3. There wasn't a way to rename the Bluetooth adapter. Well, there was a way, but it wasn't implemented, but it was there, in our minds.

We started by adding support to the Info panel to set a machine's pretty hostname, as implemented by systemd. Looks simple enough.

The next step was to make bluetoothd know about this file, and use it to name Bluetooth adapters, instead of crappy hostnames. And voila.

Implemented as it should be.

If you have applications where using a device's name (as opposed to the user's name) makes sense, please look into using the machine's pretty hostname.

If you want to test all this, packages will soon be trickling into Fedora 16 (aka Rawhide). All the patches are upstream, though the bluez patches are still pending.

Friday, 17 June 2011

IM, Contacts and Social Hackfest, final day

Today was a shorter day, with many of the attendees taking their leave before the week-end (and a pizza lunch turning into kitchen discussions).

Today focused on brainstorming around a Conversation app, to eventually replace Empathy. There are still many problems to be solved before that jump can be made though, so don't expect it to happen for GNOME 3.2.

The other topic today was a reusable contact selector widget, to be used in applications that offer sharing to contacts, like Tiffany's on-going GSoC for document sharing in Evince.

No cats were harmed during the making of this hackfest.

Wednesday, 15 June 2011

IM, Contacts and Social Hackfest, day four

Day four. People had bad dreams last night due to the huge amount of cheese ingested. Will need to seek counselling. Travis' knee doesn't hurt too much anymore.

Today we discussed the interaction of the “presence chooser” in the Shell's user menu with IM statuses, especially given that we soon hope to make it possible to answer chats without launching an “empathy” binary. A number of options were discussed, and the best one now lives in a bug. (Note that both reports are incredibly detailed, thanks to Will Thompson's amazing screenwriting skills).

Morten then presented his current plan for integration of contacts within the Shell. More details are available on the wiki, and most of the problems and potential solutions were discussed at a high-rate, given the well-known problem space.

We missed out on some interesting changes to account creation (as well as edition) in Empathy/Telepathy yesterday.

IM, Contacts and Social Hackfest, day three

Day three, and the walls are closing in.

Some of our hosts mention they have “work to do” and hide away from light, behind shades.

Alex Larsson showed up, bright and early in the Collabora offices, and most of the day has been spent working on a Folks hit list [1] with Travis and Philip as tech leads. Integration of GnuPG contacts metadata (can I encrypt e-mails for that person?), as well as more general IM integration in apps (slide-show sharing for example) was also mentioned, as we hope to share most of this infrastructure.

[1]: Travis' knee was on the hit list, got whacked against a table leg.

Tuesday, 14 June 2011

IM, Contacts and Social Hackfest, day two

Day two, in the Collabora house, Rob Bradford graced us with his presence, on his birthday, and today started discussing integration of gnome-online-accounts into Empathy/Telepathy[1], libsocialweb and interactions with various accounts systems.

Most of the rest of the pre-lunch hacking was about setting ourselves up for hacking on the above. The afternoon was spent with much of the same, trying to get more documentation for things like Google's Chat authentication, including a draft patch to gnome-online-accounts, Empathy/Mission Control work for this support, and tons of related bug fixes.

The Telepathy hackers also discussed text handling in Telepathy (with the goal of making the specification clearer, avoid problems of "missed" messages, etc.).

[1]: and

IM, Contacts and Social Hackfest, the sponsors

Many thanks to Intel, Red Hat, and the GNOME Foundation for sponsoring participants at the hackfest, and heaps of thanks to Collabora who are contributing a lot of participants to this hackfest, their offices, their coffee machine, and getting us pizza and Nutella dough balls yesterday. Num Num!

Monday, 13 June 2011

IM, Contacts and Social Hackfest, day one

In Cambridge (the proper one, in Cambridgeshire), at the Collabora offices, for the first day of our IM, Contacts and Social Hackfest.

Today, we:
  • discussed end-user problems with Telepathy and Empathy's gnome-shell integration (and started the specifications necessary to fixing some of those bugs) (everyone for the problems listing, Danni and Guillaume for the start of bug fixing)
  • started working on integrating gnome-keyring dialogues into the Shell (Stef Walter)
  • fixed libfolks bugs (Philip), and discussed a potential problem API problem in the folks to evolution-data-server synchronisation code (which will be used in the Contacts API) (Travis, Raul, Bastien)
  • packaged up gnome-online-accounts for Fedora (Bastien)
  • worked on better high-level tp-glib support for file transfers (Morten)
  • HMAC support in glib (Stef Walter)
Tomorrow we'll have Rob Bradford joining us, and probably start talking about GNOME Online Accounts integration with libsocialweb, as a way to kickstart its use all across the desktop.

Wednesday, 8 June 2011

Small tablet improvements

I recently added two new plugins to gnome-settings-daemon, which should make life a little bit better on tablet computers, such as the WeTab/ExoPC that most MeeGo developers seem to have lying around.

The first plugin is the orientation plugin, which will read the orientation from udev (which itself reads it from the accelerometer), and rotate the display and the input touchscreen as appropriate.

The second plugin is the cursor plugin, which will simply hide the mouse cursor when you don't have a mouse attached to a computer with a touchscreen.

Related to those are two gnome-shell bugs. Related to orientation is this bug about providing smoother XRandR transitions in gnome-shell, and related to cursor is a way to show activity in the shell panel when a busy cursor would be shown.

No screenshots, because a vertical desktop with no cursor isn't that interesting.

If you're interested in testing out this on a WeTab, you'll need the accelerometer driver in the kernel, udev git (or udev 172 when it's released) and gnome-settings-daemon master.

And if you want support for another tablet device, check out this discussion on the linux-input list, and drop me a mail if you need more guidance.

Tuesday, 19 April 2011

Get your hot (beta) GNOME 3 distro!

Want a distro with all the best gizmos? systemd, with learning read-ahead for faster boot? GNOME 3 getting out of your way so you can do work? And much more.

Tuesday, 12 April 2011

Want to debug an old status icon applet?

If you want to debug an "old" status icon when running the GNOME Shell, and it duplicates functionality from a icon in the shell itself (say Bluetooth or Sound volume, in my cases), there's two tricks available.

The shell looks at the WMNAME for the applet when choosing to hide it, or show it.
  • For most applets, gtk_status_icon_set_name() isn't called, we just need to change the binary name. Create a symbolic link to your binary with a different name (say, "test-applet"), and launch your application from that.
  • If the applet calls gtk_status_icon_set_name(), just name it differently. Unfortunately, that will require recompilation.
With those tricks, I fixed the volume status icon for the fallback mode, and helped Frédéric Crozat pin-point a (likely) bug in the Bluetooth menu in the shell, as we could not reproduce the bug with the fallback status icon.

Wednesday, 6 April 2011

GNOME 3.0 is out!


Loads of thanks to all the people who have helped, poked, nudged, nagged, and kept me honest for the past 9 months, in no particular order, Rodrigo Moya, Thomas Wood, Jon McCann, Richard Hughes, Luca Ferretti, Giovanni Campagna, Cosimo Cecchi, Matthias Clasen, Florian Müllner, Kjartan Maraas, Sergey Udaltsov and Daniele Forsi, and most likely a number of people that I'm forgetting.

They helped make the System Settings (including my favourite parts, the Bluetooth and Sound panels) what it is in GNOME 3.0.


Monday, 4 April 2011

Totem in GNOME 3.0, plans for 3.2

Totem for GNOME 3 is available in the GNOME FTP servers. And now onto GNOME 3.2.

There's a couple of major UI changes planned for Totem 3.2, with designs from the GNOME Design team (and Hylke in particular). These include the removal of the status bar, better fullscreen controls, more contrast when playing movies, etc.

New colours
The changes for contrast are already in Totem itself, and you can grab a 3.2 version of gnome-themes-standard to see the "dark" variant of Totem (or enjoy the screenshot below).

Black Swan, go see it.

New video widget
For the rest of the changes, we needed a video widget that was more flexible than the X-based one we were using. So from Totem 3.2, we'll start using clutter, and clutter-gst.

This means that we'll be able to implement things like OSDs for more than just the fullscreen version, use an indicator in the video directly when buffering for live streams instead of the status bar. It would also allow other useful features, like rotating videos with animations, to preview movies from your phone or camera in landscape mode.

Performance-wise, if you were already using an OpenGL-accelerated desktop, the difference should be minimal, comparing clutter-gst's video sink to an Xv overlay using OpenGL, the major difference being the addition of the videobalance element to the pipeline.

If you don't have OpenGL drivers for your machine, Totem 3.0 will still be maintained, with important bug fixes being backported.

Misc changes
We expect a Grilo plugin making its appearance, which will allow us to focus our bug fixing on the interface parts, rather than having to maintain the code to access various video resources.

We also made changes to the nautilus properties tab, which should make it faster, using Edward's GstDiscoverer.

You can start testing the clutter-based Totem, the dark variant, and the faster nautilus properties right now, in the master branch of Totem in GNOME git.

Tuesday, 22 February 2011

Bluetooth panel

Nearly implemented in one evening (Friday evening, before the UI freeze), and a day (well, a long day, it's 4:30 AM).

The only thing not implemented is the hardest part, the "active" button, which needs to take into account whether there are Bluetooth devices at all, if one is the default and powered, and handle hardware killswitches as well as software ones (software-based airplane modes for example).

Yay, I can wiggle my mouse

As per usual, refer to the design documents for more information on the changes made.

Tuesday, 8 February 2011

The screen panel

Following on from the region panel, we now have an updated “Screen” panel for the control-center. Richard worked on the initial version (which you can see in older revisions of the control-center for GNOME 3), and I finished hooking it up this week.

Not much to say about this, except that the lock screen timeout preference now changes the underlying preferences for both “on AC” and “on battery”, as well as the idle time (which is used by a number of desktop components like your IM application).

I'm also very glad that we managed to get rid of the brightness levels based on whether on battery or mains power. This usually worked exactly as you didn't want it to. Now, just use your keyboard shortcuts for those instead of hoping to gouge somebody's eyes out every time you changed power source.

See also the design page for more information about the changes made.

Saturday, 5 February 2011

GNOME 3 Test Day

On Wednesday evening, Fedora Desktop hackers were frantically building GNOME 2.91.6 into rawhide, including a number of rebuilds against newer versions of GTK+, and beta testing Live CD images to make sure they were usable.

On Thursday morning (European time), ISO images were being uploaded by the our favourite QA insomniac. Quite a few people came to test the Live CD, and many bugs were filed.

There were plenty of questions about GNOME Shell itself, and some about the design decisions. So if you did try out one of the many GNOME 3 live CDs, and asked yourself the following questions, we'll try and provide some answers.

Q: The dash is broken, I can't add more than 13 favourites to it!?
A: It's known problem, which also fits into the dash resizing when you drag'n'drop new items to it.

Q: I can't read the full name of certain applications when searching for them in overview mode. Can I haz tooltips?
A: Tooltips, maybe not, but a solution is being worked on. Follow the discussion in this bug.

Q: I can't change my font size, really?
A: You can change it for the applications, in the Universal Access settings. For the shell, it's currently not possible, but it will get fixed.

Q: I don't like how hard it is to create workspaces. Is this the final design?
A: It's not. Owen has been working on implementing Jakub's video mockups. See this bug for all the links.

Q: I use 2 monitors, and GNOME Shell is very difficult to use. Is it going to get fixed in time?
A: Hopefully yes. There are two bugs you can monitor. One is about a bug when using two monitors (or at least, more prominent when using two monitors), the other about the plans for even better multi-screen support.

Q: How do I restart my computer?
A: Type "reboot" in a terminal? Unfortunate, but how to present it needs a bit of design work. Just adding another menu item in the system menu just muddles it.

Q: This is way slick. But the NetworkManager applet looks really out-of-place. Can you make it look cool?
A: Yes! System status legend Giovanni is on the case.

Q: My machine can't run GNOME Shell. What about the fallback mode?
A: It looks pretty sad at the moment. There's plenty of room for improvements here. Feel free to jump in if you want to help those not fortunate enough to be able to run GNOME Shell.

Also notable is the fact that plenty of bugs were filed, and quite a few fixed, that we are exercising the graphics drivers and finding bugs, and that despite some complaints (some of them constructive, but not always), GNOME 3 is looking better and even more usable than GNOME 2 by the day.

PS: We even had KDE make GNOME crash. Or close enough.

Friday, 28 January 2011

Region panel

Yesterday, I finished working on a UI cleanup for the “Region and Language” panel in the control-center. You can see the results below. I'm pretty happy with this, though quite a bit of work could still be done, like allowing users to install “language packs” (fonts, translations, dictionaries) from the language tab, or integrating input sources in the layouts tab.

The layout before the separator are used by other users on the system

My favourite layouts, with the new contextual items
(and sans keyboard model selection)

Wednesday, 26 January 2011

infra-red remotes in GNOME 3

gnome-lirc-properties has served its purpose. It will probably carry on working on GNOME 3 desktops, but you won't be happy when it drags in GTK+ 2.x Python bindings, HAL or doesn't integrate into the new control-center.

But things have changed since gnome-lirc-properties was first written, and the way to handle IR remotes has changed as well:
  • A large majority of receivers are now supported in the kernel using rc-core (né ir-core).
  • Some receivers aren't supported (iguanaIR amongst others), and some need porting from pure input drivers to rc-core. Some functionality for the ATI Remote Wonder remotes is also not supported by the new drivers. If you're interested in working on this, drop a mail to the LIRC list.
  • Mauro Chehab is making progress at propagating the key events from the kernel up to the stack to X11 applications. There's some patches in that direction on the Red Hat Bugzilla.
This means that:
  • Event delivery would still need a broker in the session, to get to unfocused applications. gnome-settings-daemon can step in that role (and step out of the way when the application is focused, so the app can bring context dependent behaviour). gnome-settings-daemon already handle some of the more common multimedia keys in its media-keys plugin.
  • The only configuration one would need to do is selecting the type of remote for the receiver, eventually tweaking the keymap for that remote.
So to write a replacement for gnome-lirc-properties that would fit into GNOME 3, one would need:
  • A way to enumerate receivers on the machine
  • A way to change the remote configuration (changing the keymap) for that receiver
  • Eventually a way to tweak the keymap
This could all be handled through a D-Bus version of ir-keytable. If Mauro's patches reach mainstream, then a kernel/GNOME summer of code project could be had for this work. Best to start writing some kernel patches, or laying some code if you want to get a headstart.

PS: For completeness' sake, there are also "pure" input devices that are remotes that wouldn't be handled through this. Those would need to be blacklisted in the input layer, and handled through rc-core instead.

Thursday, 13 January 2011

YouTube playback will suck again

If you've seen the comments on this PiTiVi bug, you're probably already aware that YouTube/Google strongly disapprove of any breach to their terms of service.

We thought that Totem was living in a soft, gray, area by using YouTube GData API to do video searches, and then accessing direct streams that were of the quality expected by users, and in formats that meant out-of-the-box support for most Linux distributions (eg. using Web-M).

Turns out not. I won't make a whole scene about the way that this problem was brought up to me, but let's say that it wasn't the way I would have expected a corporation like Google dealing with things.

After a multitude of e-mails back and forth, I'm afraid that YouTube stuck to its guns, and I was repeatedly told about the "supported" solutions (embedding Flash was even proposed as a solution!).

So Totem will soon be playing your YouTube videos in crappy quality. Some of you with faster computers and better connections will be switching from full-HD streams to 176x144 videos.

If you want decent desktop integration with high-quality streams, feel free to "star" this GData bug report.