Gnome-Pie 0.7.1!

Starting with Gnome-Pie 0.7.1, there is initial support for Wayland. However, it is very limited for now – at least it does not crash anymore!

Problems of Wayland

Wayland – in it’s current state – makes applications such as Gnome-Pie hardly possible. Due to security concerns, applications are much more isolated. There is a good summary on the cairo-dock forums. Here are the big bummers:

No client side window placement: Application cannot position their windows. How shall we open the Pie beneath the cursor? The only way I can think of is to open a transparent full screen window and draw Gnome-Pie at the pointer location. Sadly, this is not possible either: Only as soon as the user moves the pointer over the window, we can get the pointer location. I see no chance in getting this information more early. That means that we simply do not know were the mouse is when we open the full screen window. Hence, Pies can be opened at the center of the screen only.

No global input grabbing: Another reason for the full screen window is, that input capturing is impossible. This is the only possibility to close Gnome-Pie when the user clicks outside the activation radius. The full screen window makes the whole thing much slower and may lead to unwanted side effects such as auto-hiding panels.

No global key bindings: Applications cannot intercept keyboard or mouse events anymore. While this seems reasonable in the context of security concerns, it limits the usefulness of Gnome-Pie drastically. The only possibility is to open Pies with the terminal command gnome-pie --open <ID of your Pie>. Of course, this command can be bound to global hot keys of your desktop shell (as can be seen in the screen shot above), assigned to hot corners, etc. However, there is no way to support the turbo mode and delayed activation mode Gnome-Pie features on X11.

No mouse pointer warping: It is impossible for an application to manipulate the position of the mouse pointer. Therefore it is impossible to warp the pointer to the center of the Pie.

No client side window management: This is something for the desktop shell. There is possibility for a client application to get a list of opened windows. Therefore something like the window list slice group (Alt-Tab) is not possible. Maybe there will be an interface in future? Gnome-Pie uses wnck which is specific to X11.

No sending of fake keyboard events: This is a very useful action type for pie slices. In addition, this is required for deferred pie activation.

The conclusion

Hopefully this can be improved in future, however a lot of security decisions have been made during the development of Wayland which make applications like Gnome-Pie basically impossible. If there are no large scale changes in Wayland, I see bad future for Gnome-Pie.

If someone knows solutions for some of these problems please help making Gnome-Pie useful on Wayland!

Are there alternatives?

As pointed out by Ricardo Rodrigues a possible approach would be to re-write Gnome-Pie as an extension for Gnome-Shell. This would solve some of the Wayland-related problems (opening things at the mouse pointer, very sophisticated window management) while several other things may remain impossible (e.g. deferred activation). I wrote a prove-of-concept menu extension (for now, I call it Gnome-Pie 2 even if it’s not an actual pie menu). Here is a work-in-progress screen capture:

This runs on Wayland flawlessly. Maybe that’s the way to go!

Complete changelog

  • New Feature: Basic Wayland support with the following limitations:
    • No key bindings.
    • No delayed activation.
    • No turbo activation.
    • No mouse pointer warping.
    • Only centered Pies.
    • Transparent fullscreen windows are used.
    • No window list slice group
  • All related options are removed from the user interface when Gnome-Pie is started on Wayland.
  • Improvement: The code for bookmark monitoring has been simplified.
  • Improvement: Many deprecation warnings of GTK 3.20 and GTK 3.22 have been fixed.
  • Improvement: The Russian translation has been updated (thank you, Ashed).
  • Improvement: When an icon is not found, “image-missing” is used as fallback. This is a standard icon name and should be available in almost all icon themes.
  • Improvement: Gnome-Pie will now search for icons in ~/.icons. All images put in this directory will be available in the icon selection dialog1
  • Improvement: Gnome-Pie will use GTK3 bookmarks if .gtk-bookmarks are not found.
  • Improvement: The default ALT-Tab pie will use a standard icon now.
  • Improvement: Bamf is used again (if available) since there are some cases in which the the discovered application icons are more appropriate (thank you, Tiago de Oliveira Corrêa, you have been added to the authors list).
  • Bugfix: Bookmarks slice group now supports bookmark names with spaces.
  • Bugfix: The window list slice group now shows all windows (thank you again, Tiago de Oliveira Corrêa).
  • Bugfix: The items of the window list slice group update their names labels when the application title changes (thank you once more, Tiago de Oliveira Corrêa)
  • Bugfix: The button linking to the theme creation tutorial works now.
  • Bugfix: Fixed critical error when deleting last pie in the pie list.

As always, the official Gnome-Pie PPA has been updated. It now provides updated packages for Vivid, Xenial, Yakkety, Zesty and Artful.

Where do I get it?

Simply use one of the links below to learn more about Gnome-Pie and to get involved in this project!


blog comments powered by Disqus