[e-dev-day-us-2015][6/9] wayland - what's up upstream? (bryce harrington)

13
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wayland Development Status What’s been done recently, what people are up to currently, and what’s still on the horizon. Look at wishlists from GNOME and KDE, along with upstream plans and desires, and frequently requested features from the larger community. Bryce Harrington [email protected]

Upload: enlightenmentproject

Post on 30-Jul-2015

88 views

Category:

Software


0 download

TRANSCRIPT

Page 1: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Wayland Development Status

What’s been done recently, what people are up to currently, andwhat’s still on the horizon. Look at wishlists from GNOME andKDE, along with upstream plans and desires, and frequentlyrequested features from the larger community.Bryce [email protected]

Page 2: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Wayland Release HistoryWayland 1.5

▶ Use an internal event queue for wl_display events

Wayland 1.6

▶ Add error enums to wl_surface▶ Add keyboard repeat information to wl_keyboard protocol▶ wl_display_add_socket_auto()▶ wl_display_roundtrip_queue()▶ Error handling additions

Wayland 1.7

▶ wl_surface role (mainly documentation clarification)

Page 3: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Changes in the Works for Wayland

▶ Pointer lock feature set. Under review. (#84014)▶ CMS protocol. Attaching ICC profile to a surface. Unlikely.

(Patch 35006)▶ Make WAYLAND_DISPLAY configurable (Patch 43209)▶ Atomic modesetting support (#83888)

▶ kernel work is still on-going and very active▶ Compositor renders to separate buffers for each monitor▶ http://blog.ffwll.ch/2015/01/update-for-atomic-display-

updates.html▶ http://lists.freedesktop.org/archives/dri-devel/2015-

March/079539.html

▶ Various changes to wayland-scanner (#82794, #67757, …)▶ More dmabuf experiments (#83881)

Page 4: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Currently Baking in Weston

Protocols

▶ xdg-shell▶ presentation_timing - usable as is; ready for Wayland▶ scaler - usable as is; ready for Wayland (#83918)▶ workspaces - experimental▶ text-cursor-position - unknown▶ text - unknown▶ input-method - unknown▶ screenshooter - weston-only

Page 5: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Currently Baking in WestonLibraries

▶ libinput - already its own project▶ libweston? - intended for niche WMs or DEs

Weston shells

▶ desktop-shell▶ fullscreen-shell▶ ivi-shell

Other bits

▶ wcap - Weston CAPture, for lossless video capture.Weston-specific.

▶ xwayland - important, but won’t move to Wayland

Page 6: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Requests for Enhancements

▶ Screensaver inhibitor protocol (#89440)▶ Presentation extension (#83092)▶ Touch support (#77769)▶ Menu alignment / probing (#75382)▶ Scrolling while DND (#63874)▶ Cross-toolkit theme/font/etc. settings (#49021)▶ More keybindings in weston.ini (#85474)▶ Testing: (#83980)

▶ Backwards compatibility testing (#86110)▶ Headless/screenshot-based testing (#83981, #83984,

#83985, #83987)▶ Output transformation testing (#83989)▶ Fake keyboard events (#81071)

Page 7: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

EWMH Feature requests

▶ Protocol for specifying title bar rectangle, force-close button(#48997)

▶ xdg-shell features: (#48994)▶ Move to workspace▶ Keep on top▶ On all workspaces▶ Minimize

▶ configure should provide dx_left, dx_right, dy_top,dy_bottom, or dx, dy, width and height. (#48992)

Page 8: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

ICCCM Feature requests

▶ “no kb focus please” (#48991)▶ DND/Selection mime-type guidelines

▶ recommended types▶ Types supported by clipboard manager▶ Types listed order of preference

Page 9: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

KDE / Plasma - xdg-shell requested changes

xdg-shell features/changes

▶ On all workspaces▶ Keep above / keep below layer▶ Shading▶ Maximize behavior configurable▶ Maximize behavior dependent on which mouse button used▶ Window control button ordering▶ set_window_geometry - should account for drop shadowing.

▶ Drop shadow should not affect snapping or be visible inthumbnails.

▶ set_maximized with enums for state

Page 10: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

KDE / Plasma - Other feature requests

▶ Decoration buttons, globally configurable▶ Configurable mouse button actions▶ Drag delay for triggering move/resize▶ Convergence - Display of controls varies by form-factor

▶ Active/Touch - no windows have controls▶ Netbook - Only dialogs have controls▶ Desktop - Any window can have controls

▶ Dynamic icons▶ E.g. chat icon showing the remote is typing▶ Surface type like in NETWM (dialog? tooltip?)

Page 11: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Discussion Notes from Wayland Cross-Desktop meetingTray Icon / Notification

▶ Use fdo notifcation spec version 1.2 or later▶ Media player “remote” controls, already solved by mpris spec▶ Use use-case specific xdg API’s, where available▶ Clearly document that a tray-icon may not work everywhere

Global hotkey bindings

▶ Configured by the compositor▶ Apps expose “actions” for the compositor to bind keys,

gestures, voice commands, etc. to

Colorpicker API

Add actions to “minimized icon” context menu

Page 12: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

Discussion Notes from Wayland Cross-Desktop meetingScreenshot / screencasting API

▶ Security check left to compositor▶ Need xdg API for passing back a 32-bit RGBA buffer handle▶ Screencasting needs an xdg API, incl format negotiation.

Dynamic Icons

▶ Apps can make runtime change to icon?▶ Extend notification spec to allow apps to display badges next

to icon?

“Active” keygrab for virtual-machine viewers/games

▶ Reserve one key combo for compositor to break grab▶ This might tie into Pointer Lock

Page 13: [E-Dev-Day-US-2015][6/9] Wayland - What's up upstream? (Bryce Harrington)

..........

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

.....

.....

......

.....

......

.....

.....

.

EFL / Wayland feature requests ?