Wez Furlong
a28b5f5390
add triple-click to select a line
2018-02-09 08:19:10 -08:00
Wez Furlong
1619f786a9
Add somewhat primitive text selection for copy/paste
2018-02-08 21:35:26 -08:00
Wez Furlong
edd5911535
Add a small font styling engine
...
This enables selecting an italic font when the cell is italic,
but has more power beyond just that simple property.
This runs a little hot on the CPU so there's probably some caching and
tweaking that can be done to make the evaluation a bit cheaper.
2018-02-07 09:23:24 -08:00
Wez Furlong
532cf28782
add support for setting the primary selection
2018-02-06 20:40:46 -08:00
Wez Furlong
a4c7de7b9b
We now support shift+insert to paste the selection
2018-02-05 08:22:08 -08:00
Wez Furlong
b24ac14c05
Add TerminalHost trait
...
This will make it easier to add copy/paste handling in a follow up.
2018-02-04 22:35:33 -08:00
Wez Furlong
5261f9f3d8
Enable mouse reporting
...
There's a bit of restructuring of XCB event handling going on to enable
this, and we only support SGR reporting at the moment.
2018-02-04 20:53:03 -08:00
Wez Furlong
f89d37401b
Enable viewing the scrollback
...
Both mouse wheel and shift+{PageUp,PageDown} can be used to adjust
the scroll viewport.
2018-02-04 14:19:12 -08:00
Wez Furlong
09c70930b9
improve resize handling
...
Both in terms of resizing the window and running the `resize` utility.
2018-02-04 09:17:05 -08:00
Wez Furlong
4c8e3ffd75
improve clustering and cursor rendering
...
We weren't quite right with handling the cursor around double-width
characters. We're now a bit more robust at this because we're
clustering and taking pains to consider the printable width of the
cell as well as the width of the shaped (eg: with contextual ligatures)
glyph.
There may still be issues with contextual ligatures of length 3,
but I haven't managed to nail down exactly the issue yet.
2018-02-04 08:28:32 -08:00
Wez Furlong
78c2df34fc
use Range for scroll region
2018-02-02 09:02:30 -08:00
Wez Furlong
904f8fc059
better typing for rows and cursor position
2018-02-02 08:16:07 -08:00
Wez Furlong
c63c39409a
use Position for line positioning CSIAction's
2018-02-02 07:35:08 -08:00
Wez Furlong
d152055700
reduce the variations on set/delta for cursor positioning
2018-02-02 00:46:04 -08:00
Wez Furlong
bb186da400
avoid eagerly casting some parsed sequences to usize
...
This helps to avoid unexpected integer overflow
2018-02-02 00:23:30 -08:00
Wez Furlong
25773466fb
add a couple of sequences used by tmux when man is running
2018-02-01 07:42:16 -08:00
Wez Furlong
1cc180b813
test and fix a scrolling related bug
2018-02-01 00:22:33 -08:00
Wez Furlong
622c573201
fix boundary issue when scrolling and scrollback exceeded
2018-01-31 21:26:05 -08:00
Wez Furlong
e7e0aeebc2
Add support for cursor keys
2018-01-31 20:31:06 -08:00
Wez Furlong
a49e4b653b
fix an issue with CR processing
...
This eliminates the zsh reversed % artifact issue.
Added a feature flag to turn on diagnostics even in release mode;
`cargo run --release --features debug-escape-sequences`
2018-01-31 19:00:15 -08:00
Wez Furlong
659ce4fc2d
Make answerback more generic, enable title changing
2018-01-31 15:15:23 -08:00
Wez Furlong
11e6d538fc
move term to its own crate
...
This makes it harder to accidentally violate separation of concerns.
2018-01-31 10:50:21 -08:00