summaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'TODO')
-rw-r--r--TODO52
1 files changed, 0 insertions, 52 deletions
diff --git a/TODO b/TODO
index f7f9844..b5d70bd 100644
--- a/TODO
+++ b/TODO
@@ -97,51 +97,6 @@ Core wayland protocol
switching away from. for minimized windows that we don't want live
thumb nails for. etc.
- - Per client id space. Each client has an entire 32 bit id namespace
- to itself. On the server side, each struct wl_client has an object
- hash table. Object announcements use a server id space and clients
- must respond with subscribe request with a client id for the
- object. Part of wl_proxy_create_for_id():
-
- wl_display_subscribe(display, id, new_id, my_version);
-
- or maybe
-
- wl_display_bind(display, id, new_id, my_version);
-
- Fixes a few things:
-
- - Maps the global object into the client id space, lets client
- allocate the id. All ids are allocated by the client this way,
- which fixes the range protocol problem.
-
- - Tells the server that the client is interested in events from
- the object. Lets the server know that a client participates in a
- certain protocol (like drag and drop), so the server can account
- for whether or not the client is expected to reply
-
- - Server emits initial object state event(s) in reponse to
- receiving the subscribe request. Introduces an extra round trip
- at initialization time, but the server will still announces all
- objects in one burst and the client can subscribe in a burst as
- well.
-
- - Separates client resources, since each client will have it's own
- hash table. It's not longer possible to guess the id of another
- surface and access it.
-
- - Server must track the client id for each client an object is
- exposed to. In some cases we know this (a surface is always
- only owned by one client), in other cases it provides a way to
- track who's interested in the object events. For input device
- events, we can look up the client name when it receives pointer
- focus or keyboard focus and cache it in the device.
-
- - Server must know which id to send when passing object references
- in events. We could say that any object we're passing to a
- client must have a server id, and each client has a server id ->
- client id hash.
-
- Event when a surface moves from one output to another.
- input device discovery, hotplug
@@ -160,13 +115,6 @@ Core wayland protocol
- drm bo access control, authentication, flink_to
- - Range protocol may not be sufficient... if a server cycles through
- 2^32 object IDs we don't have a way to handle wrapping. And since
- we hand out a range of 256 IDs to each new clients, we're just
- talking about 2^24 clients. That's 31 years with a new client
- every minute... Maybe just use bigger ranges, then it's feasible
- to track and garbage collect them when a client dies.
-
- Add protocol to let applications specify the effective/logical
surface rectangle, that is, the edge of the window, ignoring drop
shadows and other padding. The compositor needs this for snapping