summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2020-12-14 17:27:45 +0100
committerSimon Ser <contact@emersion.fr>2020-12-28 10:15:28 +0000
commitd01dee9784292027581726d51654834ed31d6931 (patch)
treee830ee1c43b59973816269a398b5e342978edd4f
parent74182eb605bf0e45b777cb8b942f5263877c7e72 (diff)
downloadwayland-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--TODO146
1 files changed, 0 insertions, 146 deletions
diff --git a/TODO b/TODO
deleted file mode 100644
index 88fa5cc..0000000
--- a/TODO
+++ /dev/null
@@ -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.