[PATCH weston 0/6] Implement xdg-shell's show_window_menu API

Dima Ryazanov dima at gmail.com
Mon Dec 5 03:36:29 UTC 2016


This series implements window menus in Weston - so e.g. right-clicking
the title bar of a Gnome app in Weston will actually show a popup menu.
The last patch makes Weston clients use the same API, so they'll get
a native-looking menu when running in Gnome.

Patches 1, 3, and 4 should be pretty uncontroversial.
Patch 2 is a hack, but might be correct anyways.
Patch 5 is where all the work is done. It's still a work-in-progress, but
  I'd like to get some feedback.
Patch 6 doesn't technically depend on 1-5, but will be sort of a regression
  without them.

Known bugs:
- The menu is displayed at an offset
- When Gnome apps display the menu, it looks like the grab stays around even
  after the menu is dismissed; you have to click again before you can do
  anything else.

Dima Ryazanov (6):
  libweston: Pass the serial along with the other data in the
    show_window_menu API
  libweston: Use the monotonic clock in weston_compositor_get_time
  window: Require the serial in window_show_menu
  window: Call the menu callback even if the menu was dismissed
  Display the window menu using the desktop shell
  window: Start using xdg-shell's show_window_menu API

 clients/desktop-shell.c               | 46 ++++++++++++++++-
 clients/editor.c                      |  4 +-
 clients/resizor.c                     |  4 +-
 clients/stacking.c                    |  4 +-
 clients/terminal.c                    |  4 +-
 clients/window.c                      | 95 +++++++++++++++++++++--------------
 clients/window.h                      | 14 +++++-
 desktop-shell/shell.c                 | 49 +++++++++++++++++-
 desktop-shell/shell.h                 |  2 +
 libweston-desktop/internal.h          |  7 ++-
 libweston-desktop/libweston-desktop.c |  4 +-
 libweston-desktop/libweston-desktop.h | 11 +++-
 libweston-desktop/surface.c           | 30 +++++++++++
 libweston-desktop/xdg-shell-v5.c      |  3 +-
 libweston-desktop/xdg-shell-v6.c      | 55 +++++++++++++++++++-
 libweston/compositor.c                |  6 +--
 protocol/weston-desktop-shell.xml     | 12 +++++
 17 files changed, 293 insertions(+), 57 deletions(-)

-- 
2.9.3



More information about the wayland-devel mailing list