GNOME Shell 2.28.0 – A Preview

Going from releasing GNOME 2.27.x unstable releases of GNOME Shell to GNOME 2.29.x unstable releases of GNOME Shell naturally involves crossing 2.28 in the middle, so we thought we’d take the opportunity to make a set of tarballs that are little more stable than the typical Friday snapshots. A good place for people to try things out. I’ve just uploaded mutter-2.28.0 and gnome-shell-2.28.0 tarballs to ftp.gnome.org.

If you want to building things yourself, you still should use the JHBuild setup described on our wiki page. It’s the easiest way to do it. The tarballs are really designed for people creating distribution packages.

Looking back, I haven’t blogged about GNOME Shell changes since February. That’s a very long time so I’m not going to make any attempt to describe here what all has changed since then. (693 commits just to the gnome-shell Git module.)

To find all the nooks and crannys of the GNOME Shell user interface you can use the neat cheat sheet that Marina created. It’s a good way to learn about the secret commands supported by the Alt-F2 dialog without going to the source code, as well as to get an overview of the more user-oriented parts of the shell.

Considering only at the changes in the last few weeks, the biggest change recently has been to the Alt-Tab dialog; Jon McCann and Jeremy Perry (one of the designers here at Red Hat) came up with some ideas about how the Alt-Tab could better integrate with the way we group windows by application in the Activities Overview, and Dan Winship did a lot of work to make those ideas into something we could try out. Steve Frécinaux also jumped in more recently to help out with this. Jon’s going to describe the design ideas involved in more detail soon, so save your ideas for improvement for his post, but here’s a quick screenshot to whet your appetite:

New GNOME Shell Alt-Tab Selector

The other big recent change isn’t so screenshot-able, but Colin and I took some interesting parts of the NBTK library from Moblin and imported it into GNOME Shell as ST (the Shell Toolkit). (We’re still cooperating closely with Moblin on the work; the rename is just to keep things non-confusing.) We get several nice things from this: scrolling, better layout capabilities, but the big change is the ability to use CSS for styling. NBTK already had a good start on this, and I then merged in some work I did last year for hippo-canvas to get extra capabilities like CSS styling of borders and fonts. This is really intended to make development easier – so we don’t have to have all sorts of hardcoded fonts, colors, and pixel sizes in the code, but also should provide a good entry point for artists to work on alternate appearances for the shell.

Oh, and I quickly used ST to hack up a drop-down calendar when you click on the clock. So you can finally find out what day of the month it is in GNOME Shell without having to run ‘cal’ in a terminal.

We hope people will try it out, and see how it works for them in practice; packages will be in Fedora rawhide shortly and the JHBuild I mentioned above really is easy to get going on any recent Linux distribution if you aren’t running something quite so up-to-date. If you are in the Boston area, come to the GNOME Summit this weekend. All the developers working at Red Hat on the shell will be there, and hopefully a few other shell developers as well. You can see the shell in action, talk to us, and just in case you are having trouble getting it compiling, we’ll help you with that too.

