Update TODO
[profile/ivi/wayland.git] / TODO
diff --git a/TODO b/TODO
index 2a8f77a..8cb8d34 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,9 +1,50 @@
 Core wayland protocol
 
- - scanner: wl_* prefix removal: split it out into a namespace part so
-   we can call variables "surface" instead of "wl_surface"?
+ - 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.
 
- - Framebased input event delivery.
+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
@@ -13,13 +54,8 @@ Core wayland protocol
    allocate a scanout buffer now" event to the fullscreen-to-be
    client.
 
- - Next steps based on EGL_WL_bind_display: create EGLImageKHR from
-   shm buffers? async auth in the implementation of the extension?
-
- - wayland-egl: lazy-copy-back swapbuffer, sub-window.
 
- - configure should provide dx_left, dx_right, dy_top, dy_bottom, or
-   dx, dy, width and height.
+Misc
 
  - glyph cache
 
@@ -39,13 +75,6 @@ Core wayland protocol
       cache.retire: buffer /* cache has stopped using buffer, please
                            * reupload whatever you had in that buffer */
 
- - Pointer image issue:
-
-    - A direct touch input device (eg touch screen) doesn't have a
-      pointer; indicate that somehow.
-
-    - Cursor themes, tie in with glyph/image cache.
-
  - 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
@@ -56,52 +85,6 @@ Core wayland protocol
    switching away from.  for minimized windows that we don't want live
    thumb nails for. etc.
 
- - Event when a surface moves from one output to another.
-
- - input device discovery, hotplug
-
-    - Advertise axes as part of the discovery, use something like
-      "org.wayland.input.x" to identify the axes.
-
-    - keyboard state, layout events at connect time and when it
-      changes, keyboard leds
-
-    - relative events
-
-    - multi touch?
-
-    - synaptics, 3-button emulation, scim
-
- - multi gpu, needs queue and seqno to wait on in requests
-
-Destkop/EWMH type protocol
-
- - Protocol for specifying title bar rectangle (for moving
-   unresponsive apps) and a rectangle for the close button (for
-   detecting ignored close clicks).
-
-libxkbcommon
-
-  - pull in actions logic from xserver
-
-  - pull in keycode to keysym logic from libX11
-
-  - expose alloc functions in libxkbcommon, drop xserver funcs?
-
-  - pull the logic to write the xkb file from xkb_desc and names into
-    libxkbcommon and just build up the new xkb_desc instead of
-    dump+parse? (XkbWriteXKBKeymapForNames followed by
-    xkb_compile_keymap_from_string in XkbDDXLoadKeymapByNames)
-
-  - pull in keysym defs as XKB_KEY_BackSpace
-
-  - figure out what other X headers we can get rid of, make it not
-    need X at all (except when we gen the keysyms).
-
-  - Sort out namespace pollution (XkbFoo macros, atom funcs etc).
-
-  - Sort out 32 bit vmods and serialization
-
 
 Clients and ports
 
@@ -122,8 +105,6 @@ Clients and ports
  - SDL port, bnf has work in progress here:
    http://cgit.freedesktop.org/~bnf/sdl-wayland/
 
- - libva + eglimage + kms integration
-
 
 Ideas