Commit Graph

511 Commits

Author SHA1 Message Date
Callum Lowcay 9d708b07e4 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>
2011-01-13 20:30:43 +13:00
Callum Lowcay 9acdb50084 Merge branch 'master' of git://anongit.freedesktop.org/wayland
Conflicts:
	clients/terminal.c
2011-01-12 19:40:14 +13:00
Callum Lowcay 67a201da6f 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>
2011-01-12 19:23:41 +13:00
Kristian Høgsberg 08c40c3550 clients: Make poppler-glib optional
Just don't compile the view client.
2011-01-11 13:48:03 -05:00
Kristian Høgsberg 1d3e93922d Batch up drawing glyphs 2011-01-11 11:06:49 -05:00
Kristian Høgsberg 7ae6b1a27d Hold on to the scaled fonts we use 2011-01-11 10:38:51 -05:00
Kristian Høgsberg 4f50670769 Use cairo_show_glyphs for rendering text
A small step for now.
2011-01-11 10:33:53 -05:00
Kristian Høgsberg 01994a5964 Factor out decoding of character attributes 2011-01-11 10:26:04 -05:00
Kristian Høgsberg fb266a3207 Only draw background if it's different from what's already there 2011-01-11 10:15:21 -05:00
Kristian Høgsberg 71eca89356 Make border color a color from the color table 2011-01-11 10:13:00 -05:00
Kristian Høgsberg f106fd5b67 Add helper to set color from color table 2011-01-11 10:11:39 -05:00
Kristian Høgsberg 8c25420a50 Split background and foreground painting into separate loops 2011-01-11 10:09:32 -05:00
Kristian Høgsberg da846ca91d 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().
2011-01-11 10:00:52 -05:00
Callum Lowcay 1b091dd411 Merge branch 'master' of git://anongit.freedesktop.org/wayland 2011-01-11 09:08:59 +13:00
Tiago Vignatti 5fd89d255b 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>
2011-01-10 14:16:42 -05:00
Callum Lowcay 81179db42c 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>
2011-01-10 12:14:01 +13:00
Callum Lowcay 86653ed273 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>
2011-01-08 20:35:25 -05:00
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