Wez Furlong
7b7b7cff46
Add support for OSC 52, clipboard
...
We only allow setting, not reading, the clipboard.
2018-03-01 00:20:15 -08:00
Wez Furlong
80f114c3ee
stubs for a couple of OSC sequences
...
These do nothing, but at least we don't spew about them.
2018-02-28 23:32:30 -08:00
Wez Furlong
28aafa4a73
Improve printing of unknown OSC
2018-02-28 23:09:00 -08:00
Wez Furlong
f986e0c6d8
Properly check the range intersection for invalidating selection
2018-02-28 22:07:48 -08:00
Wez Furlong
f3149a5bf6
Clear the selection rendering when the cells change
...
I think this covers it... I need to follow up with some test coverage.
Fixes: https://github.com/wez/wezterm/issues/9
2018-02-28 09:06:51 -08:00
Wez Furlong
9ad9360075
Update tab stops when resizing
...
The issue here was that we were not updating the tab stops when making
the window larger. This had the side effect of causing the cursor to
move in unexpected ways when tabbing to the right.
Fixes: https://github.com/wez/wezterm/issues/13
2018-02-28 00:15:54 -08:00
Wez Furlong
a274700cb8
figure out what a couple of sequences used by mc
are
...
But don't do anything to implement them yet
2018-02-27 21:33:02 -08:00
Wez Furlong
9d75a42af6
improve debug output for unhandled csi
2018-02-27 21:21:05 -08:00
Wez Furlong
045abeee42
print ding when the bell is rung
...
refs: https://github.com/wez/wezterm/issues/3
2018-02-27 20:59:09 -08:00
Wez Furlong
27ab1b65a0
Add support for F-keys
...
Fixes https://github.com/wez/wezterm/issues/11
2018-02-27 08:01:41 -08:00
Wez Furlong
791d39bb4d
Fix 256 color palette
...
We were skewing to blue before red and that didn't match xterm.
Fixes https://github.com/wez/wezterm/issues/12
2018-02-27 07:26:49 -08:00
Wez Furlong
1e71efa33a
remove the clunky answerback thing
2018-02-26 08:43:14 -08:00
Wez Furlong
7b5dbab1a4
Do a better job at BCE when erasing lines
...
The `dialog` program relies on this.
2018-02-26 08:08:05 -08:00
Wez Furlong
8e9620d001
add CHA support, used by dialog
2018-02-26 07:36:32 -08:00
Wez Furlong
4b92a03c15
remove another debug line
2018-02-26 07:15:16 -08:00
Wez Furlong
b81fb73c37
Really avoid underflow with apt
scrolling
...
I thought I took care of this in 7c0536f9a3
,
but I misunderstood how saturating_sub works. I still need to clamp
it within range.
2018-02-24 20:59:44 -08:00
Wez Furlong
4092796db3
Fix an issue where the background color rendered gray instead of black
...
When using the default monospace font on ubuntu (typicaly
DejaVuSansMono), the texture atlas would end up the bottom left pixel
being a shade of gray.
Since we were using (0,0) coords for whitespace cells, all whitespace
cells would appear shaded gray.
We now reserve a black pixel in the bottom left of the underline texture
and switch to that for whitespace instead.
I added Debug support to the ColorPalette while tracking this down,
and figured that I might as well keep it.
2018-02-24 17:28:35 -08:00
Wez Furlong
9737646978
fix delete
2018-02-24 15:58:38 -08:00
Wez Furlong
abc06620b8
add support for implicit hyperlinks
2018-02-24 15:43:02 -08:00
Wez Furlong
90dd732aee
make selected and cursor text fg/bg configurable
...
Previously we only allowed changing the cursor bg color, now we
get 4 different color settings for this!
2018-02-23 07:57:52 -08:00
Wez Furlong
d03564aa10
paint after each window input, remember mods for text input
...
Also need to tweak how we handle ALT-x and CTRL-x as the case of the input
is different with glium vs. xcb
2018-02-22 08:41:51 -08:00
Wez Furlong
a7f2757452
rustfmt update
2018-02-20 22:08:19 -08:00
Wez Furlong
7c0536f9a3
avoid panic if an app sets an invalid scroll region
2018-02-20 08:42:08 -08:00
Wez Furlong
279b2018fd
Render cursor and selection for resized lines
...
If the user enlarges the terminal we can have regions of the vertex
buffer that have colors that default to alpha channel 0. This is
normally fine but breaks rendering of the cursor and the selection;
those attributes are out of band from the normal cell attributes,
especially for whitespace cells, so we need to handle those in
the degenerate case at the end of a line render.
Refactor the code that computes the cursor and selection colors
so that we can call it and use it in both places.
2018-02-19 21:29:27 -08:00
Wez Furlong
25e2dc2a96
fix an issue with the selection when in scrollback
2018-02-19 16:26:10 -08:00
Wez Furlong
dd238d5b50
add DCH
2018-02-19 15:33:13 -08:00
Wez Furlong
d041b7be0d
fix an issue with scrolling within a region
2018-02-19 14:39:07 -08:00
Wez Furlong
37e5d8571a
add HVP sequence. Just like CUP.
2018-02-19 14:02:54 -08:00
Wez Furlong
c9eba103d1
Use vecdeque for screen lines
...
This brings us back in the right perf ballpark
2018-02-19 13:08:47 -08:00
Wez Furlong
58f423eebe
fix bounds for scrolling
...
unfortunately this is super expensive and halves the cat test perf.
2018-02-19 11:26:19 -08:00
Wez Furlong
02846f4c82
use Cell::reset to clear portions of a line
2018-02-19 10:51:34 -08:00
Wez Furlong
a0b4630998
micro opt cursor moving during print
2018-02-19 10:47:49 -08:00
Wez Furlong
aa95eaefd9
micro-opt scroll_up some more
2018-02-19 10:27:28 -08:00
Wez Furlong
48997f02d1
micro optimize cell creation
2018-02-19 09:08:17 -08:00
Wez Furlong
1b989b011d
improve scroll_up perf
...
We were marking the entire scrollback history as dirty on each line
scroll. This was from the early days and isn't needed any more.
This brings the runtime of:
```
$ find /usr > /tmp/usr-files.txt
$ time cat /tmp/usr-files.txt
```
down from ~2.5s to ~1.2s.
Also avoid a redundant line_mut() call in set_cell().
2018-02-19 08:14:03 -08:00
Wez Furlong
563408df6f
micro optimization for scroll_up
2018-02-19 07:55:49 -08:00
Wez Furlong
450ed0e82c
don't explode when scrolling back
2018-02-18 23:04:11 -08:00
Wez Furlong
fa0549b76e
add some more comments
...
and back out the get_all flag that was added as a temp workaround
in the earlier stages of adding opengl support.
2018-02-18 17:21:02 -08:00
Wez Furlong
de700e0207
make it very slightly cheaper to enumerate the screen lines
2018-02-17 15:04:48 -08:00
Wez Furlong
b8eb6dbedc
make color -> uniform conversion more ergonomic
2018-02-17 08:25:59 -08:00
Wez Furlong
c8a58cac06
we now render useless blocks in the fg color via gl
2018-02-16 23:28:51 -08:00
Wez Furlong
20965e786f
start hacking on OpenGL ES2 rendering
2018-02-16 21:44:56 -08:00
Wez Furlong
20f4b21f13
add some more tests
2018-02-12 08:25:31 -08:00
Wez Furlong
28179ff981
check negative value for ECH, too
2018-02-12 08:15:35 -08:00
Wez Furlong
438822d63b
add ECH handling
2018-02-12 07:57:22 -08:00
Wez Furlong
09f481e753
avoid ambiguous true color csi SGR sequence
2018-02-12 07:40:35 -08:00
Wez Furlong
ad3524bfc8
run down an off-by-one in VPA handling
...
This manifested with vim-inside-tmux losing my top tmux status line.
Add a test!
2018-02-11 23:56:42 -08:00
Wez Furlong
0870e6c7e4
tweak comments and error printing around OSC
2018-02-11 22:29:21 -08:00
Wez Furlong
6fb12c3520
add test for reverse index
2018-02-11 21:58:53 -08:00
Wez Furlong
18990a24b4
Basic tab stops
2018-02-11 21:54:18 -08:00