|
|
b7ed08d44c
|
grid: reflow scrollback and screen on resize
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I73b5d858eafc05026a6fff1eb67eea226a6a6964
|
2026-06-26 10:21:35 +03:00 |
|
|
|
6f1d4dd7f9
|
search: incremental scrollback search with match highlight and prompt
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0a0450eba48d308763db297f105565346a6a6964
|
2026-06-26 10:21:34 +03:00 |
|
|
|
28a49c5bbe
|
osc: clipboard get/set via OSC 52
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I39637cb00313f1f9f83a4ac2977794246a6a6964
|
2026-06-26 10:21:33 +03:00 |
|
|
|
1b4c293c99
|
selection: block (Ctrl-drag) selection, edge autoscroll, word delimiters
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Icd505e07375273e3dd7b14f0b05e44e16a6a6964
|
2026-06-26 10:21:32 +03:00 |
|
|
|
219f0a3c94
|
input: report mouse and focus events to the application
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7136e2ae2c833ff581ea14287c876a3a6a6a6964
|
2026-06-26 10:21:31 +03:00 |
|
|
|
8469cd3b39
|
pointer: set an I-beam cursor shape over the window
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I30b31f4d2de479d972d86fd0d9edf43a6a6a6964
|
2026-06-26 10:21:30 +03:00 |
|
|
|
72044c21fd
|
vt: honour synchronized output (DECSET 2026) with a present timeout
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I173dc842d89d96ea39154e1fde95be816a6a6964
|
2026-06-26 10:21:29 +03:00 |
|
|
|
f1c8271d31
|
render: frame-paced presentation with per-row damage and blink
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4e925b4d1d904d9592060e968d84ec906a6a6964
|
2026-06-26 10:21:28 +03:00 |
|
|
|
7887420139
|
render: mouse selection with clipboard and primary copy-paste
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I808839078ae2674caa1f1bfd7e84f3bc6a6a6964
|
2026-06-26 10:21:27 +03:00 |
|
|
|
3dd953b75a
|
grid: scrollback with mouse-wheel and Shift+PageUp scrolling
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I12b2ed33a705eb3474a7d14a295e021d6a6a6964
|
2026-06-26 10:21:25 +03:00 |
|
|
|
ba8f8d7144
|
input: drive key repeat off a calloop timer
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic249e3ed4742ad5bc3c12eade720a7f26a6a6964
|
2026-06-26 10:21:24 +03:00 |
|
|
|
23ad00348d
|
font: bound the glyph cache; synthesize missing bold/italic
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I39a00a2847022f684060e94c816df7786a6a6964
|
2026-06-26 10:21:23 +03:00 |
|
|
|
5682027a94
|
font: render colour emoji from bitmap strikes, scaled to the cell
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If30e5f13ee24e691b417ad35c588a6226a6a6964
|
2026-06-26 10:21:22 +03:00 |
|
|
|
8e737dd2ff
|
vt: answer XTGETTCAP capability queries
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8011dd7a061b46447b6c9f147b5614e06a6a6964
|
2026-06-26 10:21:21 +03:00 |
|
|
|
7254cbf381
|
render: cut per-frame cost with a fast clear and row fills
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I96cdacecbe2a55c42825006e84fede076a6a6964
|
2026-06-26 10:21:20 +03:00 |
|
|
|
b2d656e7bd
|
input: encode keyboard events and send them to the shell
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6ee2acd5f74575f4bcc2f41417207c626a6a6964
|
2026-06-26 10:21:19 +03:00 |
|
|
|
0df5588f02
|
wayland: spawn the pty after the first configure
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0fb9dd38217943d4defd908f857d78766a6a6964
|
2026-06-26 10:21:18 +03:00 |
|
|
|
88df7c2404
|
render: cursor shapes, visibility, and focus
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iad508cceb2c8417147ad71b5c1ffc4bc6a6a6964
|
2026-06-26 10:21:17 +03:00 |
|
|
|
2afb4875be
|
render: draw underline styles, strike, overline, and dim
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0cf6a44446240a59c2fc8c6735afaf1d6a6a6964
|
2026-06-24 15:36:30 +03:00 |
|
|
|
6b3c8dc059
|
vt: answer XTVERSION, DA3, DECRQM, and the title stack
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib74e56cfd26b029064e5683ba20b70606a6a6964
|
2026-06-24 15:36:29 +03:00 |
|
|
|
56907b4115
|
pty: propagate the shell's exit status
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9f33a222a19794b6ad2910fb6029796f6a6a6964
|
2026-06-24 15:36:28 +03:00 |
|
|
|
5690e0e883
|
render: draw the grid with rasterized glyphs
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I6350824abb506c2af98884a7374228116a6a6964
|
2026-06-24 15:36:27 +03:00 |
|
|
|
bc53393aec
|
vt: parse terminal output into a grid model
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iee271b093801326cff2489218063ab4c6a6a6964
|
2026-06-24 08:25:36 +03:00 |
|
|
|
740aefffa8
|
pty: run the shell and read its output
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib472cd1bd66ffbba1725d4576eedffff6a6a6964
|
2026-06-24 08:25:35 +03:00 |
|
|
|
c68d3445e7
|
wayland: we have a (blank) window ladies and gentlemen
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id2b91339a2d43cc95041dafe835c6a526a6a6964
|
2026-06-24 08:25:19 +03:00 |
|
|
|
35ea435776
|
beer: initial project scaffolding
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I07c4ee715f51332893e2466b8c52f8eb6a6a6964
|
2026-06-23 14:59:07 +03:00 |
|