Commit Graph

2854 Commits

Author SHA1 Message Date
Kristian Høgsberg
9f88b185a0 Don't forget to initialize overlay position. 2008-12-08 13:52:08 -05:00
Kristian Høgsberg
221067654c 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.
2008-12-08 13:50:07 -05:00
Kristian Høgsberg
1584c57edc Snap terminal size to an integer number of character cells. 2008-12-08 12:59:37 -05:00
Kristian Høgsberg
17809b1e43 Handle \e[J and \e[H so we can clear the terminal. 2008-12-08 12:20:40 -05:00
Kristian Høgsberg
721f09f187 Make sure we don't miss queue redraws between commit and ack. 2008-12-08 11:13:26 -05:00
Kristian Høgsberg
c47303f2d2 Destroy back buffer in acknowledge handler. 2008-12-08 09:57:08 -05:00
Kristian Høgsberg
7a8431f670 Only update gears angle in frame handler. 2008-12-08 09:39:22 -05:00
Kristian Høgsberg
0d77fd484c Add key map for ctrl modifier as well. 2008-12-08 00:23:55 -05:00
Kristian Høgsberg
b29415ee6d Update tail pointer correctly so scrolling works. 2008-12-08 00:16:39 -05:00
Kristian Høgsberg
f04e838d4a Skip escape codes for now. 2008-12-08 00:07:49 -05:00
Kristian Høgsberg
6e83d58153 Add keyboard input to terminal. 2008-12-08 00:01:36 -05:00
Kristian Høgsberg
269d6e3daf Run command in a pty and feed output to wayland terminal. 2008-12-07 23:17:31 -05:00
Kristian Høgsberg
44e3c5e1ad Add some text contents to terminal. 2008-12-07 21:51:58 -05:00
Kristian Høgsberg
0c4457f0c2 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.
2008-12-07 20:05:36 -05:00
Kristian Høgsberg
dc0f355f0a Fix API to always include socket name length. 2008-12-07 15:22:22 -05:00
Kristian Høgsberg
cb70316105 Update .gitignore. 2008-12-05 11:20:30 -05:00
Kristian Høgsberg
841883b43c Fail if we can't create the compositor. 2008-12-05 11:19:56 -05:00
Kristian Høgsberg
122912c69b Make the wayland server a library used by the compositors. 2008-12-05 11:13:50 -05:00
Kristian Høgsberg
87e0a384da Use type strings for method and event signatures. 2008-12-05 10:38:42 -05:00
Kristian Høgsberg
d4de54efe7 Use autoconf instead of $(shell ...) in the Makefile. 2008-12-04 23:00:01 -05:00
Kristian Høgsberg
b820b82cad Add note about how clients could embed other applications. 2008-12-04 18:40:14 -05:00
Kristian Høgsberg
e2ce43a9be Fix namespace convention for glib source. 2008-12-02 18:28:23 -05:00
Kristian Høgsberg
35052568d0 Exit if load_compositor() fails. 2008-12-02 15:38:53 -05:00
Kristian Høgsberg
d91e049735 Update .gitignore. 2008-12-02 15:18:38 -05:00
Kristian Høgsberg
fcb6cbd5d0 Drop early, obsolete compositor. 2008-12-02 15:17:28 -05:00
Kristian Høgsberg
3620295d17 Drop unused clients, pointer and window. 2008-12-02 15:16:11 -05:00
Kristian Høgsberg
ffd710e653 Put Wayland under the MIT license. 2008-12-02 15:15:01 -05:00
Kristian Høgsberg
c2b633e6c2 Add wl_client_marshal() for sending events. 2008-11-28 19:12:45 -05:00
Kristian Høgsberg
4a29890da7 Generalize event loop a bit and pull in the timerfd stuff. 2008-11-28 18:35:25 -05:00
Kristian Høgsberg
fbdbbdc153 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.
2008-11-28 17:06:10 -05:00
Kristian Høgsberg
44f36e3585 Make ack event signal that the requests have been composited. 2008-11-26 12:57:31 -05:00
Kristian Høgsberg
f3723fe79e Add .gitignore. 2008-11-25 23:18:29 -05:00
Kristian Høgsberg
0ee84083a2 Convert touchpad absolute events to relative. 2008-11-25 23:16:31 -05:00
Kristian Høgsberg
18fb78307b Use struct buffer from cairo-util.c in flower.c. 2008-11-25 22:53:28 -05:00
Kristian Høgsberg
73c305851d Make overlay animation actually stop. 2008-11-25 22:45:46 -05:00
Kristian Høgsberg
4097923a64 Add commit request + ack event to wayland core.
Use in window.c to manage life cycle of buffer correctly.
2008-11-25 22:40:39 -05:00
Kristian Høgsberg
961a04cef0 Correct pointer hotspot location. 2008-11-25 22:38:56 -05:00
Kristian Høgsberg
ffb7406eaa Add different type of overlay animation. 2008-11-25 18:10:39 -05:00
Kristian Høgsberg
5c1e6ecab4 Tweak overlay animation a bit. 2008-11-25 13:51:36 -05:00
Kristian Høgsberg
443853cbda Pick a config instead of hard coding one. 2008-11-25 12:12:05 -05:00
Kristian Høgsberg
bf9541ffa3 Allocate and set mode in egl-compositor.
Pass the front buffer name to eglCreateSurfaceForName to create the
fullscreen EGLSurface.
2008-11-25 12:10:09 -05:00
Kristian Høgsberg
f53f4bbd52 Quit screenshooter when idle. 2008-11-24 11:32:43 -05:00
Kristian Høgsberg
9af92b380c Animate overlay on/off. 2008-11-24 01:12:46 -05:00
Kristian Høgsberg
cddc0ad502 Add keyboard input, move input device creation to compositor. 2008-11-24 00:31:49 -05:00
Kristian Høgsberg
ec8ef722e9 Add missing breaks in evdev switch. 2008-11-24 00:13:13 -05:00
Kristian Høgsberg
a5a2c8e5db Rename input.c to evdev.c. 2008-11-24 00:12:20 -05:00
Kristian Høgsberg
1e4b86af1a Expose screenshooting as an interface, drop SIGUSR hack.
This pulls in a bit of extra infrastructure for discovering adertised objects on the
client side.
2008-11-24 00:06:16 -05:00
Kristian Høgsberg
14fcff7726 Generalize the object advertising mechanism. 2008-11-23 19:10:23 -05:00
Kristian Høgsberg
548798266e Add an overlay type window in the compositor. 2008-11-23 17:07:32 -05:00
Kristian Høgsberg
aa5b5bed73 Load and draw background in compositor. 2008-11-21 21:31:54 -05:00