Kristian Høgsberg
ae6c8a6d73
First attempt at selection support
14 years ago
Kristian Høgsberg
5753188e16
Move basic grab handling to core libraries
14 years ago
Kristian Høgsberg
c5c510ec75
Set up visuals in wayland-server
...
Still very much hand-wavey, but at least it's only in one place now.
14 years ago
Kristian Høgsberg
b3fc757cd8
Handle buttons in grab objects too
14 years ago
Kristian Høgsberg
9c3e8d734e
Move grab state to struct wl_input_device
14 years ago
Kristian Høgsberg
287343a0d3
Use a grab object for drag and drop
14 years ago
Kristian Høgsberg
4be2ed9611
Drop dummy wl_grab_surface hack
14 years ago
Kristian Høgsberg
7132a9aeb8
Move get_time() helper back into compositor
14 years ago
Kristian Høgsberg
4685fa324f
Pass timestamp in surface destroy callback
14 years ago
Kristian Høgsberg
02ef1c1aca
Move focus tracking surface destroy callbacks into core
14 years ago
Kristian Høgsberg
3d76e652c5
Use the per-surface destroy callback for grabs as well
14 years ago
Kristian Høgsberg
ab8475cafd
Move get_time() helper to core
...
We'll need a better strategy for generating timestamps without input events
or pageflips. At least we'll need to ensure everybody is using the same
underlying time source.
14 years ago
Kristian Høgsberg
c551bd2ae8
Add a surface destroy callback and use it for focus tracking
14 years ago
Kristian Høgsberg
b313b02983
Chage the 'base' field to be the name of the super class instead
...
Instead of display->base.base we want display->proxy.object, or
buffer->buffer.resource.object.id = id;
which makes it clear what we end up addressing.
14 years ago
Kristian Høgsberg
2bb3ebe1e4
Create socket in /var/run/user/${HOME}
...
Use the runtime dir from XDG Base Directory Specification for creating the
socket in a directory only the user can read and write.
14 years ago
Kristian Høgsberg
2643707391
Move pointer and keyboard focus tracking into libwayland-server
14 years ago
Kristian Høgsberg
06bc26401c
Fix warnings from adding -Wall back
14 years ago
Kristian Høgsberg
b163cef6e7
Make the server event loop embeddable
...
By exposing the epoll fd, we can embed the server event loop in other
main loops suchs as Qt or GTK+.
14 years ago
Kristian Høgsberg
3d5bae0700
Add a shm buffer sharing mechanism
14 years ago
Kristian Høgsberg
6dd08ebbe1
Move core protocol libraries into wayland/ subdirectory
14 years ago
Kristian Høgsberg
50038e4757
Drop wl_surface_post_event() helper
...
Now wl_client_post_event() is the only entry point for sending out events.
14 years ago
Kristian Høgsberg
9d69f8e796
Replace commit/ack/frame protocol with simpler sync and frame callbacks
14 years ago
Kristian Høgsberg
13b8ae4986
Add convenience functions for posting display events
14 years ago
Kristian Høgsberg
f66d0f4e14
Get rid of wl_client_add_surface() special case
14 years ago
Kristian Høgsberg
e9d37bdc5f
Use a transient object for the dnd session
14 years ago
Kristian Høgsberg
1d7ffd32f8
Set pointer image only in response to 'target' event
14 years ago
Kristian Høgsberg
eef08fbb1a
First step towards drag and drop protocol
14 years ago
Kristian Høgsberg
77a4a79559
Fix warnings
14 years ago
Kristian Høgsberg
1db21f1cf5
Use different cursor images in the compositor
14 years ago
Kristian Høgsberg
a661f263b4
Name libraries -client and -server for consistency
...
Instead of wayland-server and wayland...
15 years ago
Kristian Høgsberg
5fcd0aa58e
Introduce 'buffer' object for attaching, image cahce and cursor images
...
The buffer object is created by a 'drm' object, which encapsulates the
buffer sharing and authentication mechanism. Once the buffer is created
it can be attached to a surface.
15 years ago
Kristian Høgsberg
c071f4d008
Handle failure to reference a buffer name better
15 years ago
Kristian Høgsberg
a1f3f60bea
Generate protocol types and metadata from xml
15 years ago
Kristian Høgsberg
da6c6b1a38
Add extern "C" wrappers to public header files
15 years ago
Kristian Høgsberg
478d9265f9
Send device name at connect time
15 years ago
Kristian Høgsberg
38bb716383
Drop surface::copy
15 years ago
Kristian Høgsberg
b559fcbf72
Add function to remove surfaces from client
15 years ago
Kristian Høgsberg
fabd4395ba
Track objects client side using a hash too.
...
This leads up to using the demarshal machinery for decoding events
in the client library.
16 years ago
Kristian Høgsberg
ee02ca6fa4
Add hook to allow globals to send cold-plug events to new clients.
...
This lets us boot strap the client side state cache. This commit also adds the first user
of this feature, an output object that represents the current output. Very simple
at this point, but will grow to something more like RandR 1.2.
16 years ago
Kristian Høgsberg
fe831a7494
Move protocol metadata to wayland-protocol.[ch].
...
This lets us share the metadata between server and client and we
can now use a va_arg marshalling function for sending client
requets.
16 years ago
Ray Strode
fe57347cb9
Add new event loop api for watching signals
...
This will provide us with a nice, safe mechanism
for getting notification of VT changes.
16 years ago
Kristian Høgsberg
de31d5ca6f
Add preliminary visual support.
16 years ago
Kristian Høgsberg
d2412e2c2e
Redesign the compositor / server interface.
...
This lets the compositor directly provide the implementation of the RMI
objects for the surface object and a new compositor object. We avoid the
manual forwarding of requests into the compositor and the clumsy compositor
interface struct.
16 years ago
Kristian Høgsberg
5ee1a60f1a
Rewrite input event delivery path.
...
Instead of having the input driver push the events into the core server,
only to have the server call back out to the compositor hooks, the driver now
just calls the compositor directly. The input drivers are always dependent on
the type of compositor anyway so there was no point in passing the events
through the server. Now the server is only involved when it's time to actually
send the events to the clients.
16 years ago
Kristian Høgsberg
5a75c90d01
Feed button events through compositor.
...
This also generalizes the code to send events to a surface a bit.
16 years ago
Kristian Høgsberg
715a081cf4
Feed motion events through compositor.
...
This lets us pass events only to the window that we're mousing over
and we can now transform input events back to the window coordinate space.
16 years ago
Kristian Høgsberg
201a904889
Drop surface iterator API, just track surfaces in the compositor.
16 years ago
Kristian Høgsberg
eac149ad06
Pass button clicks through to compositor.
...
This lets us handle raising windows, which is useful.
16 years ago
Kristian Høgsberg
dc0f355f0a
Fix API to always include socket name length.
16 years ago
Kristian Høgsberg
122912c69b
Make the wayland server a library used by the compositors.
16 years ago