Commit graph

81 commits

Author SHA1 Message Date
56c8d0dce6
beer: don't hardcode version in pound derive
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I2e9f6719f05bb2f310787348ad6e05806a6a6964
2026-06-27 00:04:51 +03:00
92135ddbc1
beer: report pixel geometry so graphics clients can size images
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I4c11941c887bc75134200cd1471a792b6a6a6964
2026-06-26 23:29:03 +03:00
c8430ae787
beer: animate graphics images and display unicode placeholders
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I20f09b602ea49b0605f019835e8f46546a6a6964
2026-06-26 23:29:02 +03:00
ec591fe105
beer-protocols: add the graphics placeholder diacritic table
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iaefa912063b068ea8500091e5fba0ec66a6a6964
2026-06-26 23:29:01 +03:00
049ce83369
beer: display kitty graphics protocol images
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I48b6d5b42528f0de53b33ddda2110a356a6a6964
2026-06-26 23:29:00 +03:00
f29038f592
beer-protocols: add the kitty graphics protocol control-data parser
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I41ed33ba570b43142574dc4d8c04de266a6a6964
2026-06-26 23:28:44 +03:00
f42924c473
beer: render text-sizing runs as scaled multicell blocks
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I599225a2532409a2e7a804cb748391246a6a6964
2026-06-26 21:56:44 +03:00
f818019ce1
beer-protocols: add the kitty text-sizing (OSC 66) parser
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I420f4232071d54228ed7b88faa8d97596a6a6964
2026-06-26 21:56:43 +03:00
ea3867e8d0
beer-protocols: format docs
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8870fc54503c7ec033152e23b50df3ff6a6a6964
2026-06-26 21:56:42 +03:00
bb94543f61
meta: move everything to virtual manifest; version beer-protocols
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I163bfdc04dc7986d8e6406e8cbd3fa1c6a6a6964
2026-06-26 13:47:16 +03:00
589c26f210
docs: split root level README to crate-specific docs; revise
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id4cbc98d109251486a30d2955d084b856a6a6964
2026-06-26 13:37:51 +03:00
1f1451f108
meta: split protocol codecs and encoders into a beer-protocols crate
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib7706308c892e43d2044fbb766505e9e6a6a6964
2026-06-26 13:37:50 +03:00
3e49e94f56
config: add a [mouse-bindings] table for rebindable buttons
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I8b4bfdd5c594a29f06c73aed0f7b07a46a6a6964
2026-06-26 11:57:09 +03:00
fb590c1645
wayland: one-finger touch drag scrolls the viewport
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I58396f87fbe47cb3a552bf53d45e7e836a6a6964
2026-06-26 11:57:08 +03:00
e172d4fbb3
wayland: idle-inhibit while focused and a content-type hint
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Ib25e27fc913c3af009e85496412002366a6a6964
2026-06-26 11:57:06 +03:00
5d132d9ac7
font: shape combining marks with harfbuzz instead of stacking
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I64d67dbc96ce3faa68d221252e44d9976a6a6964
2026-06-26 11:57:06 +03:00
fe004666bb
build: tag 0.3.1
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Iff2ef284120514a26134fa37c9f6fd7c6a6a6964
2026-06-26 10:43:01 +03:00
27a509362b
config: warn on unknown keys instead of dropping them silently
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: Id06a7e2c96cfdcb69a21fa0416d988696a6a6964
2026-06-26 10:43:00 +03:00
5a9242b53f
build: tag 0.3.0
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I7f2d0a6b969fe08ef53d1262cceb48956a6a6964
2026-06-26 10:27:42 +03:00
cbfce1520b
input: keep lock modifiers out of kitty key encoding
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I038101596e9111ff7196b6e794c1647a6a6a6964
2026-06-26 10:22:04 +03:00
ce24da6bc1
wayland: attach clipboard devices for seats surfaced via capabilities
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I127da48080483de626931a1038f3c38d6a6a6964
2026-06-26 10:22:03 +03:00
bb406cb6e3
scripts: add a kitty keyboard protocol probe
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: If23be9ff848010463a1df59603a063526a6a6964
2026-06-26 10:22:02 +03:00
1ef2efa0a7
doc: document unicode-input and the kitty keyboard protocol
Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9c6df910f57c42f37344b6859a2b58356a6a6964
2026-06-26 10:22:01 +03:00
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