platform/upstream/wayland.git
15 years agoLet clients override the suggested size on resize.
Kristian Høgsberg [Mon, 8 Dec 2008 18:50:07 +0000 (13:50 -0500)]
Let clients override the suggested size on resize.

This lets gears enforce a square aspect ration and minimum size of 300x300
and the terminal now properly resizes in steps of character cells.

15 years agoSnap terminal size to an integer number of character cells.
Kristian Høgsberg [Mon, 8 Dec 2008 17:59:37 +0000 (12:59 -0500)]
Snap terminal size to an integer number of character cells.

15 years agoHandle \e[J and \e[H so we can clear the terminal.
Kristian Høgsberg [Mon, 8 Dec 2008 17:20:40 +0000 (12:20 -0500)]
Handle \e[J and \e[H so we can clear the terminal.

15 years agoMake sure we don't miss queue redraws between commit and ack.
Kristian Høgsberg [Mon, 8 Dec 2008 16:13:26 +0000 (11:13 -0500)]
Make sure we don't miss queue redraws between commit and ack.

15 years agoDestroy back buffer in acknowledge handler.
Kristian Høgsberg [Mon, 8 Dec 2008 14:57:08 +0000 (09:57 -0500)]
Destroy back buffer in acknowledge handler.

15 years agoOnly update gears angle in frame handler.
Kristian Høgsberg [Mon, 8 Dec 2008 14:39:22 +0000 (09:39 -0500)]
Only update gears angle in frame handler.

15 years agoAdd key map for ctrl modifier as well.
Kristian Høgsberg [Mon, 8 Dec 2008 05:23:55 +0000 (00:23 -0500)]
Add key map for ctrl modifier as well.

15 years agoUpdate tail pointer correctly so scrolling works.
Kristian Høgsberg [Mon, 8 Dec 2008 05:16:39 +0000 (00:16 -0500)]
Update tail pointer correctly so scrolling works.

15 years agoSkip escape codes for now.
Kristian Høgsberg [Mon, 8 Dec 2008 05:07:49 +0000 (00:07 -0500)]
Skip escape codes for now.

15 years agoAdd keyboard input to terminal.
Kristian Høgsberg [Mon, 8 Dec 2008 05:01:36 +0000 (00:01 -0500)]
Add keyboard input to terminal.

15 years agoRun command in a pty and feed output to wayland terminal.
Kristian Høgsberg [Mon, 8 Dec 2008 04:17:31 +0000 (23:17 -0500)]
Run command in a pty and feed output to wayland terminal.

15 years agoAdd some text contents to terminal.
Kristian Høgsberg [Mon, 8 Dec 2008 02:51:58 +0000 (21:51 -0500)]
Add some text contents to terminal.

15 years agoRefactor window logic into reusable parts, add a new terminal application.
Kristian Høgsberg [Mon, 8 Dec 2008 00:59:11 +0000 (19:59 -0500)]
Refactor window logic into reusable parts, add a new terminal application.

The gears code is moved into a new file gearc.c and the window decoration
and management code stays in window.c.  A new application 'terminal' is the
second user of the windowing code, but doesn't do anything useful yet.

15 years agoFix API to always include socket name length.
Kristian Høgsberg [Sun, 7 Dec 2008 20:22:22 +0000 (15:22 -0500)]
Fix API to always include socket name length.

15 years agoUpdate .gitignore.
Kristian Høgsberg [Fri, 5 Dec 2008 16:20:30 +0000 (11:20 -0500)]
Update .gitignore.

15 years agoFail if we can't create the compositor.
Kristian Høgsberg [Fri, 5 Dec 2008 16:19:56 +0000 (11:19 -0500)]
Fail if we can't create the compositor.

15 years agoMake the wayland server a library used by the compositors.
Kristian Høgsberg [Fri, 5 Dec 2008 16:13:50 +0000 (11:13 -0500)]
Make the wayland server a library used by the compositors.

15 years agoUse type strings for method and event signatures.
Kristian Høgsberg [Fri, 5 Dec 2008 15:38:42 +0000 (10:38 -0500)]
Use type strings for method and event signatures.

15 years agoUse autoconf instead of $(shell ...) in the Makefile.
Kristian Høgsberg [Fri, 5 Dec 2008 03:48:50 +0000 (22:48 -0500)]
Use autoconf instead of $(shell ...) in the Makefile.

15 years agoAdd note about how clients could embed other applications.
Kristian Høgsberg [Thu, 4 Dec 2008 23:40:14 +0000 (18:40 -0500)]
Add note about how clients could embed other applications.

15 years agoFix namespace convention for glib source.
Kristian Høgsberg [Tue, 2 Dec 2008 23:28:23 +0000 (18:28 -0500)]
Fix namespace convention for glib source.

15 years agoExit if load_compositor() fails.
Kristian Høgsberg [Tue, 2 Dec 2008 20:38:53 +0000 (15:38 -0500)]
Exit if load_compositor() fails.

15 years agoUpdate .gitignore.
Kristian Høgsberg [Tue, 2 Dec 2008 20:18:38 +0000 (15:18 -0500)]
Update .gitignore.

15 years agoDrop early, obsolete compositor.
Kristian Høgsberg [Tue, 2 Dec 2008 20:17:28 +0000 (15:17 -0500)]
Drop early, obsolete compositor.

15 years agoDrop unused clients, pointer and window.
Kristian Høgsberg [Tue, 2 Dec 2008 20:16:11 +0000 (15:16 -0500)]
Drop unused clients, pointer and window.

15 years agoPut Wayland under the MIT license.
Kristian Høgsberg [Tue, 2 Dec 2008 20:15:01 +0000 (15:15 -0500)]
Put Wayland under the MIT license.

15 years agoAdd wl_client_marshal() for sending events.
Kristian Høgsberg [Sat, 29 Nov 2008 00:12:45 +0000 (19:12 -0500)]
Add wl_client_marshal() for sending events.

15 years agoGeneralize event loop a bit and pull in the timerfd stuff.
Kristian Høgsberg [Fri, 28 Nov 2008 23:35:25 +0000 (18:35 -0500)]
Generalize event loop a bit and pull in the timerfd stuff.

15 years agoFinally implement the commit/ack/frame protocol and improve repaint loop.
Kristian Høgsberg [Fri, 28 Nov 2008 22:06:06 +0000 (17:06 -0500)]
Finally implement the commit/ack/frame protocol and improve repaint loop.

This implements the commit/ack/frame protocol that let clients batch up
a series of requests and then commit them atomically using the commit request.
The commit requests generats two following events: the acknowledge event,
which lets the client know that the server has received the request and
which frame the rendering has been scheduled for.  At this point the client
can start rendering the next frame or free up temporary buffers.  Then when
the compositor finally makes the newly composited frame visible on screen
the server sends a frame event, which contains the number of the frame that
was presented and the time when it happened.

The window and flower clients have been updated to use these two events in
their main loops and everything now updates per frame.  The EGL compositor
repaint loop has been tweaked to delay the compositing of the screen to
10ms after last swapbuffer completed so as to allow processing as many
requests as possible before blocking on the next vertical retrace.

15 years agoMake ack event signal that the requests have been composited.
Kristian Høgsberg [Wed, 26 Nov 2008 17:57:31 +0000 (12:57 -0500)]
Make ack event signal that the requests have been composited.

15 years agoAdd .gitignore.
Kristian Høgsberg [Wed, 26 Nov 2008 04:18:29 +0000 (23:18 -0500)]
Add .gitignore.

15 years agoConvert touchpad absolute events to relative.
Kristian Høgsberg [Wed, 26 Nov 2008 04:16:31 +0000 (23:16 -0500)]
Convert touchpad absolute events to relative.

15 years agoUse struct buffer from cairo-util.c in flower.c.
Kristian Høgsberg [Wed, 26 Nov 2008 03:53:28 +0000 (22:53 -0500)]
Use struct buffer from cairo-util.c in flower.c.

15 years agoMake overlay animation actually stop.
Kristian Høgsberg [Wed, 26 Nov 2008 03:45:46 +0000 (22:45 -0500)]
Make overlay animation actually stop.

15 years agoAdd commit request + ack event to wayland core.
Kristian Høgsberg [Wed, 26 Nov 2008 03:40:39 +0000 (22:40 -0500)]
Add commit request + ack event to wayland core.

Use in window.c to manage life cycle of buffer correctly.

15 years agoCorrect pointer hotspot location.
Kristian Høgsberg [Wed, 26 Nov 2008 03:38:56 +0000 (22:38 -0500)]
Correct pointer hotspot location.

15 years agoAdd different type of overlay animation.
Kristian Høgsberg [Tue, 25 Nov 2008 23:10:39 +0000 (18:10 -0500)]
Add different type of overlay animation.

15 years agoTweak overlay animation a bit.
Kristian Høgsberg [Tue, 25 Nov 2008 18:51:36 +0000 (13:51 -0500)]
Tweak overlay animation a bit.

15 years agoPick a config instead of hard coding one.
Kristian Høgsberg [Tue, 25 Nov 2008 17:12:05 +0000 (12:12 -0500)]
Pick a config instead of hard coding one.

15 years agoAllocate and set mode in egl-compositor.
Kristian Høgsberg [Tue, 25 Nov 2008 17:10:09 +0000 (12:10 -0500)]
Allocate and set mode in egl-compositor.

Pass the front buffer name to eglCreateSurfaceForName to create the
fullscreen EGLSurface.

15 years agoQuit screenshooter when idle.
Kristian Høgsberg [Mon, 24 Nov 2008 16:32:43 +0000 (11:32 -0500)]
Quit screenshooter when idle.

15 years agoAnimate overlay on/off.
Kristian Høgsberg [Mon, 24 Nov 2008 06:12:46 +0000 (01:12 -0500)]
Animate overlay on/off.

15 years agoAdd keyboard input, move input device creation to compositor.
Kristian Høgsberg [Mon, 24 Nov 2008 05:31:49 +0000 (00:31 -0500)]
Add keyboard input, move input device creation to compositor.

15 years agoAdd missing breaks in evdev switch.
Kristian Høgsberg [Mon, 24 Nov 2008 05:13:13 +0000 (00:13 -0500)]
Add missing breaks in evdev switch.

15 years agoRename input.c to evdev.c.
Kristian Høgsberg [Mon, 24 Nov 2008 05:12:20 +0000 (00:12 -0500)]
Rename input.c to evdev.c.

15 years agoExpose screenshooting as an interface, drop SIGUSR hack.
Kristian Høgsberg [Mon, 24 Nov 2008 04:41:08 +0000 (23:41 -0500)]
Expose screenshooting as an interface, drop SIGUSR hack.

This pulls in a bit of extra infrastructure for discovering adertised objects on the
client side.

15 years agoGeneralize the object advertising mechanism.
Kristian Høgsberg [Mon, 24 Nov 2008 00:10:23 +0000 (19:10 -0500)]
Generalize the object advertising mechanism.

15 years agoAdd an overlay type window in the compositor.
Kristian Høgsberg [Sun, 23 Nov 2008 22:07:32 +0000 (17:07 -0500)]
Add an overlay type window in the compositor.

15 years agoLoad and draw background in compositor.
Kristian Høgsberg [Sat, 22 Nov 2008 02:31:54 +0000 (21:31 -0500)]
Load and draw background in compositor.

15 years agoMove pointer drawing into compositor.
Kristian Høgsberg [Sat, 22 Nov 2008 00:25:44 +0000 (19:25 -0500)]
Move pointer drawing into compositor.

15 years agoOptimize blur further, resize gears with window.
Kristian Høgsberg [Wed, 19 Nov 2008 05:49:39 +0000 (00:49 -0500)]
Optimize blur further, resize gears with window.

15 years agoRemove redundant glFlush().
Kristian Høgsberg [Tue, 18 Nov 2008 04:33:19 +0000 (23:33 -0500)]
Remove redundant glFlush().

15 years agoOptimize blur a bit more.
Kristian Høgsberg [Tue, 18 Nov 2008 03:23:55 +0000 (22:23 -0500)]
Optimize blur a bit more.

16 years agoA couple more theme tweaks.
Kristian Høgsberg [Mon, 10 Nov 2008 15:46:53 +0000 (10:46 -0500)]
A couple more theme tweaks.

16 years agoGet corner radius right for inner bevel.
Kristian Høgsberg [Sun, 9 Nov 2008 14:15:46 +0000 (09:15 -0500)]
Get corner radius right for inner bevel.

16 years agoAdd quick screenshot hack.
Kristian Høgsberg [Sun, 9 Nov 2008 05:22:51 +0000 (00:22 -0500)]
Add quick screenshot hack.

16 years agoOptimize window blur calculation.
Kristian Høgsberg [Sun, 9 Nov 2008 04:27:27 +0000 (23:27 -0500)]
Optimize window blur calculation.

16 years agoFactor out common cairo code, add blur function.
Kristian Høgsberg [Sun, 9 Nov 2008 03:46:30 +0000 (22:46 -0500)]
Factor out common cairo code, add blur function.

16 years agoMake window prettier again.
Kristian Høgsberg [Sat, 8 Nov 2008 23:53:37 +0000 (18:53 -0500)]
Make window prettier again.

16 years agoTweak pointer image a bit.
Kristian Høgsberg [Sat, 8 Nov 2008 21:01:59 +0000 (16:01 -0500)]
Tweak pointer image a bit.

16 years agoAdd prototypes warnings, use -fvisibility.
Kristian Høgsberg [Sat, 8 Nov 2008 20:39:41 +0000 (15:39 -0500)]
Add prototypes warnings, use -fvisibility.

16 years agoUse the eagle pkg-config file instead of assuming ../eagle.
Kristian Høgsberg [Sat, 8 Nov 2008 20:30:41 +0000 (15:30 -0500)]
Use the eagle pkg-config file instead of assuming ../eagle.

16 years agoImplement surface copy request, use it for egl gears.
Kristian Høgsberg [Sat, 8 Nov 2008 20:06:01 +0000 (15:06 -0500)]
Implement surface copy request, use it for egl gears.

16 years agoUse glib main loop for all clients.
Kristian Høgsberg [Fri, 7 Nov 2008 20:54:48 +0000 (15:54 -0500)]
Use glib main loop for all clients.

16 years agoAdd glib main loop integration, use it in flower client.
Kristian Høgsberg [Fri, 7 Nov 2008 19:27:23 +0000 (14:27 -0500)]
Add glib main loop integration, use it in flower client.

16 years agoAdd copy and damage surface requests.
Kristian Høgsberg [Fri, 7 Nov 2008 13:39:37 +0000 (08:39 -0500)]
Add copy and damage surface requests.

16 years agodlopen the compositor, add a glx compositor.
Kristian Høgsberg [Thu, 6 Nov 2008 15:38:17 +0000 (10:38 -0500)]
dlopen the compositor, add a glx compositor.

16 years agoREADME: Add link to google group.
Kristian Høgsberg [Wed, 5 Nov 2008 15:37:20 +0000 (10:37 -0500)]
README: Add link to google group.

16 years agoAdd a FIXME for when we have a working fbconfig chooser.
Kristian Høgsberg [Wed, 5 Nov 2008 12:55:45 +0000 (07:55 -0500)]
Add a FIXME for when we have a working fbconfig chooser.

16 years agoClear depth buffer, but only depth buffer for gears.
Kristian Høgsberg [Wed, 5 Nov 2008 12:38:46 +0000 (07:38 -0500)]
Clear depth buffer, but only depth buffer for gears.

16 years agoAdd the gears from glxgears.
Kristian Høgsberg [Mon, 3 Nov 2008 20:31:30 +0000 (15:31 -0500)]
Add the gears from glxgears.

16 years agoAdd README for the adventurous, allow evdev override from getenv().
Kristian Høgsberg [Mon, 3 Nov 2008 20:31:30 +0000 (15:31 -0500)]
Add README for the adventurous, allow evdev override from getenv().

16 years agoRedraw window in idle handler.
Kristian Høgsberg [Mon, 3 Nov 2008 16:42:01 +0000 (11:42 -0500)]
Redraw window in idle handler.

16 years agoUse eglBindTexImage instead of copying texture data.
Kristian Høgsberg [Mon, 3 Nov 2008 13:09:34 +0000 (08:09 -0500)]
Use eglBindTexImage instead of copying texture data.

16 years agoMake window client a little more interesting.
Kristian Høgsberg [Mon, 3 Nov 2008 11:59:52 +0000 (06:59 -0500)]
Make window client a little more interesting.

16 years agoUse GL_ONE for the source in glBendFunc instead of pre-unmultiplying.
Kristian Høgsberg [Mon, 3 Nov 2008 11:35:46 +0000 (06:35 -0500)]
Use GL_ONE for the source in glBendFunc instead of pre-unmultiplying.

Eventually we need to allow both pre-multiplied alpha and not, but for now default to premultiplied.

16 years agoAdd a window client, first implementation of surface resizing.
Kristian Høgsberg [Sun, 2 Nov 2008 23:51:48 +0000 (18:51 -0500)]
Add a window client, first implementation of surface resizing.

16 years agoAlways poll on display fd so we only read when there's data.
Kristian Høgsberg [Sun, 2 Nov 2008 22:22:39 +0000 (17:22 -0500)]
Always poll on display fd so we only read when there's data.

16 years agoMove background drawing to a client.
Kristian Høgsberg [Sun, 2 Nov 2008 22:11:51 +0000 (17:11 -0500)]
Move background drawing to a client.

16 years agoUnpremultiply cairo surface data.
Kristian Høgsberg [Sun, 2 Nov 2008 20:50:55 +0000 (15:50 -0500)]
Unpremultiply cairo surface data.

16 years agoDon't use poll timeout for timing animation.
Kristian Høgsberg [Sun, 2 Nov 2008 20:28:22 +0000 (15:28 -0500)]
Don't use poll timeout for timing animation.

Receiving events breaks out of the poll and resets the time out.
Effectively, this blocks the animation when the client receives events.
As a quick fix, use timerfd for timing the animation.

16 years agoAdd a new client that draws a pointer.
Kristian Høgsberg [Sun, 2 Nov 2008 15:55:25 +0000 (10:55 -0500)]
Add a new client that draws a pointer.

16 years agoRename client, prepare Makefile for more clients.
Kristian Høgsberg [Sun, 2 Nov 2008 15:55:25 +0000 (10:55 -0500)]
Rename client, prepare Makefile for more clients.

16 years agoAdd crude input device support.
Kristian Høgsberg [Sun, 2 Nov 2008 15:12:29 +0000 (10:12 -0500)]
Add crude input device support.

Just pointer motion and button clicks for now, broadcast to all clients.

16 years agoDrop unused struct definition.
Kristian Høgsberg [Sat, 1 Nov 2008 21:25:33 +0000 (17:25 -0400)]
Drop unused struct definition.

16 years agoUpdate for eagle changes.
Kristian Høgsberg [Tue, 14 Oct 2008 02:52:42 +0000 (22:52 -0400)]
Update for eagle changes.

16 years agoAdd note about fullscreen surfaces, misc edits.
Kristian Høgsberg [Tue, 14 Oct 2008 02:51:56 +0000 (22:51 -0400)]
Add note about fullscreen surfaces, misc edits.

16 years agoMake clients graphics use lighter random colors.
Kristian Høgsberg [Mon, 13 Oct 2008 02:58:40 +0000 (22:58 -0400)]
Make clients graphics use lighter random colors.

16 years agoUse triangle strips for drawing surfaces.
Kristian Høgsberg [Sun, 12 Oct 2008 16:56:11 +0000 (12:56 -0400)]
Use triangle strips for drawing surfaces.

16 years agoMake test client a little more interesting.
Kristian Høgsberg [Sun, 12 Oct 2008 02:13:51 +0000 (22:13 -0400)]
Make test client a little more interesting.

16 years agoTrack client objects and destroy them on disconnect.
Kristian Høgsberg [Sun, 12 Oct 2008 01:37:55 +0000 (21:37 -0400)]
Track client objects and destroy them on disconnect.

We're going to need a virtual destructor eventually...

16 years agoRun compositor fullscreen, repaint when surfaces come and go.
Kristian Høgsberg [Sun, 12 Oct 2008 01:21:39 +0000 (21:21 -0400)]
Run compositor fullscreen, repaint when surfaces come and go.

16 years agoAdd notes on throttling, scheduling and atomicity.
Kristian Høgsberg [Sat, 11 Oct 2008 23:40:01 +0000 (19:40 -0400)]
Add notes on throttling, scheduling and atomicity.

16 years agoRecomposite screen in idle handler.
Kristian Høgsberg [Sat, 11 Oct 2008 23:21:35 +0000 (19:21 -0400)]
Recomposite screen in idle handler.

16 years agoHandle multiple clients better.
Kristian Høgsberg [Sat, 11 Oct 2008 22:40:23 +0000 (18:40 -0400)]
Handle multiple clients better.

16 years agoAdd an EGL compositor. Still pretty lame.
Kristian Høgsberg [Thu, 9 Oct 2008 02:51:32 +0000 (22:51 -0400)]
Add an EGL compositor.  Still pretty lame.

16 years agoUse new connection object in client code too.
Kristian Høgsberg [Wed, 8 Oct 2008 17:32:07 +0000 (13:32 -0400)]
Use new connection object in client code too.

16 years agoSplit out connection io buffer logic.
Kristian Høgsberg [Wed, 8 Oct 2008 16:48:46 +0000 (12:48 -0400)]
Split out connection io buffer logic.

16 years agoMake in and out circular buffers actually work.
Kristian Høgsberg [Wed, 8 Oct 2008 14:47:59 +0000 (10:47 -0400)]
Make in and out circular buffers actually work.

16 years agoAdd surface.map request.
Kristian Høgsberg [Tue, 7 Oct 2008 14:10:36 +0000 (10:10 -0400)]
Add surface.map request.