Callum Lowcay [Fri, 7 Jan 2011 19:47:02 +0000 (19:47 +0000)]
terminal: Special keys
Implements support for function, cursor, and editing keys, with
modifiers. Partially implements application keypad mode. Expands
control key support.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:47:01 +0000 (19:47 +0000)]
terminal: Implement character set switching
Includes the 3 vt100 character sets. Some of the graphic symbols don't
display because they are not included in the default font. Apparantly
the cairo toy font API doesn't do font substitution.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:47:00 +0000 (19:47 +0000)]
terminal: vt102 editing commands
Implement the vt102 editing commands, and insert/replace mode.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:46:59 +0000 (19:46 +0000)]
terminal: Basic vt100 escape codes
Implements correct behaviour for vt100 cursor movement, erasing, custom
tabs, and reporting. Includes relevant terminal modes.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:46:58 +0000 (19:46 +0000)]
terminal: Scroll margins
Implement scroll margins and related escape codes.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:46:57 +0000 (19:46 +0000)]
terminal: Escape sequence handling fixes
Upgrade and refactor terminal_data to properly handle non-csi escape
codes, control characters in escape codes, and invalid escape sequences.
Also fix a buffer overflow in the escape sequence buffer.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:46:56 +0000 (19:46 +0000)]
terminal: Window size ioctls
Use TIOCSWINSZ ioctl to set window size on terminal resize.
This causes applications to be notified of the resize event.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:46:55 +0000 (19:46 +0000)]
terminal: Fancy colors
Includes bold, underline, inverse, and blink attributes. Blink is
rendered bold as in xterm. Supports xterm's 256 color palette.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Fri, 7 Jan 2011 19:46:54 +0000 (19:46 +0000)]
terminal: UTF-8 support
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Kristian Høgsberg [Fri, 7 Jan 2011 21:13:00 +0000 (16:13 -0500)]
Map new surfaces on top of all other surface
Kristian Høgsberg [Fri, 7 Jan 2011 19:42:49 +0000 (14:42 -0500)]
gears: Include config.h
Kristian Høgsberg [Fri, 7 Jan 2011 19:04:43 +0000 (14:04 -0500)]
Add missing newline in gears error message
Kristian Høgsberg [Fri, 7 Jan 2011 14:19:25 +0000 (09:19 -0500)]
Simplify visual check
Kristian Høgsberg [Fri, 7 Jan 2011 13:38:56 +0000 (08:38 -0500)]
Ignore surface.map_toplevel() if already mapped
Kristian Høgsberg [Thu, 6 Jan 2011 20:45:19 +0000 (15:45 -0500)]
Pass EGL_NO_CONTEXT to eglCreateImageKHR for EGL_DRM_BUFFER_MESA target
Kristian Høgsberg [Thu, 6 Jan 2011 20:32:14 +0000 (15:32 -0500)]
Initialize surface->link so we can always wl_list_remove() it
In particular, even if we never added it to the compositor surface list.
Kristian Høgsberg [Thu, 6 Jan 2011 19:22:59 +0000 (14:22 -0500)]
Merge remote branch 'nobled/fixes2'
Kristian Høgsberg [Thu, 6 Jan 2011 15:00:23 +0000 (10:00 -0500)]
Move grab definitions to wayland-util.h
These tokens really are part of the protocol and we need to extend the
scanner to generate them.
nobled [Wed, 5 Jan 2011 17:48:15 +0000 (17:48 +0000)]
Workaround gears depending on cairo-gl
Extremely hacky, but at least it doesn't stop the build anymore.
Kristian Høgsberg [Wed, 5 Jan 2011 22:34:54 +0000 (17:34 -0500)]
Move basic grab handling to core libraries
nobled [Wed, 5 Jan 2011 17:41:55 +0000 (17:41 +0000)]
Fix window.c build without cairo-gl
Kristian Høgsberg [Sat, 1 Jan 2011 15:55:45 +0000 (10:55 -0500)]
Install the pkgconfig files
Lost the install rule when we converted to automake.
Kristian Høgsberg [Fri, 17 Dec 2010 14:54:45 +0000 (09:54 -0500)]
Fix compositor-wayland
Kristian Høgsberg [Fri, 17 Dec 2010 14:53:12 +0000 (09:53 -0500)]
Update surface.attach and change surface.map to surface.map_toplevel
The new map_toplevel() request no longer specifies a position and takes
the size from the attached buffer. The attach request now takes a
position relative to the top-left corner of the old buffer to let
clients specify the relative position of the new buffer.
Kristian Høgsberg [Fri, 17 Dec 2010 02:11:10 +0000 (21:11 -0500)]
Fix the resizor
Kristian Høgsberg [Thu, 16 Dec 2010 19:56:41 +0000 (14:56 -0500)]
Schedule frame callback in the redraw handler
Kristian Høgsberg [Thu, 16 Dec 2010 18:35:23 +0000 (13:35 -0500)]
Add window resize sample client
This is an example of how to animate window resizing. The size is
animated by a simple physics model that allows the user to cancel the
animation halfway and still look good.
Joel Teichroeb [Sun, 12 Dec 2010 05:08:53 +0000 (21:08 -0800)]
Fixed a small typo
Kristian Høgsberg [Thu, 9 Dec 2010 16:29:40 +0000 (11:29 -0500)]
Move code around to keep input device interface and init function close
Kristian Høgsberg [Thu, 9 Dec 2010 16:06:46 +0000 (11:06 -0500)]
Document the shell.configure event a bit
Kristian Høgsberg [Wed, 8 Dec 2010 20:12:58 +0000 (15:12 -0500)]
Set up visuals in wayland-server
Still very much hand-wavey, but at least it's only in one place now.
Kristian Høgsberg [Wed, 8 Dec 2010 16:07:57 +0000 (11:07 -0500)]
Handle buttons in grab objects too
Kristian Høgsberg [Wed, 8 Dec 2010 14:48:52 +0000 (09:48 -0500)]
Move grab state to struct wl_input_device
Kristian Høgsberg [Wed, 8 Dec 2010 01:19:10 +0000 (20:19 -0500)]
Reenable fragment shader precision specifier
Kristian Høgsberg [Tue, 7 Dec 2010 22:06:15 +0000 (17:06 -0500)]
Use grab object for motion grabs too
Now all grabs use grab objects, so drop the grab enum.
Kristian Høgsberg [Tue, 7 Dec 2010 20:08:16 +0000 (15:08 -0500)]
Make wlsc_input_device_update_grab() take a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 19:58:57 +0000 (14:58 -0500)]
Use a grab object for drag and drop
Kristian Høgsberg [Tue, 7 Dec 2010 18:30:18 +0000 (13:30 -0500)]
Handle shell.move using a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 18:04:43 +0000 (13:04 -0500)]
Move resizing to a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 17:29:03 +0000 (12:29 -0500)]
Add grab object infrastructure
Kristian Høgsberg [Tue, 7 Dec 2010 14:15:57 +0000 (09:15 -0500)]
Drop dummy wl_grab_surface hack
Kristian Høgsberg [Tue, 7 Dec 2010 14:03:02 +0000 (09:03 -0500)]
Remove unnecessary wlsc_compositor_schedule_repaint() call
Kristian Høgsberg [Tue, 7 Dec 2010 14:02:09 +0000 (09:02 -0500)]
Reduce indentation in notify_button()
Kristian Høgsberg [Tue, 7 Dec 2010 13:59:51 +0000 (08:59 -0500)]
Start grab when button is pressed, upgrade if we start drag, move or resize
Fixes crash on click in terminal.
Kristian Høgsberg [Tue, 7 Dec 2010 02:41:10 +0000 (21:41 -0500)]
Move get_time() helper back into compositor
Kristian Høgsberg [Tue, 7 Dec 2010 02:38:50 +0000 (21:38 -0500)]
Pass timestamp in surface destroy callback
Kristian Høgsberg [Tue, 7 Dec 2010 02:35:19 +0000 (21:35 -0500)]
Move focus tracking surface destroy callbacks into core
Kristian Høgsberg [Tue, 7 Dec 2010 02:32:15 +0000 (21:32 -0500)]
Use surface destroy notifier for cancelling grabs
Kristian Høgsberg [Mon, 6 Dec 2010 22:33:11 +0000 (17:33 -0500)]
Use the per-surface destroy callback for grabs as well
Kristian Høgsberg [Mon, 6 Dec 2010 21:56:28 +0000 (16:56 -0500)]
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.
Kristian Høgsberg [Mon, 6 Dec 2010 21:43:16 +0000 (16:43 -0500)]
Add a surface destroy callback and use it for focus tracking
Kristian Høgsberg [Mon, 6 Dec 2010 15:46:37 +0000 (10:46 -0500)]
Refactor drm buffer creation a bit
Yuval Fledel [Mon, 6 Dec 2010 14:18:12 +0000 (09:18 -0500)]
When no DRM present, clients (window.c actually) now either exit orderly,
or if that check is removed - crash (unsurprisingly).
This patch relieves this assumption, and allow some clients (terminal,
image, flower) to run in a non-DRM environment
Kristian Høgsberg [Thu, 2 Dec 2010 01:10:10 +0000 (20:10 -0500)]
Add origin information to output.geometry event
Kristian Høgsberg [Thu, 2 Dec 2010 01:06:39 +0000 (20:06 -0500)]
Use generated wl_interface for visuals
Kristian Høgsberg [Wed, 1 Dec 2010 22:46:56 +0000 (17:46 -0500)]
Silence scanner makefile rule by default
Kristian Høgsberg [Wed, 1 Dec 2010 22:07:41 +0000 (17:07 -0500)]
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.
Kristian Høgsberg [Wed, 1 Dec 2010 22:00:17 +0000 (17:00 -0500)]
Update TODO
Kristian Høgsberg [Wed, 1 Dec 2010 21:52:15 +0000 (16:52 -0500)]
compositor: Use a virtual destructor when shutting down
Backend can now rely on their destroy function getting called on shutdown,
so reset tty etc there instead of handling SIGTERM twice.
Kristian Høgsberg [Wed, 1 Dec 2010 21:43:56 +0000 (16:43 -0500)]
compositor: Shut down properly so we remove the socket
Kristian Høgsberg [Wed, 1 Dec 2010 20:36:20 +0000 (15:36 -0500)]
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.
Kristian Høgsberg [Wed, 1 Dec 2010 15:21:15 +0000 (10:21 -0500)]
Indentation nit-picking
Kristian Høgsberg [Wed, 1 Dec 2010 15:17:47 +0000 (10:17 -0500)]
Move pointer and keyboard focus tracking into libwayland-server
Kristian Høgsberg [Wed, 1 Dec 2010 14:50:16 +0000 (09:50 -0500)]
Fix warnings from adding -Wall back
Kristian Høgsberg [Wed, 1 Dec 2010 14:46:10 +0000 (09:46 -0500)]
Add $(GCC_CFLAGS) back
Missed this when moving to automake.
Kristian Høgsberg [Wed, 1 Dec 2010 14:42:10 +0000 (09:42 -0500)]
compositor-wayland: Call wlsc_compositor_finish_frame from frame callback
Kristian Høgsberg [Wed, 1 Dec 2010 14:40:58 +0000 (09:40 -0500)]
compositor-wayland: Use glFlush() not glFinish() after rendering frame
Kristian Høgsberg [Wed, 1 Dec 2010 14:39:37 +0000 (09:39 -0500)]
Fix key handler to not run handlers from an empty list
Yuval Fledel [Mon, 22 Nov 2010 23:56:45 +0000 (01:56 +0200)]
Describe the wire protocol
Joel Teichroeb [Tue, 30 Nov 2010 18:22:16 +0000 (10:22 -0800)]
Make the dnd client actually work.
The dnd client now sends a mime type of
application/x-wayland-dnd-flower instead of text/plain. The dnd
message is just the position and random seed that lets the drop source
add the flower to its grid.
Kristian Høgsberg [Tue, 30 Nov 2010 20:10:26 +0000 (15:10 -0500)]
Add reject round trip to dnd protocol
This lets a drag target reject a drop.
Kristian Høgsberg [Tue, 30 Nov 2010 19:01:07 +0000 (14:01 -0500)]
Don't hardcode offered dnd types in window.c
Joel Teichroeb [Tue, 30 Nov 2010 18:22:13 +0000 (10:22 -0800)]
Made the window save the coordinates when being draged.
Benjamin Franzke [Sat, 27 Nov 2010 18:04:12 +0000 (19:04 +0100)]
Add wayland backend for compositor (nested)
Benjamin Franzke [Sat, 27 Nov 2010 18:04:11 +0000 (19:04 +0100)]
wayland_client: rename wl_display_create to wl_display_connect
Avoid conflict when using wayland-{server,client} together.
Kristian Høgsberg [Mon, 29 Nov 2010 22:04:21 +0000 (17:04 -0500)]
Consolidate 'sync' and 'frame' events into just one 'key' event
Yuval Fledel [Mon, 29 Nov 2010 19:29:10 +0000 (21:29 +0200)]
Document wl_list
Comments only.
Yuval Fledel [Mon, 29 Nov 2010 19:05:26 +0000 (21:05 +0200)]
Describe the protocol using inline XML comments
Signed-off-by: Yuval Fledel <yuvalfl@gmail.com>
Fred Morcos [Sun, 28 Nov 2010 18:31:55 +0000 (19:31 +0100)]
fix missing includes in clients/window.h and clients/wayland-glib.h
Kristian Høgsberg [Mon, 29 Nov 2010 13:13:35 +0000 (08:13 -0500)]
Define MULT outside the HAVE_CAIRO_GL #ifdef
Kristian Høgsberg [Wed, 24 Nov 2010 19:29:59 +0000 (14:29 -0500)]
Fix udev rules install directory
Joel Teichroeb [Wed, 24 Nov 2010 02:01:40 +0000 (18:01 -0800)]
Fix potentially undefined behavior
Really this time.
http://llvm.org/bugs/show_bug.cgi?id=8670
Darxus [Tue, 23 Nov 2010 02:24:39 +0000 (21:24 -0500)]
Some additional return value checking
Yuval Fledel [Mon, 22 Nov 2010 19:34:19 +0000 (21:34 +0200)]
Make clients exit orderly when there is no connection
Yuval Fledel [Mon, 22 Nov 2010 19:42:58 +0000 (21:42 +0200)]
add newlines for error printfs
Yuval Fledel [Mon, 22 Nov 2010 19:25:58 +0000 (21:25 +0200)]
xml tag should close, or some parsers fail
Kristian Høgsberg [Mon, 22 Nov 2010 18:58:46 +0000 (13:58 -0500)]
Fix compositor crash when dragging to a surface that disappears
Kristian Høgsberg [Mon, 22 Nov 2010 18:02:21 +0000 (13:02 -0500)]
window: Don't call drag_offer_handler if it's NULL
Reported by canbaby@21cn.com.
Fabian Henze [Fri, 19 Nov 2010 09:28:32 +0000 (10:28 +0100)]
Two typo fixes in the documentation
Two typo fixes in specs/main.tex, mentioned in an earlier mail.
Bryce Harrington [Fri, 19 Nov 2010 20:14:39 +0000 (12:14 -0800)]
Function declares a pointer return, so return one.
These two functions are just wrappers around display_create_*_surface
but weren't forwarding along the result of those calls as is implied by
their return value type.
This fixes a compile-time warning.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
Bryce Harrington [Fri, 19 Nov 2010 20:14:55 +0000 (12:14 -0800)]
Quell warning about potentially uninitialized variable 'surface'
In theory, it was possible for an undefined 'surface' to be passed to
window_set_surface(). Instead, explicitly pass NULL.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
Bryce Harrington [Fri, 19 Nov 2010 20:15:15 +0000 (12:15 -0800)]
Expose window_set_surface() in window.h
gears.c uses this routine and was complaining about it being implicitly
declared.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
Bryce Harrington [Fri, 19 Nov 2010 20:15:36 +0000 (12:15 -0800)]
Cleanup declared but unused variables.
Make was complaining about a bunch of unused variables that were being
declared.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
Benjamin Franzke [Sun, 21 Nov 2010 10:47:11 +0000 (11:47 +0100)]
scanner: include stddef.h to provide NULL and size_t
Kristian Høgsberg [Fri, 19 Nov 2010 15:47:28 +0000 (10:47 -0500)]
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+.
Kristian Høgsberg [Tue, 16 Nov 2010 15:57:55 +0000 (10:57 -0500)]
Oops, no -- in xml comments allowed
Kristian Høgsberg [Tue, 16 Nov 2010 15:55:13 +0000 (10:55 -0500)]
Add logo svg
Nikolai Kondrashov [Mon, 8 Nov 2010 16:38:40 +0000 (19:38 +0300)]
Clean up .gitignore files
Sort the contents and update .gitignore files to hide generated files from
git status output.
Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
Peter Hutterer [Tue, 9 Nov 2010 06:31:30 +0000 (16:31 +1000)]
README: fix a few typos
And one in the main.tex spec document.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Tiago Vignatti [Wed, 10 Nov 2010 00:42:35 +0000 (02:42 +0200)]
compositor: add safety check when EGL fails to initialize
offending message:
Program received signal SIGSEGV, Segmentation fault.
create_pointer_images (ec=0x619f10) at compositor.c:240
240 glEGLImageTargetTexture2DOES(GL_TEXTURE_2D,
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>