diff options
author | Simon Ser <contact@emersion.fr> | 2020-12-14 17:27:45 +0100 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-12-28 10:15:28 +0000 |
commit | d01dee9784292027581726d51654834ed31d6931 (patch) | |
tree | e830ee1c43b59973816269a398b5e342978edd4f | |
parent | 74182eb605bf0e45b777cb8b942f5263877c7e72 (diff) | |
download | wayland-d01dee9784292027581726d51654834ed31d6931.tar.gz |
Remove TODO
These TODO items are outdated (either done or not applicable anymore). Let's
migrate items that we want to keep to GitLab issues.
Signed-off-by: Simon Ser <contact@emersion.fr>
-rw-r--r-- | TODO | 146 |
1 files changed, 0 insertions, 146 deletions
@@ -1,146 +0,0 @@ -Core wayland protocol - - - Maybe try to make remote wayland actually happen, to see if there - is something in the protocol/architecture that makes it harder than - it should be. - -ICCCM - - - mime-type guidelines for data_source (ie, both dnd and selection): - recommended types for text or images, types that a clipboard - manager must support, mime-types must be listed in preferred order - - - we need a "no kb focus please" mechanism. Or should this be - implicit in a specific surface type? - -EWMH - - - configure should provide dx_left, dx_right, dy_top, dy_bottom, or - dx, dy, width and height. - - - move to workspace, keep on top, on all workspaces, minimize etc - requests for implementing client side window menu? or just make a - "show window menu" request to let the compositor display and manage - a popup window? - - - window move and resize functionality for kb and touch. - - - Protocol for specifying title bar rectangle (for moving - unresponsive apps). Rectangle for close button, so we can popup - force-close dialog if application doesn't respond to ping event - when user clicks there. We could use the region mechanism here - too. - - - popup placement protocol logic. - - - subsurface mechanism. we need this for cases where we would use an - X subwindow for gl or video other different visual type. - -EGL/gbm - - - Land Robert Braggs EGL extensions: frame age, swap with damage - - - Make it possible to share buffers from compositor to clients. - Tricky part here is how to indicate to EGL on the server side that - it should make an EGLImage available to a client. We'll need a - "create a wl_buffer for this EGLImage for this client" kind of - entry point. - - - Protocol for arbitrating access to scanout buffers (physically - contiguous memory). When a client goes fullscreen (or ideally as - the compositor starts the animation that will make it fullscreen) - we send a "give up your scanout buffer" to the current fullscreen - client (if any) and when the client acks that we send a "try to - allocate a scanout buffer now" event to the fullscreen-to-be - client. - - -Misc - - - glyph cache - - - Needs a mechanism to pass buffers to client. - - buffer = drm.create_buffer(); /* buffer with stuff in it */ - - cache.upload(buffer, x, y, width, height, int hash) - - drm.buffer: id, name, stride etc /* event to announce cache buffer */ - - cache.image: hash, buffer, x, y, stride /* event to announce - * location in cache */ - - cache.reject: hash /* no upload for you! */ - - cache.retire: buffer /* cache has stopped using buffer, please - * reupload whatever you had in that buffer */ - - - A "please suspend" event from the compositor, to indicate to an - application that it's no longer visible/active. Or maybe discard - buffer, as in "wayland discarded your buffer, it's no longer - visible, you can stop updating it now.", reattach, as in "oh hey, - I'm about to show your buffer that I threw away, what was it - again?". for wayland system compositor vt switcing, for example, - to be able to throw away the surfaces in the session we're - switching away from. for minimized windows that we don't want live - thumb nails for. etc. - - -Clients and ports - - - port gtk+ - - - draw window decorations in gtkwindow.c - - - Details about pointer grabs. wayland doesn't have active grabs, - menus will behave subtly different. Under X, clicking a menu - open grabs the pointer and clicking outside the window pops down - the menu and swallows the click. without active grabs we can't - swallow the click. I'm sure there much more... - - - dnd, copy-paste - - - Investigate DirectFB on Wayland (or is that Wayland on DirectFB?) - - -Ideas - - - A wayland settings protocol to tell clients about themes (icons, - cursors, widget themes), fonts details (family, hinting - preferences) etc. Just send all settings at connect time, send - updates when a setting change. Getting a little close to gconf - here, but could be pretty simple: - - interface "settings": - event int_value(string name, int value) - event string_value(string name, string value) - - but maybe it's better to just require that clients get that from - somewhere else (gconf/dbus). - - -Crazy ideas - - - AF_WAYLAND - A new socket type. Eliminate compositor context - switch by making kernel understand enough of wayland that it can - forward input events as wayland events and do page flipping in - response to surface_attach requests: - - - ioctl(wayland_fd, "surface_attach to object 5 should do a kms page - flip on ctrc 2"); - - - what about multiple crtcs? what about frame event for other - clients? - - - forward these input devices to the client - - - "scancode 124 pressed or released with scan codes 18,22 and 30 - held down gives control back to userspace wayland. - - - what about maintaining cursor position? what about pointer - acceleration? maybe this only works in "client cursor mode", - where wayland hides the cursor and only sends relative events? - Solves the composited cursor problem. How does X show its - cursor then? - - - Probably not worth it. |