Wez Furlong
3a31975f06
Add terminal capabilities struct
2018-07-17 12:00:22 -07:00
Wez Furlong
eb7783242e
add_changes() to improve efficiency of copy/draw operations
2018-07-16 09:30:44 -07:00
Wez Furlong
60912a4d44
add copy_region method
2018-07-16 08:30:27 -07:00
Wez Furlong
2830da269e
Implement screen/region diffing and copying
2018-07-16 08:19:29 -07:00
Wez Furlong
30a549bdab
avoid emitting sgr if the attribute bits are unchanged
2018-07-15 20:42:27 -07:00
Wez Furlong
0828e40b15
adopt encode_escape in the renderer
...
This pulls in the rendering code from the escape sequence parser
module and expands its tests.
Added my compiled xterm terminfo file to make sure that the
test environment is reproducible.
2018-07-15 20:36:51 -07:00
Wez Furlong
bb96508634
add support for DECSET and a handful of known modes
2018-07-15 15:08:09 -07:00
Wez Furlong
a96e4f29ba
Add parsing/encoding for Esc sequences (non-CSI, non-OSC)
2018-07-15 14:17:22 -07:00
Wez Furlong
f692a6809a
Add some OSC parsing/encoding
2018-07-15 11:13:43 -07:00
Wez Furlong
4fae1ea3af
simplify CSI parsing
2018-07-15 08:59:57 -07:00
Wez Furlong
0637c73f1d
improve compat/utility when converting params to 1-based values
2018-07-15 07:11:56 -07:00
Wez Furlong
6ba8de63f2
add some edit related CSI sequences
2018-07-14 23:39:17 -07:00
Wez Furlong
39875b8948
Add cursor codes
2018-07-14 22:12:06 -07:00
Wez Furlong
f585b40ea0
Add a way to (re-)encode parsed data as escape sequences
2018-07-14 18:16:12 -07:00
Wez Furlong
60b19aa6b4
add plumbing for escape sequence parsing
2018-07-14 16:27:42 -07:00
Wez Furlong
ca7c22ce74
End end relative positioning, untested for now
2018-07-14 08:10:56 -07:00
Wez Furlong
666af3ff3e
sketch out the interface for two future functions
2018-07-14 08:00:50 -07:00
Wez Furlong
c63d17b1cc
interpret CRLF in Text Change entries
2018-07-13 21:15:52 -07:00
Wez Furlong
a9bb29dde1
Initial work on the render concept
2018-07-13 20:58:53 -07:00
Wez Furlong
e11156abaa
Ensure that the cursor pos is well defined after resize
2018-07-12 21:14:49 -07:00
Wez Furlong
1361c2ce61
invalidate Change stream on resize
2018-07-12 20:42:27 -07:00
Wez Furlong
c2acc333b1
add ability to flush the change stream
2018-07-12 20:07:47 -07:00
Wez Furlong
d889168001
construct Change streams
2018-07-12 09:05:46 -07:00
Wez Furlong
e547f8c504
start building out the terminal model
...
This is influenced by my code in wezterm
2018-07-12 07:26:37 -07:00
Wez Furlong
039eadc05f
update rustfmt
2018-07-11 08:30:49 -07:00
Wez Furlong
6efce9943c
std::env::home_dir is deprecated, use an alternative
2018-07-11 08:29:11 -07:00
Wez Furlong
8fae5f56a8
remove dead_code marker from some exported constants
2018-07-11 08:14:09 -07:00
Wez Furlong
8b24d34a74
fix panic for large pastes
2018-04-28 21:54:39 -07:00
Wez Furlong
b9088bd62d
update for rustfmt changes
2018-04-28 21:53:14 -07:00
Wez Furlong
d73892a4fd
update for recent rustfmt changes
...
No functional changes
2018-04-11 13:15:12 -07:00
Wez Furlong
57b438f867
Ensure that the TERM variable is set
...
This is important when being launched directly from the window manager.
2018-04-11 12:04:53 -07:00
Wez Furlong
197819db6d
Add basic support for ICH which is used by bash CTRL-R
2018-03-09 22:15:06 -08:00
Wez Furlong
1c4500082f
don't accumulate lingering zombies after closing a tab
2018-03-04 19:29:18 -08:00
Wez Furlong
2b822687be
resize all tabs when resizing the window
2018-03-04 17:24:19 -08:00
Wez Furlong
ff5a3179e1
new windows with Cmd-N
2018-03-04 17:17:37 -08:00
Wez Furlong
ddb0055124
Add docs about window and tab hotkeys
2018-03-04 17:10:38 -08:00
Wez Furlong
68bb0e859e
Show tab number in title bar when there are tabs
2018-03-04 17:06:06 -08:00
Wez Furlong
c5ce3e2621
Add CMD-[0-9] as shortcut for tab switching
2018-03-04 16:52:40 -08:00
Wez Furlong
edf44c9c48
We can now spawn and switch tabs!
2018-03-04 16:46:14 -08:00
Wez Furlong
cabc6681b6
add tab spawning
2018-03-04 16:27:02 -08:00
Wez Furlong
816925424a
add basic tab related key bindings
2018-03-04 13:31:16 -08:00
Wez Furlong
eb7153eb50
theoretically deal with a single tab closing on its own
2018-03-04 13:26:40 -08:00
Wez Furlong
dfafebebef
A window can theoretically now have multiple tabs
2018-03-04 12:47:58 -08:00
Wez Furlong
6c6f4ea39b
Each window now has a single Tab
2018-03-04 12:32:20 -08:00
Wez Furlong
d571d555f1
impl Evented for XCB Connection
2018-03-04 12:30:43 -08:00
Wez Furlong
88473e5a09
move window/tab/fullscreen related to TerminalHost
2018-03-04 09:13:36 -08:00
Wez Furlong
9affe0ea30
We can now open and safely close multiple windows!
2018-03-04 08:41:40 -08:00
Wez Furlong
6ccf3c98d7
support F-Keys with native xcb code
2018-03-04 07:32:37 -08:00
Wez Furlong
41cfcfdb15
Bring back my original xcb+egl window bits
2018-03-04 07:27:18 -08:00
Wez Furlong
079ac49c6b
add guiloop as indirection over glutinloop
...
... and remove dep on glutin. We don't properly compile yet,
but this is a step to bringing back the egl bits we had originally.
2018-03-03 22:03:12 -08:00