Commit Graph

94 Commits

Author SHA1 Message Date
Callum Lowcay
7e08e90c74 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>
2011-01-08 20:35:15 -05:00
Callum Lowcay
256e72f0e2 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>
2011-01-08 20:35:05 -05:00
Callum Lowcay
69e9658da0 terminal: vt102 editing commands
Implement the vt102 editing commands, and insert/replace mode.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:34:17 -05:00
Callum Lowcay
8e57dd5071 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>
2011-01-08 20:33:46 -05:00
Callum Lowcay
bbeac60b8a terminal: Scroll margins
Implement scroll margins and related escape codes.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:33:35 -05:00
Callum Lowcay
b8609ada50 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>
2011-01-08 20:33:05 -05:00
Callum Lowcay
a0ee21c7dc 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>
2011-01-08 15:15:09 -05:00
Callum Lowcay
30eeae55e0 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>
2011-01-08 15:14:55 -05:00
Callum Lowcay
15bdc5d1d3 terminal: UTF-8 support
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 15:14:39 -05:00
Kristian Høgsberg
96ce968b12 gears: Include config.h 2011-01-07 14:42:49 -05:00
Kristian Høgsberg
1926ebab73 Add missing newline in gears error message 2011-01-07 14:04:43 -05:00
nobled
9835417962 Workaround gears depending on cairo-gl
Extremely hacky, but at least it doesn't stop the build anymore.
2011-01-05 23:00:53 +00:00
nobled
f8475c9366 Fix window.c build without cairo-gl 2011-01-05 17:41:55 +00:00
Kristian Høgsberg
82da52b15b 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.
2010-12-17 09:53:12 -05:00
Kristian Høgsberg
53a7f2137b Fix the resizor 2010-12-16 21:11:10 -05:00
Kristian Høgsberg
5c4056e049 Schedule frame callback in the redraw handler 2010-12-16 14:56:41 -05:00
Kristian Høgsberg
7c221d278a 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.
2010-12-16 13:35:23 -05:00
Yuval Fledel
45568f6e33 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
2010-12-06 09:20:34 -05:00
Kristian Høgsberg
f8fc08f771 Add origin information to output.geometry event 2010-12-01 20:10:10 -05:00
Kristian Høgsberg
2bb3ebe1e4 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.
2010-12-01 16:53:01 -05:00
Kristian Høgsberg
06bc26401c Fix warnings from adding -Wall back 2010-12-01 09:50:16 -05:00
Kristian Høgsberg
1f25315ae2 Add $(GCC_CFLAGS) back
Missed this when moving to automake.
2010-12-01 09:46:10 -05:00
Joel Teichroeb
0c007aea35 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.
2010-11-30 15:42:37 -05:00
Kristian Høgsberg
d44bc8b8ee Add reject round trip to dnd protocol
This lets a drag target reject a drop.
2010-11-30 15:10:26 -05:00
Kristian Høgsberg
41da90897c Don't hardcode offered dnd types in window.c 2010-11-30 14:01:07 -05:00
Joel Teichroeb
88b272d9ff Made the window save the coordinates when being draged. 2010-11-30 13:26:31 -05:00
Benjamin Franzke
35fd2a8cc6 wayland_client: rename wl_display_create to wl_display_connect
Avoid conflict when using wayland-{server,client} together.
2010-11-29 17:14:38 -05:00
Fred Morcos
c4b8c457e8 fix missing includes in clients/window.h and clients/wayland-glib.h 2010-11-29 08:14:57 -05:00
Kristian Høgsberg
1f5d507596 Define MULT outside the HAVE_CAIRO_GL #ifdef 2010-11-29 08:13:35 -05:00
Darxus
55973f2f5a Some additional return value checking 2010-11-22 21:54:15 -05:00
Yuval Fledel
e9f5e36730 Make clients exit orderly when there is no connection 2010-11-22 15:19:43 -05:00
Kristian Høgsberg
8857a96a97 window: Don't call drag_offer_handler if it's NULL
Reported by canbaby@21cn.com.
2010-11-22 13:02:24 -05:00
Bryce Harrington
156d057e56 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>
2010-11-22 10:49:07 -05:00
Bryce Harrington
515f63ad72 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>
2010-11-22 10:48:52 -05:00
Bryce Harrington
f57303f7cf 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>
2010-11-22 10:48:35 -05:00
Bryce Harrington
40269a6ed6 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>
2010-11-22 10:48:17 -05:00
Nikolai Kondrashov
7637ff0839 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>
2010-11-11 20:11:27 -05:00
Kristian Høgsberg
2b43bd73a0 Bring gears example up to date
Must have gears.
2010-11-08 15:46:02 -05:00
Johan Bilien
990854d019 Fixed a bogus call to cairo_destroy 2010-11-08 08:55:50 -05:00
Kristian Høgsberg
0bfb126e59 Add /wayland so we pick up generated header files
Reported by Benjamin Franzke.
2010-10-31 14:24:39 -04:00
Chia-I Wu
4d8ba216c5 Make sure there is a current context.
The context of a display is shared with the cairo device.
cairo_acquire_device should be called whenever OpenGL calls are made.
2010-10-29 12:49:57 -04:00
Chia-I Wu
1f411902de Use glTexSubImage to update the pixels.
glTexImage causes respecification.  The DRM buffer a client renders to
will be different from that used to create the wl_buffer.
2010-10-29 12:34:47 -04:00
Kristian Høgsberg
332073b9db List libtoytoolkit.la before libwayland-client.la on the link line
Fixes link order for --as-needed linking.
2010-10-27 15:02:51 -04:00
Kristian Høgsberg
012a007771 Add small client for testing shm surfaces 2010-10-26 10:37:55 -04:00
Kristian Høgsberg
d0c3b9da22 Fall back to cairo image backend and shm surface if we don't have cairo gl 2010-10-25 11:40:03 -04:00
Kristian Høgsberg
f0152daad7 Use automake 2010-10-12 18:00:16 -04:00
Kristian Høgsberg
118fb49eeb Fix clients include path after moving files around 2010-10-12 13:53:13 -04:00
Kristian Høgsberg
45115a435e Fix screenshoot.c type in Makefile 2010-09-17 09:04:46 -04:00
Kristian Høgsberg
3dd66d66a3 Use scanner to generate screenshooter client code as well 2010-09-14 16:23:24 -04:00
Kristian Høgsberg
ce457ba68c Add timestamp to pointer image attach request
This lets the server discard requests received after the pointer has
exited and the re-entered a surface.
2010-09-14 15:39:45 -04:00