summaryrefslogtreecommitdiff
path: root/NOTES
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@redhat.com>2008-09-30 09:46:10 -0400
committerKristian Høgsberg <krh@redhat.com>2008-09-30 09:56:42 -0400
commit97f1ebe8d5c2e166fabf757182c289fed266a45a (patch)
tree3eb472ec9d560becb94e08650629d376d763d2b6 /NOTES
Initial commit.
This has the basic event loop, and a first cut of the libffi dispatcher.
Diffstat (limited to 'NOTES')
-rw-r--r--NOTES53
1 files changed, 53 insertions, 0 deletions
diff --git a/NOTES b/NOTES
new file mode 100644
index 0000000..f4534c2
--- /dev/null
+++ b/NOTES
@@ -0,0 +1,53 @@
+
+KEYWORDS:
+
+Wayland is a nano display server, relying on drm modesetting, gem
+batchbuffer submission and hw initialization generally in the
+kernel. Wayland is compositing manager and display server in one
+process. window management is largely pushed to the clients, they
+draw their own decorations and move and resize themselves,
+typically implemented in a library. more of the core desktop could
+be pushed into wayland, for example, stock desktop components such
+as the panel or the desktop background.
+
+It is still designed with a windowed type of desktop in mind, as
+opposed to fullscreen-all-the-time type of interface.
+
+Current trends goes towards less and less rendering in X server,
+more hardware setup and management in kernel and shared libraries
+allow code sharing without putting it all in a server.
+
+Client allocates DRM buffers, draws decorations, and full window
+contents and posts entire thing to server along with dimensions.
+
+Everything is direct rendered and composited. No cliprects, no
+drawing api/protocl between server and client. No
+pixmaps/windows/drawables, only surfaces (essentially pixmaps). No
+gcs/fonts, no nested windows. OpenGL is already direct rendered,
+pixman may be direct rendered which adds the cairo API, or cairo
+may gain a GL backend.
+
+ISSUES:
+
+Include panel and desktop background in wayland?
+
+How does clients move their surfaces? set a full tri-mesh every time?
+
+How does the server apply transformations to a surface behind the
+clients back? (wobbly, minimize, zoom) Maybe wobble is client side?
+
+How do apps share the glyph cache?
+
+Input handling - keyboard focus, multiple input devices, multiple
+pointers, multi touch.
+
+Drawing cursors, moving them, cursor themes, attaching surfaces to
+cursors. How do you change cursors when you mouse over a text
+field if you don't have subwindows?
+
+synaptics, 3-button emulation, xkb, scim
+
+RMI
+
+the get_interface method is called on an object to get an object
+handle that implements the specified interface. \ No newline at end of file