Benjamin Franzke [Sat, 15 Jan 2011 14:06:37 +0000 (15:06 +0100)]
clients/Makefile: Add AM_CPPFLAGS to view's CPPFLAGS
Benjamin Franzke [Sat, 15 Jan 2011 11:34:49 +0000 (12:34 +0100)]
compositor: Attach only valid background buffers
If a background is not found,
create_buffer_from_png will return NULL.
Do not attach these buffers.
Benjamin Franzke [Sat, 15 Jan 2011 11:34:48 +0000 (12:34 +0100)]
compositor-wayland: Assign func pointers pre init
Kristian Høgsberg [Sat, 15 Jan 2011 01:45:23 +0000 (20:45 -0500)]
simple-client: Remove unnecessary flush
Kristian Høgsberg [Sat, 15 Jan 2011 01:39:21 +0000 (20:39 -0500)]
simple-client: Create GLES2 context
Kristian Høgsberg [Sat, 15 Jan 2011 01:38:35 +0000 (20:38 -0500)]
Link simple-client against libGLESv2.so, not full GL
Kristian Høgsberg [Sat, 15 Jan 2011 00:13:22 +0000 (19:13 -0500)]
Merge remote branch 'bnf/simple_client'
Benjamin Franzke [Fri, 14 Jan 2011 23:40:17 +0000 (00:40 +0100)]
Add a simple client
Benjamin Franzke [Fri, 14 Jan 2011 23:40:00 +0000 (00:40 +0100)]
connection: Write before reading connection data
Kristian Høgsberg [Fri, 14 Jan 2011 22:41:33 +0000 (17:41 -0500)]
Check for cairo-egl instead of just cairo-gl
Kristian Høgsberg [Fri, 14 Jan 2011 22:28:21 +0000 (17:28 -0500)]
Check for GL_EXT_texture_format_BGRA8888
Kristian Høgsberg [Fri, 14 Jan 2011 22:27:24 +0000 (17:27 -0500)]
Both internalFormat and format should be GL_BGRA_EXT
Kristian Høgsberg [Fri, 14 Jan 2011 22:22:35 +0000 (17:22 -0500)]
Make it possible to enable/disable the various compositors from configure
Kristian Høgsberg [Fri, 14 Jan 2011 21:22:37 +0000 (16:22 -0500)]
Remove unused visual argument to wlsc_surface_create()
Kristian Høgsberg [Fri, 14 Jan 2011 21:20:21 +0000 (16:20 -0500)]
Move buffer creation and buffer details into drm.c and shm.c
Kristian Høgsberg [Fri, 14 Jan 2011 19:59:13 +0000 (14:59 -0500)]
Move tty and vt handling out in its own file
Kristian Høgsberg [Fri, 14 Jan 2011 19:49:46 +0000 (14:49 -0500)]
Some kind of support for touchscreen
Kristian Høgsberg [Fri, 14 Jan 2011 19:45:42 +0000 (14:45 -0500)]
Split out evdev handling to its own file
Kristian Høgsberg [Fri, 14 Jan 2011 19:33:49 +0000 (14:33 -0500)]
Pick up input devices of type ID_INPUT_TABLET as well
Callum Lowcay [Wed, 12 Jan 2011 07:06:17 +0000 (20:06 +1300)]
terminal: Fix bugs in attribute rendering
Fixed ignoring of concealed attribute, incorrect underline colour, and
glyph_run_flush not resetting the attribute.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Callum Lowcay [Wed, 12 Jan 2011 06:40:14 +0000 (19:40 +1300)]
Merge branch 'master' of git://anongit.freedesktop.org/wayland
Conflicts:
clients/terminal.c
Callum Lowcay [Wed, 12 Jan 2011 06:23:41 +0000 (19:23 +1300)]
terminal: Escape sequences with string parameters
Adjust escape parsing code to handle OSC, DSC, and other escape
sequences with string parameters.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
Kristian Høgsberg [Tue, 11 Jan 2011 18:48:03 +0000 (13:48 -0500)]
clients: Make poppler-glib optional
Just don't compile the view client.
Kristian Høgsberg [Tue, 11 Jan 2011 16:06:49 +0000 (11:06 -0500)]
Batch up drawing glyphs
Kristian Høgsberg [Sat, 25 Dec 2010 21:58:31 +0000 (16:58 -0500)]
Hold on to the scaled fonts we use
Kristian Høgsberg [Sat, 25 Dec 2010 21:14:23 +0000 (16:14 -0500)]
Use cairo_show_glyphs for rendering text
A small step for now.
Kristian Høgsberg [Tue, 11 Jan 2011 15:26:04 +0000 (10:26 -0500)]
Factor out decoding of character attributes
Kristian Høgsberg [Tue, 11 Jan 2011 15:15:21 +0000 (10:15 -0500)]
Only draw background if it's different from what's already there
Kristian Høgsberg [Tue, 11 Jan 2011 15:13:00 +0000 (10:13 -0500)]
Make border color a color from the color table
Kristian Høgsberg [Tue, 11 Jan 2011 15:11:39 +0000 (10:11 -0500)]
Add helper to set color from color table
Kristian Høgsberg [Sat, 25 Dec 2010 13:58:46 +0000 (08:58 -0500)]
Split background and foreground painting into separate loops
Kristian Høgsberg [Tue, 11 Jan 2011 15:00:52 +0000 (10:00 -0500)]
Fix terminal resizing
Get snapping to character grid working again, avoid crashes when attempting
to resize below 1x1 character cell, only redraw when size actually changes.
Also, rename window_get_child_rectangle() to window_get_child_allocation().
Callum Lowcay [Mon, 10 Jan 2011 20:08:59 +0000 (09:08 +1300)]
Merge branch 'master' of git://anongit.freedesktop.org/wayland
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 [Sun, 9 Jan 2011 23:14:01 +0000 (12:14 +1300)]
terminal: More character attributes
Implement the concealed attribute, and 16-colour attributes. Fix a bug in
256-colour attributes that prevented them from working in elinks.
Signed-off-by: Callum Lowcay <callum@callumscode.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