Kristian Høgsberg [Tue, 17 Mar 2009 20:12:51 +0000 (16:12 -0400)]
Factor out session switching stuff to struct wlsc_session.
Kristian Høgsberg [Wed, 11 Mar 2009 03:40:35 +0000 (23:40 -0400)]
Create front buffer with eagle.
This removes the intel dependencies from the system compositor.
Kristian Høgsberg [Wed, 11 Mar 2009 03:19:46 +0000 (23:19 -0400)]
Trim include list.
Kristian Høgsberg [Wed, 11 Mar 2009 03:17:00 +0000 (23:17 -0400)]
Dont crash when surfaces and clients disappear
Set up a notification system, so we get a callback when a client and its
surfaces disappear and can drop references the lost surface.
Kristian Høgsberg [Sat, 7 Mar 2009 02:25:21 +0000 (21:25 -0500)]
Send key array when losing focus too.
The compositor tracks this anyway, and the client will typically need
this to post key release events and adjust modifier status.
Kristian Høgsberg [Sat, 7 Mar 2009 02:24:01 +0000 (21:24 -0500)]
Allocate GL front buffer through eagle instead of cairo.
Kristian Høgsberg [Thu, 5 Mar 2009 12:49:42 +0000 (07:49 -0500)]
Renable blurred dropshadows and fix call to blur_surface().
Kristian Høgsberg [Tue, 24 Feb 2009 03:37:14 +0000 (22:37 -0500)]
Update modifier state on focus in and out.
Kristian Høgsberg [Tue, 24 Feb 2009 03:30:29 +0000 (22:30 -0500)]
Include the currently pressed keys in keyboard focus event.
Kristian Høgsberg [Tue, 24 Feb 2009 02:06:05 +0000 (21:06 -0500)]
terminal: trim unused headers.
Kristian Høgsberg [Mon, 23 Feb 2009 04:01:35 +0000 (23:01 -0500)]
Paint terminal cursor hollow when focus is lost.
Kristian Høgsberg [Mon, 23 Feb 2009 03:30:10 +0000 (22:30 -0500)]
Don't close the pty master in forkpty child.
Kristian Høgsberg [Mon, 23 Feb 2009 02:51:24 +0000 (21:51 -0500)]
Add keyboard and pointer focus events.
Kristian Høgsberg [Mon, 23 Feb 2009 01:59:44 +0000 (20:59 -0500)]
Remove spurious unused local variable.
Kristian Høgsberg [Mon, 23 Feb 2009 01:58:29 +0000 (20:58 -0500)]
Add new surfaces to client hash table.
Kristian Høgsberg [Mon, 23 Feb 2009 01:57:57 +0000 (20:57 -0500)]
Handle marshalling NULL objects.
Kristian Høgsberg [Mon, 23 Feb 2009 00:19:47 +0000 (19:19 -0500)]
Rename pointer_surface to sprite in wlsc_surface.
Kristian Høgsberg [Sat, 21 Feb 2009 20:42:25 +0000 (15:42 -0500)]
Draw terminal cursor.
Chris Wilson [Sat, 21 Feb 2009 20:22:06 +0000 (15:22 -0500)]
Add an image viewer client
Kristian Høgsberg [Sat, 21 Feb 2009 19:31:09 +0000 (14:31 -0500)]
Move keymap to window.c
Kristian Høgsberg [Mon, 16 Feb 2009 05:26:22 +0000 (00:26 -0500)]
Use chooser instead of hardcoded fbconfig in gears.c.
Kristian Høgsberg [Mon, 16 Feb 2009 03:37:03 +0000 (22:37 -0500)]
Track drm modesetting api changes (grr).
Kristian Høgsberg [Sat, 14 Feb 2009 22:47:55 +0000 (17:47 -0500)]
Don't forget to transform coordinates for the grab surface.
Kristian Høgsberg [Wed, 11 Feb 2009 00:48:47 +0000 (19:48 -0500)]
Re-init link when removing animation.
Kristian Høgsberg [Tue, 10 Feb 2009 23:30:14 +0000 (18:30 -0500)]
Don't crash when there's no primary surface.
Kristian Høgsberg [Tue, 10 Feb 2009 23:29:24 +0000 (18:29 -0500)]
Fix surface coordinate transformation.
Kristian Høgsberg [Tue, 10 Feb 2009 19:20:26 +0000 (14:20 -0500)]
Add surface animation framework, implement fullscreen surface switcher.
Kristian Høgsberg [Tue, 10 Feb 2009 19:15:44 +0000 (14:15 -0500)]
Read connection events in screenshot.c
Kristian Høgsberg [Mon, 9 Feb 2009 20:17:46 +0000 (15:17 -0500)]
Add a per-surface matrix.
Kristian Høgsberg [Tue, 2 Jan 2001 04:44:10 +0000 (23:44 -0500)]
Fix flower client.
Kristian Høgsberg [Tue, 2 Jan 2001 03:24:24 +0000 (22:24 -0500)]
Quit compositor on eject key press.
Kristian Høgsberg [Tue, 2 Jan 2001 03:23:51 +0000 (22:23 -0500)]
Switch to using a projective transformation.
Kristian Høgsberg [Fri, 6 Feb 2009 03:59:16 +0000 (22:59 -0500)]
Add a crazy rambling style TODO file.
Kristian Høgsberg [Tue, 27 Jan 2009 04:42:46 +0000 (23:42 -0500)]
Add a toy-display object that caches state.
This will be GdkDisplay for GTK+ on Wayland etc. This restores
the terminal fullscreen mode.
Kristian Høgsberg [Tue, 27 Jan 2009 04:07:00 +0000 (23:07 -0500)]
Finish egl_* to wlsc_* rename.
Kristian Høgsberg [Tue, 27 Jan 2009 03:54:40 +0000 (22:54 -0500)]
Use glReadPixels() for the screen shooter
"Those who don't understand OpenGL are bound to reimplement it badly..."
Kristian Høgsberg [Tue, 27 Jan 2009 02:38:14 +0000 (21:38 -0500)]
Depend on udev 136 and clean up some code.
Kristian Høgsberg [Tue, 27 Jan 2009 02:37:29 +0000 (21:37 -0500)]
Only tag the card0 device with seat info for now.
Kristian Høgsberg [Fri, 16 Jan 2009 13:13:00 +0000 (08:13 -0500)]
Drop libdrm CFLAGS where no longer necessary.
Kristian Høgsberg [Thu, 15 Jan 2009 16:37:43 +0000 (11:37 -0500)]
Switch to cairo-drm, drop struct buffer hacks.
Kristian Høgsberg [Fri, 16 Jan 2009 12:47:28 +0000 (07:47 -0500)]
Fix udev rules install rule.
Kristian Høgsberg [Thu, 15 Jan 2009 16:44:35 +0000 (11:44 -0500)]
Initialize output position properly.
Kristian Høgsberg [Thu, 15 Jan 2009 17:45:49 +0000 (12:45 -0500)]
Randomize flower offset again.
Kristian Høgsberg [Thu, 15 Jan 2009 17:50:21 +0000 (12:50 -0500)]
Update to track udev API change in eagle.
Kristian Høgsberg [Wed, 31 Dec 2008 21:24:16 +0000 (16:24 -0500)]
Add wayland udev rules file.
Kristian Høgsberg [Wed, 31 Dec 2008 21:18:42 +0000 (16:18 -0500)]
Split out per-output state, use libudev for enumerating hardware.
This paves the way for proper multi-head support and removes more
hardcoded i965 defaults by using udev to discover output devices
and their PCI IDs.
Kristian Høgsberg [Tue, 30 Dec 2008 19:31:33 +0000 (14:31 -0500)]
Use libudev for enumerating input devices.
Kristian Høgsberg [Tue, 30 Dec 2008 16:03:33 +0000 (11:03 -0500)]
Add listener interfaces for output and input_device objects.
Kristian Høgsberg [Tue, 30 Dec 2008 15:53:20 +0000 (10:53 -0500)]
Use a more generic glob for input devices.
Kristian Høgsberg [Thu, 25 Dec 2008 00:30:25 +0000 (19:30 -0500)]
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.
Kristian Høgsberg [Mon, 22 Dec 2008 23:06:49 +0000 (18:06 -0500)]
Track objects client side using a hash too.
This leads up to using the demarshal machinery for decoding events
in the client library.
Kristian Høgsberg [Mon, 22 Dec 2008 21:37:07 +0000 (16:37 -0500)]
Add a proxy for the server side output object.
Kristian Høgsberg [Mon, 22 Dec 2008 17:14:50 +0000 (12:14 -0500)]
Add a fullscreen mode to the terminal.
Kristian Høgsberg [Mon, 22 Dec 2008 04:37:12 +0000 (23:37 -0500)]
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.
Kristian Høgsberg [Mon, 22 Dec 2008 03:50:32 +0000 (22:50 -0500)]
Also check for interface version wl_display_get_object_id().
Kristian Høgsberg [Mon, 22 Dec 2008 03:45:33 +0000 (22:45 -0500)]
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.
Kristian Høgsberg [Mon, 22 Dec 2008 02:54:51 +0000 (21:54 -0500)]
Represent event and method metadata with struct wl_message.
Kristian Høgsberg [Mon, 22 Dec 2008 02:50:23 +0000 (21:50 -0500)]
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.
Kristian Høgsberg [Mon, 22 Dec 2008 01:25:16 +0000 (20:25 -0500)]
Advertise globals using a new display event.
Kristian Høgsberg [Mon, 22 Dec 2008 00:33:09 +0000 (19:33 -0500)]
Consolidate tty setup and fix a few spacing issues.
Kristian Høgsberg [Mon, 22 Dec 2008 00:30:01 +0000 (19:30 -0500)]
Oops, fix compilation.
Kristian Høgsberg [Sun, 21 Dec 2008 22:26:00 +0000 (17:26 -0500)]
Move coordinate transformation to pick_surface().
Ray Strode [Sat, 20 Dec 2008 07:00:49 +0000 (02:00 -0500)]
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.
Kristian Høgsberg [Fri, 19 Dec 2008 22:37:49 +0000 (17:37 -0500)]
Handle more control characters in terminal.
Ray Strode [Fri, 19 Dec 2008 19:28:02 +0000 (14:28 -0500)]
Ignore tty input
Previously, ctrl-c would kill wayland and input like
passwords and commands would get typed into the terminal
under the scenes.
Kristian Høgsberg [Fri, 19 Dec 2008 18:54:40 +0000 (13:54 -0500)]
Drop the silly overlay hack.
Kristian Høgsberg [Fri, 19 Dec 2008 18:47:53 +0000 (13:47 -0500)]
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.
Kristian Høgsberg [Fri, 19 Dec 2008 17:13:42 +0000 (12:13 -0500)]
Use the new eagle config chooser for picking the config.
Kristian Høgsberg [Fri, 19 Dec 2008 16:17:38 +0000 (11:17 -0500)]
Remove visual debug prints.
Kristian Høgsberg [Fri, 19 Dec 2008 15:34:02 +0000 (10:34 -0500)]
Cache modesetting data and just do drmModeSetCrtc on vt enter.
Kristian Høgsberg [Fri, 19 Dec 2008 15:15:35 +0000 (10:15 -0500)]
Do vt ioctl on the right fd.
Ray Strode [Fri, 19 Dec 2008 06:45:41 +0000 (01:45 -0500)]
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.
Ray Strode [Fri, 19 Dec 2008 05:22:18 +0000 (00:22 -0500)]
Add new event loop api for watching signals
This will provide us with a nice, safe mechanism
for getting notification of VT changes.
Ray Strode [Fri, 19 Dec 2008 04:05:43 +0000 (23:05 -0500)]
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.
Kristian Høgsberg [Fri, 19 Dec 2008 02:40:03 +0000 (21:40 -0500)]
Scale background pixbuf when loading.
This lets us avoid hitting the texture limit for some backgrounds.
Ray Strode [Fri, 19 Dec 2008 02:05:20 +0000 (21:05 -0500)]
Fix rgb byte order for GdkPixbuf backgrounds.
Kristian Høgsberg [Fri, 19 Dec 2008 00:58:44 +0000 (19:58 -0500)]
Remember to handle rgb_visual case in surface_attach.
Kristian Høgsberg [Thu, 18 Dec 2008 22:55:33 +0000 (17:55 -0500)]
Add preliminary visual support.
Kristian Høgsberg [Thu, 18 Dec 2008 19:50:08 +0000 (14:50 -0500)]
Set terminal type to vt100.
Kristian Høgsberg [Thu, 18 Dec 2008 18:18:02 +0000 (13:18 -0500)]
Don't pin front buffer, kernel modesetting takes care of that now.
Kristian Høgsberg [Thu, 18 Dec 2008 17:08:19 +0000 (12:08 -0500)]
Fall back to solid color background if not image is found.
Kristian Høgsberg [Tue, 16 Dec 2008 01:35:24 +0000 (20:35 -0500)]
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.
Kristian Høgsberg [Sun, 14 Dec 2008 20:53:13 +0000 (15:53 -0500)]
Use gdk-pixbuf for saving the screenshot.
Kristian Høgsberg [Sun, 14 Dec 2008 20:52:34 +0000 (15:52 -0500)]
Initialize count to 0 in wl_list_length().
Not sure how this ever really worked before...
Kristian Høgsberg [Fri, 12 Dec 2008 19:48:46 +0000 (14:48 -0500)]
Fix default input device path.
Kristian Høgsberg [Fri, 12 Dec 2008 18:48:30 +0000 (13:48 -0500)]
Handle per-device keyboard focus.
Kristian Høgsberg [Fri, 12 Dec 2008 18:39:03 +0000 (13:39 -0500)]
Don't close uninitialized fd, check forkpty error.
Kristian Høgsberg [Fri, 12 Dec 2008 17:00:02 +0000 (12:00 -0500)]
Make multi-pointer work.
This also add command line parsing as a way to specify the input
device files to use.
Kristian Høgsberg [Fri, 12 Dec 2008 16:06:18 +0000 (11:06 -0500)]
Add option parsing using GOption.
Kristian Høgsberg [Fri, 12 Dec 2008 16:05:17 +0000 (11:05 -0500)]
Make sure we initialize object hash.
This patch also move the hash implementation details to wayland-util.c.
Kristian Høgsberg [Fri, 12 Dec 2008 15:33:04 +0000 (10:33 -0500)]
Use the screen size for sizing the background.
Kristian Høgsberg [Fri, 12 Dec 2008 15:26:04 +0000 (10:26 -0500)]
Pass -fPIC when compiling shared libraries.
Kristian Høgsberg [Fri, 12 Dec 2008 14:53:27 +0000 (09:53 -0500)]
Forgot to add egl-compositor.h.
Kristian Høgsberg [Fri, 12 Dec 2008 04:27:27 +0000 (23:27 -0500)]
Implement passive grabs on button clicks.
Kristian Høgsberg [Fri, 12 Dec 2008 04:18:45 +0000 (23:18 -0500)]
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.
Kristian Høgsberg [Wed, 10 Dec 2008 22:31:44 +0000 (17:31 -0500)]
Fix signature for pointer motion event.
Kristian Høgsberg [Wed, 10 Dec 2008 22:26:28 +0000 (17:26 -0500)]
Drop glx-compositor for now.
Might want to resurrect this later, but for now, let's not try to
drag it along.
Kristian Høgsberg [Wed, 10 Dec 2008 18:44:23 +0000 (13:44 -0500)]
Install libraries plus headers and add pkg-config files.
Kristian Høgsberg [Wed, 10 Dec 2008 18:25:00 +0000 (13:25 -0500)]
Only send key events to toplevel surface.
Kristian Høgsberg [Wed, 10 Dec 2008 18:16:50 +0000 (13:16 -0500)]
Feed button events through compositor.
This also generalizes the code to send events to a surface a bit.