[e-dev-day-us-2015][6/9] wayland - what's up upstream? (bryce harrington)
TRANSCRIPT
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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]
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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)
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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)
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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)
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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)
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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?)
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
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
..........
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
.....
.....
......
.....
......
.....
.....
.
EFL / Wayland feature requests ?