Commit Graph

1613 Commits

Author SHA1 Message Date
Kristian Høgsberg
b3131d9268 Add client side demarshalling for events.
This also consolidates the marshalling code in connection.c and
uses the same functions in the server and client for marshalling.
2008-12-24 19:31:58 -05:00
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.
2008-12-22 18:06:49 -05:00
Kristian Høgsberg
12ea62e211 Add a proxy for the server side output object. 2008-12-22 16:37:07 -05:00
Kristian Høgsberg
0395f30e65 Add a fullscreen mode to the terminal. 2008-12-22 12:14:50 -05:00
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.
2008-12-21 23:37:12 -05:00
Kristian Høgsberg
8049cbb88a Also check for interface version wl_display_get_object_id(). 2008-12-21 23:33:10 -05:00
Kristian Høgsberg
97079ad52c Send client id range as an event.
This also makes the server send the event again when the client is
about to exhaust its current client range.
2008-12-21 22:45:33 -05:00
Kristian Høgsberg
fb6d68ddbe Represent event and method metadata with struct wl_message. 2008-12-21 21:57:45 -05:00
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.
2008-12-21 21:50:36 -05:00
Kristian Høgsberg
bf967b469f Advertise globals using a new display event. 2008-12-21 20:25:16 -05:00
Kristian Høgsberg
0ab262421a Consolidate tty setup and fix a few spacing issues. 2008-12-21 19:33:09 -05:00
Kristian Høgsberg
e3ef3e59f8 Oops, fix compilation. 2008-12-21 19:30:01 -05:00
Kristian Høgsberg
7e972a5b18 Move coordinate transformation to pick_surface(). 2008-12-21 17:26:00 -05:00
Ray Strode
e96dcb8f93 Only forward events to compositor if on active VT
Previously, we'd send things like the user's password
to the active irc window when they logged into a getty
running on a different tty.
2008-12-20 02:00:49 -05:00
Kristian Høgsberg
33500890b3 Handle more control characters in terminal. 2008-12-19 17:38:55 -05:00
Ray Strode
966aa112e7 Ignore tty input
Previously, ctrl-c would kill wayland and input like
passwords and commands would get typed into the terminal
under the scenes.
2008-12-19 17:38:55 -05:00
Kristian Høgsberg
2c0e56b2d5 Drop the silly overlay hack. 2008-12-19 13:54:40 -05:00
Kristian Høgsberg
82f6e8a2ef Rename egl-compositor to wayland-system-compositor.
The wayland-system-compositor is the top-level compositor.  X sessions
or nested Wayland sessions will run as clients of the system compositor.
The system compositor is licensed under the GPL.
2008-12-19 13:47:53 -05:00
Kristian Høgsberg
15d0f8b236 Use the new eagle config chooser for picking the config. 2008-12-19 12:13:42 -05:00
Kristian Høgsberg
112c0bee18 Remove visual debug prints. 2008-12-19 11:17:38 -05:00
Kristian Høgsberg
2c875bd31e Cache modesetting data and just do drmModeSetCrtc on vt enter. 2008-12-19 11:13:44 -05:00
Kristian Høgsberg
38ccd3a23e Do vt ioctl on the right fd. 2008-12-19 10:15:35 -05:00
Ray Strode
19ad6a9db3 Restore framebuffer when switching back to VT
The kernel currently automatically redirects
output to the kernel framebuffer when switching
VTs away from wayland.  It doesn't restore
output back to wayland's fb when coming back
to the VT.  This patch works around that issue.
2008-12-19 01:49:22 -05:00
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.
2008-12-19 01:49:22 -05:00
Ray Strode
90e701df08 Force pointer to stay on screen.
Without this change it's really easy to
accidentally send the pointer flying and not
be able to get it back.
2008-12-18 23:06:26 -05:00
Kristian Høgsberg
2d4219e542 Scale background pixbuf when loading.
This lets us avoid hitting the texture limit for some backgrounds.
2008-12-18 21:40:03 -05:00
Ray Strode
18fd33c9bb Fix rgb byte order for GdkPixbuf backgrounds. 2008-12-18 21:05:20 -05:00
Kristian Høgsberg
e10b828562 Remember to handle rgb_visual case in surface_attach. 2008-12-18 19:58:44 -05:00
Kristian Høgsberg
de31d5ca6f Add preliminary visual support. 2008-12-18 17:55:33 -05:00
Kristian Høgsberg
c8c5d5872d Set terminal type to vt100. 2008-12-18 14:50:08 -05:00
Kristian Høgsberg
b7037a02f0 Don't pin front buffer, kernel modesetting takes care of that now. 2008-12-18 13:18:02 -05:00
Kristian Høgsberg
5b7f832eab Fall back to solid color background if not image is found. 2008-12-18 12:10:37 -05:00
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.
2008-12-15 20:35:24 -05:00
Kristian Høgsberg
0ea4710b3d Use gdk-pixbuf for saving the screenshot. 2008-12-14 15:53:13 -05:00
Kristian Høgsberg
3f16956c06 Initialize count to 0 in wl_list_length().
Not sure how this ever really worked before...
2008-12-14 15:52:34 -05:00
Kristian Høgsberg
64949978f4 Fix default input device path. 2008-12-12 14:48:46 -05:00
Kristian Høgsberg
a7700c8ff1 Handle per-device keyboard focus. 2008-12-12 13:48:30 -05:00
Kristian Høgsberg
f0c7b2083a Don't close uninitialized fd, check forkpty error. 2008-12-12 13:39:03 -05:00
Kristian Høgsberg
c492b482d0 Make multi-pointer work.
This also add command line parsing as a way to specify the input
device files to use.
2008-12-12 12:17:51 -05:00
Kristian Høgsberg
d6531261de Add option parsing using GOption. 2008-12-12 12:17:51 -05:00
Kristian Høgsberg
864c468b42 Make sure we initialize object hash.
This patch also move the hash implementation details to wayland-util.c.
2008-12-12 12:17:47 -05:00
Kristian Høgsberg
997e71eb1e Use the screen size for sizing the background. 2008-12-12 10:33:04 -05:00
Kristian Høgsberg
9e4c76b530 Pass -fPIC when compiling shared libraries. 2008-12-12 10:26:04 -05:00
Kristian Høgsberg
aad70ba986 Forgot to add egl-compositor.h. 2008-12-12 09:53:27 -05:00
Kristian Høgsberg
29573bc569 Implement passive grabs on button clicks. 2008-12-11 23:27:27 -05:00
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.
2008-12-11 23:18:45 -05:00
Kristian Høgsberg
d1c58d60f6 Fix signature for pointer motion event. 2008-12-10 17:31:44 -05:00
Kristian Høgsberg
b96785ca61 Drop glx-compositor for now.
Might want to resurrect this later, but for now, let's not try to
drag it along.
2008-12-10 17:26:28 -05:00
Kristian Høgsberg
4a8767bbb7 Install libraries plus headers and add pkg-config files. 2008-12-10 13:49:28 -05:00
Kristian Høgsberg
7fdff04cdc Only send key events to toplevel surface. 2008-12-10 13:25:00 -05:00