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>
14 years ago
Callum Lowcay
bbeac60b8a
terminal: Scroll margins
...
Implement scroll margins and related escape codes.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
14 years ago
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>
14 years ago
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>
14 years ago
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>
14 years ago
Callum Lowcay
15bdc5d1d3
terminal: UTF-8 support
...
Signed-off-by: Callum Lowcay <callum@callumscode.com>
14 years ago
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.
14 years ago
Yuval Fledel
e9f5e36730
Make clients exit orderly when there is no connection
14 years ago
Kristian Høgsberg
9d69f8e796
Replace commit/ack/frame protocol with simpler sync and frame callbacks
15 years ago
Kristian Høgsberg
43788b13df
Update keyboard focus handler signatures
15 years ago
Kristian Høgsberg
f252d6a98e
Update to use eglGetDRMDisplayMESA()
15 years ago
Kristian Høgsberg
94adf6cb9e
Use libxkbcommon for mapping keycodes to keysyms
15 years ago
Kristian Høgsberg
c8c3734ef9
Set window user data using separate function
15 years ago
Kristian Høgsberg
dcb71b62a0
Update decoration drawing to be less cairo path happy
15 years ago
Kristian Høgsberg
80d746f6e3
Consolidate redraw scheduling in window.c
15 years ago
Kristian Høgsberg
0953162db8
Fix resizing
15 years ago
Kristian Høgsberg
478d9265f9
Send device name at connect time
15 years ago
Kristian Høgsberg
7824d81e07
Consolidate more code in clients/window.c
15 years ago
Kristian Høgsberg
b2a432ef18
Move clients to subdirectory
15 years ago
Kristian Høgsberg
a341fa016c
Use FBOs instead of eagle-specific API
15 years ago
Kristian Høgsberg
2aac302bd9
Stop using surface::copy in window
15 years ago
Kristian Høgsberg
12308a4997
Add color scheme support
15 years ago
Kristian Høgsberg
7e3e860031
terminal: trim unused headers.
16 years ago
Kristian Høgsberg
3c248cc9b6
Paint terminal cursor hollow when focus is lost.
16 years ago
Kristian Høgsberg
0208ed4c79
Don't close the pty master in forkpty child.
16 years ago
Kristian Høgsberg
b0b82e2eeb
Draw terminal cursor.
16 years ago
Kristian Høgsberg
5544491240
Move keymap to window.c
16 years ago
Kristian Høgsberg
43c28eee32
Add a toy-display object that caches state.
...
This will be GdkDisplay for GTK+ on Wayland etc. This restores
the terminal fullscreen mode.
16 years ago
Kristian Høgsberg
0ac16f056d
Switch to cairo-drm, drop struct buffer hacks.
16 years ago
Kristian Høgsberg
94448c0ad7
Add listener interfaces for output and input_device objects.
16 years ago
Kristian Høgsberg
0395f30e65
Add a fullscreen mode to the terminal.
16 years ago
Kristian Høgsberg
33500890b3
Handle more control characters in terminal.
16 years ago
Kristian Høgsberg
c8c5d5872d
Set terminal type to vt100.
16 years ago
Kristian Høgsberg
d2412e2c2e
Redesign the compositor / server interface.
...
This lets the compositor directly provide the implementation of the RMI
objects for the surface object and a new compositor object. We avoid the
manual forwarding of requests into the compositor and the clumsy compositor
interface struct.
16 years ago
Kristian Høgsberg
f0c7b2083a
Don't close uninitialized fd, check forkpty error.
16 years ago
Kristian Høgsberg
dbd54640f4
Implement a bunch of escape codes.
...
Bash command line editing and gdb is pretty much there. Emacs, vi and even less
need more work.
16 years ago
Kristian Høgsberg
6e0a2f8953
Tweak terminal font color.
16 years ago
Kristian Høgsberg
221067654c
Let clients override the suggested size on resize.
...
This lets gears enforce a square aspect ration and minimum size of 300x300
and the terminal now properly resizes in steps of character cells.
16 years ago
Kristian Høgsberg
1584c57edc
Snap terminal size to an integer number of character cells.
16 years ago
Kristian Høgsberg
17809b1e43
Handle \e[J and \e[H so we can clear the terminal.
16 years ago
Kristian Høgsberg
721f09f187
Make sure we don't miss queue redraws between commit and ack.
16 years ago
Kristian Høgsberg
c47303f2d2
Destroy back buffer in acknowledge handler.
16 years ago
Kristian Høgsberg
0d77fd484c
Add key map for ctrl modifier as well.
16 years ago
Kristian Høgsberg
b29415ee6d
Update tail pointer correctly so scrolling works.
16 years ago
Kristian Høgsberg
f04e838d4a
Skip escape codes for now.
16 years ago
Kristian Høgsberg
6e83d58153
Add keyboard input to terminal.
16 years ago
Kristian Høgsberg
269d6e3daf
Run command in a pty and feed output to wayland terminal.
16 years ago
Kristian Høgsberg
44e3c5e1ad
Add some text contents to terminal.
16 years ago
Kristian Høgsberg
0c4457f0c2
Refactor window logic into reusable parts, add a new terminal application.
...
The gears code is moved into a new file gearc.c and the window decoration
and management code stays in window.c. A new application 'terminal' is the
second user of the windowing code, but doesn't do anything useful yet.
16 years ago
Kristian Høgsberg
dc0f355f0a
Fix API to always include socket name length.
16 years ago