41 Comments

  1. Posted October 7, 2009 at 9:40 pm | Permalink

    I like the alt-tab improvements (showing apps on other workspaces!), and kudos to Marina for putting together the great Cheat Sheet.

    Looking forward to trying this out.

  2. ethana2
    Posted October 7, 2009 at 10:34 pm | Permalink

    I don’t get why it doesn’t use a tiling wm yet.. Having to resize windows manually is like signaling that you’re about to turn by flipping a light on and off and on and off..

    And I still don’t get the point of a menu bar that’s not at the top edge of the screen..

    • ethana2
      Posted October 7, 2009 at 10:37 pm | Permalink

      I actually have my global menu bar at the bottom of the screen, just because you can’t do that on a Mac.

  3. Isaiah Heyer
    Posted October 7, 2009 at 11:35 pm | Permalink

    Please tell me there will be an option to show what day of the month it is without having to click on the clock. I don’t like this trend of showing less information on the panel.

  4. Rahul Sundaram
    Posted October 8, 2009 at 1:30 am | Permalink

    Isaiah Heyer.

    Patience. This is a preview. There are still quite a few well known issues.

  5. Posted October 8, 2009 at 2:04 am | Permalink

    In your screenshot, what happens when you press the ‘Text Editor’-button right next to the ‘Activities’-button? Would it be possible to show the menu bar of the editor when you click this?

    • Posted October 8, 2009 at 3:34 am | Permalink

      The plan is to have an “application menu” with commands like “quit”, “new window”, etc. (in opposition with window-related menu). The way to achieve this (registering a global menu) is not known yet. Maybe using dbus niceties.

  6. Vincent
    Posted October 8, 2009 at 3:08 am | Permalink

    I’m curious as to the Alt-Tab behaviour, because one thing that bugs me when using OS X is that I can’t easily (i.e. with a single key combination) switch between to windows I’m working with (e.g. when the two windows are of the same application, when talking about OS X).

    For example, say I have two Firefox windows open, will I have to first press Alt+Tab, then Alt+Shift+Tab, then the right cursor key? Or will I just press Alt+Tab? (Meaning that a different window of the same application will be the first focus of Alt+Tab.) But if so, switching windows of two applications will be a drag (pressing Alt+Tab then Tab again).

    Then again, I think it will be less cumbersome than on OS X because there’s a tendency to keep things in one window (e.g. with tabs) on GNOME anyway. Which means I’d be using a combination of Alt+Tab and Ctrl+Tab as I do now anyway, which, come to think of it, isn’t ideal either.

    • Owen
      Posted October 8, 2009 at 6:00 pm | Permalink

      The current behavior is that the first Alt-Tab always takes you to the most recent window (same app or different app) and then after that subsequent Tab presses cycle you through applications. It seems to work well for the flipping-between-two-windows case without interfering with the mental model of “Alt-Tab switches apps” but we’re still experimenting.

      • Posted October 9, 2009 at 11:12 am | Permalink

        Sounds good 🙂

        One other concern I have is that apps continue to be able to work in Xfce, but as it’d be a hell of a job to change every application to change their menu to be application level and at one place, I’m not really afraid of that not happening.

        Oh, and the hot corner behaviour can be annoying when using an optical mouse which might have the tendency to suddenly move the cursor to a certain corner, which would bring up the activities list. Ah well.

    • Marcus
      Posted October 8, 2009 at 10:42 pm | Permalink

      In OSX, to switch between windows of the same app just press Cmd-` (key above tab).

      I like the new look for tab switching on GNOME Shell. I am impressed with the level of innovation that is being put in this project, and I am eagerly looking forward to the finished product in GNOME 3.0!

  7. Jimbo
    Posted October 8, 2009 at 5:01 am | Permalink

    I like the new alt tab but it is still slower/more complicated than the current alt tab which shows all the windows straight away.

    What Gnome 3.0 really needs is an Expose like feature which macs have, where with the click of a single button I can bring up all the windows in thumbnails, or with another button bring up all the windows of my current app.

    You have an Expose like feature with the Shell where I can see an overview of all windows, but I’m concerned that anyone who uses virtual desktops will have such tiny thumbnails it will make the feature too hard to use.

    I also haven’t seen a way to show just the windows of the given app I’m in. This is super useful if you have multiple documents open.

    IMO getting these Expose like features is ESSENTIAL if you are going towards an App switching mentality over a window switching one. I’d like to think you guys, being as clever as you are, already have this stuff all worked out, but it’s worth mentioning.

    PS. Completely unrelated but… My biggest wish for Gnome 3.0 is window themes with curved corners that don’t have jaggy bits. Give me smooth corners and I will proclaim it is the year of the Linux desktop from my rooftop.

  8. Posted October 8, 2009 at 6:50 am | Permalink

    Thank you for your hard work on Gnome-Shell! I tried it out this week on a newly compiled Radeon KMS kernel and it works, as I said on IRC, relatively fine if it wasn’t for some graphics shortcomings.

    Now, my laptop is a five year old model, and runs splendidly on Gnome. However I think Gnome Shell might be its breaking point, Gnome Shell works and is quick without stalling, but still has that sluggish feeling.

    (It is strange to contrast this, but workspace switching in Gnome is instant but flickers and you have to wait for the update. Instead in “modern” double-buffered environments like Gnome Shell, you have to wait just a bit longer for the switch, but it is smooth. However, as a user you have to prefer the former –it responds immediately.)

    Only other major thing is the blurryness; Gnome Shell somehow casts a light blur over everything. In Shell you then have to disable hinting completely and it looks better again but the letter shapes are worse.

    Also, I’d like to see the date in the clock. And a place for the global menu bar.

    • Owen
      Posted October 8, 2009 at 6:21 pm | Permalink

      If you have a Radeon, the blurriness is very likely:

      https://bugs.freedesktop.org/show_bug.cgi?id=20340

      A 5 year old laptop is generally at the margins of what we can support with GNOME Shell. My primary devel machine is a 4+ year old laptop with a r300 and 64M of VRAM. That works pretty nicely but if you drop down to a r200 with 32M of VRAM, then you don’t have enough VRAM to keep the windows in VRAM and you don’t have enough bandwidth to pull them from AGP space quickly. There’s some more optimizations we can do – we might be able to wring another 40-50% of speed out but it’s never going to be fast.

  9. big g
    Posted October 8, 2009 at 8:15 am | Permalink

    It’s great but opening an application submenu is very slow on my machine. It takes 1.5 – 2 secs.

    • Owen
      Posted October 8, 2009 at 6:23 pm | Permalink

      The slowness there is a known issue; I don’t think it will be hard to optimize. (We’re planning some more major revisions to application browsing so optimizing the current interface hasn’t been a high priority.)

  10. Stéphane
    Posted October 8, 2009 at 8:45 am | Permalink

    This interface will look very nice once the drop shadows will appear on all widgets.

  11. Posted October 8, 2009 at 8:56 am | Permalink

    Vincent: In Mac OS X, you can switch using Command+(key next to left shift) (on my keyboard this is Command+< )

    Gnome-Shell is planning for something like this (Alt+` or so, which is Alt+§ on my keyboard (key above tab))

  12. nona
    Posted October 8, 2009 at 9:56 am | Permalink

    Has anyone been thinking about how GNOME Shell will interact will multi-user MPX?

    I’m thinking of use cases like having a projector with a “public” X server, a shared space easily and simultaneously accessible to multiple users.

    MPX breaks quite a few assumptions (like the global menu, which I like on my personal machines). I’d find it a shame if the answer would be: don’t use GNOME if you use MPX.

  13. AnonymousCoward
    Posted October 8, 2009 at 10:06 am | Permalink

    This looks great, I need to try this out for myself. Are there any recent/up-to-date videos of GnomeShell in action?

    Thanks,
    AnonymousCoward

  14. AnonymousCoward
    Posted October 8, 2009 at 10:43 am | Permalink

    Just tried it. Very cool.

    Menu navigation is a bit slow, but given how new this product is, I’m sure it will improve in the future.

    Also clicking on the “i” (info) icon next to an application brings up a brief message about the application. But there is no easy way to “go back” or select the application. I might file this as a “feature request”.

    Very cool application though.

    Thanks,
    AnonymousCoward

    • Owen
      Posted October 8, 2009 at 6:29 pm | Permalink

      See https://bugzilla.gnome.org/show_bug.cgi?id=594172 for the problem with closing “Details” (what the (i) gives you) not going back to browsing. We’re thinking of revising the Details pane to be shown on hover, since it’s pretty awkward to get to now. Though we need to put more useful stuff in there as well! the current contents aren’t worth getting to most of the time. The full-size image previous can be useful, but that’s about it.

  15. Posted October 8, 2009 at 2:45 pm | Permalink

    I just realised, that I can install GNOME Shell on Fedora 11, by temporarily enabling Rawhide repositories. I think that for now, the most important features to add are: ability to change colors/fonts and any panel with windows opened on current workspace. If only these features exist, I could use GNOME Shell right now.

  16. Posted October 8, 2009 at 4:37 pm | Permalink

    Really cool work!

    It would be nice to see integration of gtkparasite[1] or gtkwebd[2] into looking glass. This way we could debug also gtk applications. Really awesome feature for developers!

    1. http://chipx86.github.com/gtkparasite/
    2. http://wiki.freaks-unidos.net/gtkwebd

    • Owen
      Posted October 8, 2009 at 6:33 pm | Permalink

      LookingGlass has its hands pretty full already with looking at everything just running within the GNOME Shell process. (And there is more stuff to add like support for examining and changing CSS properties, and performance monitoring and graphing.) So, it’s going to be hard to add poking into applications into there as well. But maybe there’s something that can be done – I haven’t thought about it much.

  17. Pat
    Posted October 8, 2009 at 5:06 pm | Permalink

    Looks quite nice. One of the things that I never like d about gnome, and thats one of my concerns (though optics) is the fact that window borders still are not antialiased.

    Other things are the behaviour on small screens with the big activities menu and fast navigation in activities(to start apps)/ application switching(or seeing what is open without to click somewhere) for users that need more than 1-2 opened apps at a time(this can really hurt your workflow).

    But, great work, good achievements, and nice to see some different approach.

    • Owen
      Posted October 8, 2009 at 6:46 pm | Permalink

      Doing antialiased corners is harder than it seems – it’s very easy if you just make all your windows have an alpha channel, but that costs you a huge amount of performance because then you have to draw *all the windows* *all the time* – you can’t optimize out obscured areas because you never know what’s transparent and what isn’t. For Compiz, what they do is draw the titlebars separately rather than including them as part of the Window texture – doing it that way works pretty well, but would require some major reworking of the Mutter/Metacity codebase. It also can cause some visual artifacts – if you look closely, you can sometimes seem gaps between a window’s titlebar and contents when rotated the Compiz cube. I have a plan for how to get nicely antialiased corners in Mutter – basically to draw almost everything as part of the window texture and draw just the corners separately. But like everything, it’s somewhere on the huge TODO pile 🙂

      I think GNOME Shell works pretty well on small screens – saving the space normally used for the taskbar is a definite win if you only have 768 or 600 pixels vertically. And it’s just a quick flick to get to the overview. The alt-Tab is the other main way of quickly switching apps and windows. The mouse navigability there adds extra possibilities for going directly to the window you want. [We’ve discussed having a key to bring up the alt-tab switcher without actually starting to switch so it would almost be like a pop-up dock or task list.] Our basic philosophy is that we don’t want to have the noise of having a permanently there list of windows – why should you care what you have open until you want to switch? But when you do want to switch to something we want to avoid hunting around – is it in alt-tab? no? let me check on another desktop? not there? OK, let me start it from a menu. The Activities Overview in particular is supposed to unify all of this.

      • Akshay Dua
        Posted October 15, 2009 at 2:13 pm | Permalink

        I think this is an awesome improvement. Will this have cursor navigability as well? (e.g. pressing right/left arrow keys takes you to next/previous application) I really miss this in Gnome today and would love to see it in Gnome Shell.

      • Owen
        Posted October 21, 2009 at 12:11 pm | Permalink

        Yes, arrows keys are hooked up to navigate between windows and applications in the new alt-tab dialog.

  18. Nam
    Posted October 9, 2009 at 5:09 pm | Permalink

    Congratulations, this is very nicely taking shape.

    Owen, I very much appreciate your work. This is expressed in a tribute I made on gnome-look, which also entails some suggestions concerning gnome-shell. Don’t hesitate to write back for a conversation about all this.

    http://gnome-look.org/content/show.php/A+Gnome-Shell+Variant?content=108332

  19. Erik
    Posted October 19, 2009 at 12:36 am | Permalink

    Will this work with Compiz, or are the rumors that it will be incompatible true?
    I would also like to say that MPX compatibility would be very nice.
    Also, it would be nice if you make the difference between switching to an application and starting one. (In case that isn’t relevant, it was probably a demo I saw somewhere else.) I don’t think that it will be easy to explain to new people to gnome how sometimes clicking on a button opens a window and other times it switches to one they have open when they want another one.
    I would also like to recommend that you read the following article, it really made me consider what is good interface design and what is not. http://www.asktog.com/columns/022DesignedToGiveFitts.html

    • Owen
      Posted October 21, 2009 at 12:16 pm | Permalink

      * gnome-shell is incompatible with Compiz; it *is* a window manager and compositing manager (and an application launcher) so it can’t work with a different window manager and compositing manager.
      * What we’re trying to do is make “I want to use Firefox” consistent whether or not you have Firefox open… you go to “Activities” and click on the Firefox icon.
      * Fitt’s law gets overemphasized; it’s a useful tool, not the be-all and end-all of user-interface design. But you’ll note that the most important target (Activities) is right in the corner of the screen; Fitt’s law is certainly somtehing we’ve taken into consideration.

      • Erik
        Posted October 26, 2009 at 2:24 pm | Permalink

        *From what I have seen it looks like when your application isn’t in the list you either have to click more or search for it in search box. That would mean that a user has to move their hands from the mouse to keyboard (and search for the right hand position) or click what looks like a small more target. I did notice that activities was at a good place though.
        *I think the ‘I want to use firefox’ thing may either be really simple or really confusing to a new person, I guess windows seven will be a good test case because it follows the same philosophy.
        *As far as gnome-shell not working with compiz: Compiz is one of the main reasons that I love GNU/Linux. So, if it is not compatible when Ubuntu starts using gnome-shell, then I would probably use something else, but don’t let that necessarily discourage you, others may like it.

  20. Carlos Luna
    Posted October 21, 2009 at 3:03 am | Permalink

    I think this look like gnome on opensuse. I don not like it so much but I keep trying to understand this gnome 3. How can we have the last releases?

  21. acreda
    Posted October 22, 2009 at 9:04 am | Permalink

    Hi Owen

    great work by all the team, as i had to stop using the shell interface due to the fact im still running G2.24 then new tweeks look ace.

    just curiously, would gnome shell be able to run under the Wayland X server (i know its experimental) once it’s matured and all the components are readily available ie all graphinc drivers have KMS etc….

    • Owen
      Posted November 7, 2009 at 4:05 pm | Permalink

      Well, Wayland is not an X server, it’s a new windowing system. Wayland, like the current X desktop, involves the idea of a compositing manager, and it makes conceptual sense to port gnome-shell to that role, but it’s not just running the code inside Wayland; a lot of things would change. Kristian Høgsberg – Mr. Wayland – has done some work already on a Wayland backend for Clutter which would be one part of the equation.

  22. Matthew
    Posted November 7, 2009 at 10:26 pm | Permalink

    Kudos on gnome-shell. The ideas that it implements are doubtlessly the future of task management. However, I fail to understand why it is replacing gnome-panel. Gnome-shell replaces many features that were previously implemented by panel applets, but it still needs to have a panel.

    Gnome-shell does not appear to have any integration with the panel except for button to activate activities mode. Couldn’t the panel code in gnome-shell be removed and replaced by an ‘activities’ button on gnome-panel? Perhaps everyone feels that the panel code is bloated and outdated, but shouldn’t that be a separate project? (I wouldn’t argue with a gnome-panel 3.0!) Clocks, calendars, global menus, etc already exist for gnome-panel.

    Also this would help adoption of gnome-shell because people could keep their window lists and quicklaunch icons still on the panel until they adapt. (I know that this is against gnome-shell’s principles, but it doesn’t have to come that way by default.)

    Gnome-shell’s features were previously implemented by panel applets, but gnome-shell should not be a panel. It may replace features provided by panel applets, but it need not replace the panel itself. The user just won’t need those applets wasting space on the panel anymore!

    (P.S. Everyone hated nautilus back in the day, and many developers thought that firefox was a useless concept. Just keep pushing forward.)

    • Owen
      Posted November 8, 2009 at 1:54 pm | Permalink

      It’s intentional that the contents of the top panel are much more locked down than they are with gnome-panel. You can’t really design interactions if you don’t know what you are designing for – e.g., the fact that the upper-left hand corner of the screen is hot (move your pointer there and the overview activates) is tied to the fact that the Activities button is there, so you won’t accidentally trigger the hot corner when doing something else. The display of the current application next to the Activities button will soon be turned into a menu for application-global options, and so forth.

      (There’s no particular reason that we couldn’t add a place in the top panel for user configured launchers, but the intent is that launching favorited apps from the overview is fast enough that you don’t need launchers permanently on the main screen. Launchers are, to some extent, a workaround for how bad the gnome menus are at starting things. So, we will likely leave adding launchers to the top panel as the domain of gnome-shell extensions.)

  23. Angelux
    Posted November 8, 2009 at 1:42 pm | Permalink

    It would be nice if I sholdn’t have to keep the tab key pressed when I use the arrows. Could this be done? or I’m the only one that wants that.

    • Owen
      Posted November 8, 2009 at 1:58 pm | Permalink

      I’ve floated the idea that Super-arrows (super == logo key) should be like alt-tab + arrows, so you could start arrowing in the “alt-tab overview” without having to hit alt-tab once. Not sure if that’s the sort of thing you are asking for. You certainly don’t have to *keep* tab pressed down to use the arrow keys, you just need to keep alt down.

  24. Owen
    Posted November 8, 2009 at 2:01 pm | Permalink

    I’m closing this post for comments now – this isn’t the best place to discuss the shell because nobody but me will see all the good suggestions. See http://live.gnome.org/GnomeShell for links to the mailing list, IRC channel, and Bugzilla.


%d bloggers like this: