Mitchell Hashimoto
a5066635f0
renderer: do not downsample oversized glyphs
...
Fixes #696
We should rely on the rasterizer to create glyphs of the proper size,
including doing CPU resizing if necessary.
2023-10-17 10:55:04 -07:00
Mitchell Hashimoto
ab35a21dc2
renderer: render cursor behind colored emoji
2023-10-16 12:57:23 -07:00
Mitchell Hashimoto
0918731d9a
renderer/metal: need to set proper alpha for fg mode in shader
...
Fixes #673
2023-10-16 12:22:51 -07:00
Mitchell Hashimoto
407bd6fb79
terminal: with mode 2027, vs16 must move cursor one more right
...
Fixes #680
2023-10-16 09:48:05 -07:00
Mitchell Hashimoto
12054087e1
terminal: scroll up full top/bottom region was off by one
...
Fixes #689
See test cases, verified with xterm.
2023-10-16 09:25:47 -07:00
Mitchell Hashimoto
1c0fd2442b
Merge pull request #688 from mitchellh/dsr
...
xterm audit: cursor position report (CPR)
2023-10-15 22:00:10 -07:00
Mitchell Hashimoto
7b81eba565
terminal: cursor position report respects left scroll region with origin
2023-10-15 21:58:13 -07:00
Mitchell Hashimoto
c382f61a32
Merge pull request #687 from mitchellh/cancel
...
renderer: handle error.NotFound for timer cancellation
2023-10-15 21:44:42 -07:00
Mitchell Hashimoto
78b5c1db77
renderer: handle error.NotFound for timer cancellation
...
Fixes #685
This is expected in very rare scenarios where under heavy load, a timer
could complete before a cancellation request is processed, resulting in
a "not found".
2023-10-15 21:35:13 -07:00
Mitchell Hashimoto
06f7cfb398
terminal: save cursor and restore cursor xterm audit
2023-10-15 21:25:47 -07:00
Mitchell Hashimoto
879bdf27a9
core: scroll viewport back to bottom on any key input that isn't a mod
...
Fixes #619
This changes the behavior from requiring printable text to any input
that isn't a modifier and also generates some data we send to the pty.
If there is printable text, we also clear the selection.
2023-10-15 08:53:38 -07:00
Mitchell Hashimoto
de1ed071ad
termio: configure OSC parser with an allocator
2023-10-15 08:41:38 -07:00
Mitchell Hashimoto
cfac6c4001
terminal: OSC parser takes optional allocator
...
OSC 52 is the only command that uses this today. If the allocator is
present it will use it to store the clipboard contents.
2023-10-14 21:49:10 -07:00
Mitchell Hashimoto
b4070eb67e
renderer: unfocused cursor should always be fully opaque
2023-10-14 14:11:15 -07:00
Mitchell Hashimoto
ff38d3e358
config: add cursor-opacity
2023-10-14 14:08:06 -07:00
Mitchell Hashimoto
7167cf9054
renderer: default cursor color to foreground
...
Fixes #667
2023-10-14 14:02:17 -07:00
Mitchell Hashimoto
a75d42b4a5
core: allow arrow key on scroll to fail write to IO
...
Fixes #625
This only applies if there is a LOT of scroll events. In that case,
clamping the scroll events to whatever our IO thread can handle seems
fine. An alternate approach is to allocate.
2023-10-14 10:53:20 -07:00
Mitchell Hashimoto
59140f593b
terminal: VS16 should make a narrow char take up two cells in mode 2027
2023-10-14 10:43:50 -07:00
Mitchell Hashimoto
529d1f016f
terminal: when clearing previous wide character, preserve SGR state
2023-10-13 15:15:14 -07:00
Mitchell Hashimoto
880252fd1d
terminal: printing over wide spacer tail should clear wide char
2023-10-13 14:45:40 -07:00
Mitchell Hashimoto
4f5a05e087
renderer: render cursor over wide character if on tail part
2023-10-13 14:39:10 -07:00
Mitchell Hashimoto
7995d44cfb
font: render sprites with a configurable grid cell width
...
Fixes #666
2023-10-13 14:31:55 -07:00
Mitchell Hashimoto
1411015038
font: fallback search should search full discovery chain
...
Fixes #668
We were previously only checking the first font result in the search.
This also fixes our CoreText scoring algorithm to prioritize faces that
have the codepoint we're searching for.
2023-10-13 12:25:27 -07:00
Mitchell Hashimoto
5ce50d08a1
terminal: linefeed mode
2023-10-12 20:46:26 -07:00
Mitchell Hashimoto
853c0427e6
website: document srm mode
2023-10-12 19:38:06 -07:00
Mitchell Hashimoto
89d2827910
terminal: insert mode tests, fix insertBlanks multi-cell char split
2023-10-12 19:24:27 -07:00
Mitchell Hashimoto
6a065540dd
terminal: KAM (mode 2)
...
This has an associated config `vt-kam-allowed` which defaults to "false"
since this mode can cause the terminal to become mostly unusable. We
include this mode for completions sake however.
2023-10-12 17:07:47 -07:00
Mitchell Hashimoto
d97e5b9dab
input: legacy encoding pc style keys should ignore directional modifiers
2023-10-12 12:28:26 -07:00
Mitchell Hashimoto
17430a1250
terminal: index handles left/right regions
2023-10-12 08:31:28 -07:00
Mitchell Hashimoto
f94f32be79
website
2023-10-11 22:01:37 -07:00
Mitchell Hashimoto
392da475e1
terminal: XTSHIFTESCAPE
2023-10-11 21:49:04 -07:00
Mitchell Hashimoto
f7cc5ccdd6
config: add mouse-shift-capture configuration
2023-10-11 21:38:52 -07:00
Mitchell Hashimoto
96546af475
terminal: test REP
2023-10-11 17:23:27 -07:00
Mitchell Hashimoto
e593ffa264
terminal: default for right scroll margin was incorrect
2023-10-10 16:06:27 -07:00
Mitchell Hashimoto
0d2bfacd5b
terminfo: add left/right margin entries
2023-10-10 15:59:24 -07:00
Mitchell Hashimoto
a9fee348b6
terminal: print handles left/right margins
2023-10-10 15:41:31 -07:00
Mitchell Hashimoto
73ecb6f7ee
terminal: CUL handles left/right margins
2023-10-10 15:26:04 -07:00
Mitchell Hashimoto
0c2bf94b13
Enable left/right margin support
2023-10-10 15:21:45 -07:00
Mitchell Hashimoto
fbc305c901
terminal: reverse index xterm audit
2023-10-10 15:15:53 -07:00
Mitchell Hashimoto
d8f2a8dff0
termio: NEL is index then CR
2023-10-10 14:37:25 -07:00
Mitchell Hashimoto
28b7329fe4
terminal: scroll down test
2023-10-10 14:22:05 -07:00
Mitchell Hashimoto
3cc0cbcc9d
terminal: SU, fix DL bug
2023-10-10 13:00:00 -07:00
Mitchell Hashimoto
7a8f2bfed6
terminal: decscusr
2023-10-10 12:24:11 -07:00
Mitchell Hashimoto
5d1b54eceb
termio: unescape OSC 7 pwd since it is URL encoded
...
Fixes #621
2023-10-10 11:21:59 -07:00
Mitchell Hashimoto
a234627156
core: mouse selection to right should include first cell if past
...
boundary
2023-10-10 09:37:11 -07:00
Mitchell Hashimoto
a6d3d51945
core: mouse selection when moving left before half-way point
...
If you have a cell "M" and you click before the mid-point of M on the
left side and then drag left, we should not select "M".
2023-10-10 09:35:11 -07:00
Mitchell Hashimoto
f216609662
terminal: RIS should reset tabstops, ESC ? W should reset every 8
...
Fixes #648
Two issues here:
- RIS should've been resetting the tabstops to every 8, but was
clearing all tabstops.
- `ESC ? W` should've reset tabstops to every 8, but was clearing
all tabstops.
2023-10-10 09:02:22 -07:00
Mitchell Hashimoto
2354454907
terminal: set left and right margins, left and right margin mode 69
2023-10-09 21:20:15 -07:00
Mitchell Hashimoto
be99d8ffe1
terminal: decaln
2023-10-09 20:33:52 -07:00
Mitchell Hashimoto
7cc0bbe211
terminal: set top and bottom margin tests
2023-10-09 20:08:16 -07:00