e04ffc6649
input: kitty keyboard protocol and hex codepoint entry
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0f58c82752b9d7a8df35fe78f034c0be6a6a6964
2026-06-26 10:22:00 +03:00
5cba919c78
treewide: split terminal core modules
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9cace0b7c6995c0fca21ff2cf465ae1f6a6a6964
2026-06-26 10:21:59 +03:00
bf27abc9f4
nix: fix lockfile path
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I530d8b3990b4b9dc121378d9bc47d3a46a6a6964
2026-06-26 10:21:58 +03:00
932b14bbfc
doc: document shell-integration, URL, notify, and bell config
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I75b279526ba5857d3a4104e67ccaa58e6a6a6964
2026-06-26 10:21:57 +03:00
69ba5fb30c
vt: desktop notifications (OSC 9/777/99) and a configurable bell
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I43ad1f9892ecec1f32c03c67e863b1746a6a6964
2026-06-26 10:21:56 +03:00
2161d7250f
render: OSC 8 hyperlinks with hover/click and a URL hint mode
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7b39adae426d3fc5b7dfe1437eb10e976a6a6964
2026-06-26 10:21:55 +03:00
72ec651ff1
vt: add OSC 133 prompt marks with jump and pipe-output actions
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0afe252fefa3eb82559a35d03ba449376a6a6964
2026-06-26 10:21:54 +03:00
0c0da3d035
vt: track cwd via OSC 7; add a new-window action
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I498a1938ca0129d10cf0e230d27188ed6a6a6964
2026-06-26 10:21:53 +03:00
a5249b2315
build: tag 0.2.0
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id6ff5e6777e9506290bfeedc71c63c816a6a6964
2026-06-26 10:21:52 +03:00
c786e230d0
render: fix braille dot sizing and alignment
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iba4e6a990cd61434a3e4c50f694104976a6a6964
2026-06-26 10:21:51 +03:00
580ff3d36c
render: draw braille patterns directly instead of via the font
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I0b118f3c5e5842e37bf8427118cfc4ab6a6a6964
2026-06-26 10:21:50 +03:00
1634a2bbc1
doc: document the [mouse] config table
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I94c9626acde828366c761906fec5ec1f6a6a6964
2026-06-26 10:21:49 +03:00
15a4a97033
config: add [mouse] table with scroll multiplier and alternate-scroll
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I58d4f2cb0010c167c7c317bf10dea99b6a6a6964
2026-06-26 10:21:48 +03:00
1b8138fc4f
grid: store and render combining marks on the base cell
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ic1aedda14fa6102c4dc80f9fd6863c7f6a6a6964
2026-06-26 10:21:47 +03:00
53924d381a
wayland: render IME preedit and commit via text-input-v3
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I84a3735ca2e75e63d098fb17836ffd786a6a6964
2026-06-26 10:21:46 +03:00
155954a491
wayland: track input devices per seat for multi-seat support
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If33e7d1de13c5dcd5e504cacd07911ec6a6a6964
2026-06-26 10:21:45 +03:00
baed9bc98c
wayland: render at fractional scale via viewporter, integer fallback
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I930684c15213a3e3b7de6b74dfb9da076a6a6964
2026-06-26 10:21:44 +03:00
206449a95d
doc: generate manpages with scdoc
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I76a1ac451259af5b4eb86a609b367ca36a6a6964
2026-06-26 10:21:43 +03:00
0ecda1b5ce
config: live reload on SIGUSR1
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2549feccf6eb3a48ea39dbf0e370e0c46a6a6964
2026-06-26 10:21:42 +03:00
9a680ab42e
input: configurable key/text bindings, font resize, and fullscreen
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I671e429c3d4e4f3c82f4a15fed0ac73d6a6a6964
2026-06-26 10:21:41 +03:00
0738ce3b6f
config: default cursor style/blink and visual bell
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ibd512084374fe4723ee267a916187af56a6a6964
2026-06-26 10:21:40 +03:00
2d319b7e73
render: inner terminal padding (pad-x/pad-y)
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I190f63ca86a8cf976e4d018df73897ab6a6a6964
2026-06-26 10:21:39 +03:00
c78687c0ae
color: config-seeded theme/palette with OSC 4/10/11/17/19 and bg opacity
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ied0c27950f4ee8d5bd862c90341118826a6a6964
2026-06-26 10:21:38 +03:00
ccc30d1bbd
config: load beer.toml and apply font, geometry, scrollback, word delimiters
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5008a74307d856f9df472776cb66c8b06a6a6964
2026-06-26 10:21:37 +03:00
9df4e8fb8a
build: tag 0.1.0
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I5858af7c69ace264fdb8c0b20ec680d66a6a6964
2026-06-26 10:21:36 +03:00
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
f52af55f66
build: tag 0.0.2
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4c31117b3b11ee3e59f77b9285ac64fe6a6a6964
2026-06-26 10:21:26 +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
8486c343d7
nix: load terminfo in the devshell and complete the package build
...
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9d341443399d553c197f56bf66a578426a6a6964
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
a3c41c6ccb
build: tag 0.0.1
...
Still not usable, so we're incrementing patch versions only. It's like
patchinig this thing into existence.
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iad730d26b7d0e1d6599687148ac846af6a6a6964
2026-06-24 08:25:37 +03:00