GNOME 3.10

I’ve just flipped the switch to release GNOME 3.10. As always, the last few days before the release were pretty hectic, trying to hunt down blocker bugs. A fun bug showed up on Monday, when all of a sudden, gnome-continuous started to show serious rendering issues on the login screen – its awesome rollback capability allowed Colin to quickly determine that the breakage had appeared within the last 24 hours. Only, there was no suspicious-looking commits anywhere to be seen. After considerable head-scratching and debugging, Ray found that the culprit was the change of the gdm version number from 3.9.90 to 3.10.0. It turned out that gnome-shell was using a simple string comparsion with the string ‘3.5.90’ to determine if the gdm version was new enough. That worked great all the way from GNOME 3.6 through 3.9 …

With that bug out of the way, and another client-side-decoration related rendering glitch tracked down by Giovanni and Owen on the day of the release, GNOME 3.10.0 is now officially available. You can find the release notes here. This time, we even managed to have a live image available at the time of the release, you can find it here.

I think it has turned out to be a pretty nice relase. As always, I’ve taken a couple of screenshots during smoke testing:

System SettingsThe new system status menu and the new display panel.

Login screenThe new system status menu on the login screen.

ApplicationsSome existing and new applications.

More applicationsSome up and coming applications to look forward to in 3.12.

GNOME 3.10 sightings

I’ve not been very good about posting updates on this GNOME development cycle. I was busy with other things, and all of a sudden, we’re already at the beta – I’ve just released 3.9.90, which is the first beta release.

High time to show some of the nice new things that will come in GNOME 3.10.

System statusFirst, we have a new combined system status menu. This addresses a number of complaints about our previous system status area, such as the user name taking too much space on top bar, and privacy concerns about showing it prominently on the screen.

This screenshot does not really do the work justice, for a full impression, you should try it yourself or study the design.

Headerbars are the new blackNext, many applications are using header bars instead of traditional titlebars.

Our previous approach of hiding titlebars on maximized windows had the problem that there was no obvious way to close maximized windows, and the titlebars were still using up vertical space on non-maximized windows. Header bars address both of these issues, and pave the way to the Wayland future by being rendered on the client side.

Accessibility settingsSomewhat unexpectedly, the control-center has seen quite a bit of work this cycle, too. There is a new Universal Access panel…

Display settingsa new display panel…

Background settings…the background panel lets you configure the lock screen image now…

Date & Time settings…and finally, there is a new Date & Time panel.

Timezone mapThe map is still there, if you manually configure your timezone. I hope we can enable automatic detection for 3.10, so you won’t have to, anymore.

Speaking about maps, I should mention at least one new application:

Maps !GNOME maps will be a preview in 3.10.

That’s it for now. There’s a lot more new to discover in GNOME 3.9.90, like a completely redesigned tweak tool, the note-taking application Bijiben, support for hi-dpi displays,  etc.

If you find the right branches of mutter and cogl, you even use most of this under Wayland instead of X – our porting effort is making steady progress.

GTK+ meeting notes

We had a GTK+ meeting during the Guadec BoF days. It was a long and good discussion touching on many issues. Notes from the session can be found here. Hard to summarize, but some highlights:

  • There’s a lot of interest in adding a flow box / grid companion to our new list box widget, and also adding a model-view separation. Expect to see work on this next cycle
  • We’re starting to make progress on clutter integration. Things are happening, but may not be ready for the next cycle
  • 3.10 will have pretty complete hi-DPI support. Just waiting on cairo, now.

GNOME / Wayland plans

In the interest of transparency (and for the benefit of Kristian, who had to leave before the BoF), I’ll quickly summarize the main decisions that were reached at the Guadec Wayland BoF today.

  • We are planning to have a tech preview of GNOME shell as a Wayland compositor in 3.10
  • GNOME shell will run on KMS, not just nested
  • We will keep the Wayland port of mutter on a branch for now
  • gnome-shell will build two binaries, for the X and Wayland compositor
  • Display configuration will work
  • In 3.10, we’ll keep input methods working as before, with client-side IBus. We will switch to using the Wayland text protocol and server-side IBus next cycle.
  • We may not get gdm to launch the tech preview, and fall back to launching the shell manually from a vt

For more details, see the feature page. That page also has a list of anticipated limitations of the tech preview.

Scrolling in GTK+

 

Scrollbars are hard to get right. They have very small click targets and are barely usable to make fine adjustments. In GTK+ 3, we’ve made a number of changes to scrollbars in the last few years.

  • We’ve removed the steppers
  • We made the scrollbar smaller and look more like an indicator
  • Clicking outside the thumb jumps to the position; paging is still available via right click

In particular the last change caused some heartburn. To compensate, we added a ‘zoom mode’, which scrolls slowly (1-1 correspondence between pointer movements and scroll delta). Unfortunately, it turned out to be too much of an easter egg. To trigger it, you have to hold down Shift while clicking on the thumb. The combined use of mouse and keyboard is also complicated for many users.

This cycle, we’re trying again to make scrolling useful. I’ve just merged patches by Jon McCann and Jakub Steiner to change the zoom mode is triggered. Click-and-hold or long press on the slider will now put the scrollbar into zoom mode. We’ve also added a visible feedback for this, which makes a big difference. To top it off, Jon added autoscroll – if you are scrolling in zoom mode and move the pointer above or below the widget, the scrolling will continue until you let go of the button. This turns out to be very nice. You should try it once GTK+ 3.9.12 is out.

Since the autoscroll is hard to capture in a screenshot, I’ve also made a little video to show it off.

Guadec – still going strong

We are into day 4 of Guadec in Brno now. The quality of the talks has been extraordinary. I sadly didn’t manage to catch any talks yesterday, but this morning, I saw a quick succession of excellent presentations.

The day started off with Cathy Malmrose of ZaReason telling us about the challenges of keeping hardware accessible and how she would like to offer a GNOME option for the laptops they are selling.

Next was Juan Pablo Ugarte showing his glade mastery. He was giving a talk about CSS support in glade that he has been working on recently, and how he has been using it to create custom, themed applications. During the talk it transpired that he not only writes custom applications with glade, but his presentation slides were done in glade as well, and exported as a pdf. Who know there was a presentation tool hiding in glade !

Right now I am listening to Stef Walter explaining how we can be more secure by taking the typical ‘security’ out of  software.

Stef WalterBehind the scenes, I’ve seen Wayland developers talk to Systemd developers, planning for a better future:

Mr. Systemd

Mr. Wayland

Guadec 2013 – day 2

The second day of Guadec is starting with a very inspiring keynote. Matt Dalio of Endless Mobile is sharing his vision for how to bring computers and the internet to the 80% of the worlds population that don’t currently have access to it, and how they are using GNOME in doing it.

Truly exciting. The world is changing, and we can be part of making it happen.

Matt Dalio keynoteThe audience is listening.

Keynote audience

css.php