Tiago Vignatti [Mon, 10 Jan 2011 17:30:04 +0000 (19:30 +0200)]
terminal: fix crashing when terminal size is < 0
Just skip drawing when width or height is less than zero.
Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Callum Lowcay [Fri, 7 Jan 2011 19:47:03 +0000 (19:47 +0000)]
terminal: Various fixes
Fix several bugs in the previous patches. Fix inverse inverse video
with bold attribute, incorrect duplication of attributes when scrolling
up, underline aliasing, bottom scroll margin adjustment when resizing,
and unnecessary sleep when sending terminal reports. Change TERM
environment variable to xterm-256color to better reflect terminal
capabilities (although it still doesn't emulate all of xterm).
Signed-off-by: Callum Lowcay <callum@callumscode.com>
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>