<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tmuxrdr.git/src/input, branch v0.9.3</title>
<subtitle>herdr but with less disrespect for the tmux community
</subtitle>
<id>https://git.soarez.net/sz/tmuxrdr.git/atom?h=v0.9.3</id>
<link rel='self' href='https://git.soarez.net/sz/tmuxrdr.git/atom?h=v0.9.3'/>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/'/>
<updated>2026-09-28T09:58:09+00:00</updated>
<entry>
<title>feat: support multiple prefix keys (#4653)</title>
<updated>2026-09-28T09:58:09+00:00</updated>
<author>
<name>JJ Liebig</name>
<email>jonathan.liebig@gmail.com</email>
</author>
<published>2026-09-28T09:58:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=7f89b11a11160874ba89f3be7c64b29960bd2df3'/>
<id>urn:sha1:7f89b11a11160874ba89f3be7c64b29960bd2df3</id>
<content type='text'>
* feat: support multiple prefix keys

keys.prefix accepts an array in addition to a single string so one
config can define several prefix keys. Every configured prefix enters
the same prefix mode, and the help panel lists them all.

Published keybinding profiles keep the primary prefix as a scalar and
carry the rest in an optional extra_prefixes field so older clients
keep working with the primary prefix.

* fix: reject an empty prefix list on reload

An explicitly empty keys.prefix array now stays empty through config
parsing so validation rejects it and a reload keeps the current
keybindings instead of silently falling back to ctrl+b.</content>
</entry>
<entry>
<title>fix: preserve shift on ctrl+shift+letter for legacy panes (#4597)</title>
<updated>2026-09-25T17:04:54+00:00</updated>
<author>
<name>Ainesh Chatterjee</name>
<email>ainesh@factory.ai</email>
</author>
<published>2026-09-25T17:04:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=21d0ce60267ad947c081d3d3fba401c859f06dd2'/>
<id>urn:sha1:21d0ce60267ad947c081d3d3fba401c859f06dd2</id>
<content type='text'>
Panes whose app has not enabled the kitty keyboard protocol received
ctrl+shift+letter as the same C0 byte as ctrl+letter. Encode the chord as
CSI-u instead, matching Ghostty's legacy encoder.

refs #4581

Co-authored-by: ain3sh &lt;ainesh.chatterjee@gmail.com&gt;</content>
</entry>
<entry>
<title>feat: add configurable pane screen and scrollback clearing (#4383)</title>
<updated>2026-09-19T11:47:18+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-19T11:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=cc7c696cd0772e466da403eb4e3f00f4e8d8ae1e'/>
<id>urn:sha1:cc7c696cd0772e466da403eb4e3f00f4e8d8ae1e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: map pixel mouse by integer cell pitch (#4140)</title>
<updated>2026-09-14T20:21:15+00:00</updated>
<author>
<name>JJ Liebig</name>
<email>jonathan.liebig@gmail.com</email>
</author>
<published>2026-09-14T20:21:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=b0c05e66635d12a85554f19f1a5e4796dcd68439'/>
<id>urn:sha1:b0c05e66635d12a85554f19f1a5e4796dcd68439</id>
<content type='text'>
refs #3295</content>
</entry>
<entry>
<title>fix(input): accept parameterized CSI-tilde F1-F4 keys (#4067)</title>
<updated>2026-09-13T18:14:24+00:00</updated>
<author>
<name>JJ Liebig</name>
<email>jonathan.liebig@gmail.com</email>
</author>
<published>2026-09-13T18:14:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=a7a1410abb76d8f926ccdf0b36c42e8ce057c555'/>
<id>urn:sha1:a7a1410abb76d8f926ccdf0b36c42e8ce057c555</id>
<content type='text'>
Terminals such as foot send F1-F4 as parameterized CSI-tilde sequences (for
example F3 as `\x1b[13;1:1~`). `parse_xterm_modified_special_sequence` mapped
codes 15-24 but not 11-14, so these presses were dropped before keybindings
saw them. Map 11-14 to F1-F4, matching the unmodified `\x1b[11~`..`\x1b[14~`
aliases already accepted.

refs #1809</content>
</entry>
<entry>
<title>fix: recognize kitty CSI-u codepoints for F1 through F12 (#2378)</title>
<updated>2026-09-13T17:56:39+00:00</updated>
<author>
<name>Kakumanu Ashok Reddy</name>
<email>kakumanuashokreddyias2024@gmail.com</email>
</author>
<published>2026-09-13T17:56:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=0305fdb6f71a660cb5632d6fef56d8a9655fb1e1'/>
<id>urn:sha1:0305fdb6f71a660cb5632d6fef56d8a9655fb1e1</id>
<content type='text'>
Codepoints 57364-57375 (F1-F12) were missing from the kitty-protocol codepoint table, so terminals that send function keys as full CSI-u sequences (e.g. Ghostty, which enables the kitty keyboard protocol by default) had those keys silently dropped. Confirmed live against a running herdr session: injecting the raw F3/F4 codepoint sequences did nothing before this fix and correctly triggered previous_tab/next_tab after.

refs #1809

Co-authored-by: JJ Liebig &lt;jonathan.liebig@gmail.com&gt;</content>
</entry>
<entry>
<title>fix(input): preserve super-modified pane keys (#4044)</title>
<updated>2026-09-13T13:14:31+00:00</updated>
<author>
<name>akbash</name>
<email>akbash@herdr.dev</email>
</author>
<published>2026-09-13T13:14:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=858ad4e37835d45819f3348d521c29af2fa9eb8d'/>
<id>urn:sha1:858ad4e37835d45819f3348d521c29af2fa9eb8d</id>
<content type='text'>
refs #3710

Co-authored-by: akbash-bot &lt;300245827+akbash-bot@users.noreply.github.com&gt;
Co-authored-by: JJ Liebig &lt;jonathan.liebig@gmail.com&gt;</content>
</entry>
<entry>
<title>fix: suppress Windows dead-key fallback characters in remote panes (#3972)</title>
<updated>2026-09-11T21:38:57+00:00</updated>
<author>
<name>akbash</name>
<email>akbash@herdr.dev</email>
</author>
<published>2026-09-11T21:38:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=9ad65d9031e8cb16a7b553c0e6f74809e9811e92'/>
<id>urn:sha1:9ad65d9031e8cb16a7b553c0e6f74809e9811e92</id>
<content type='text'>
refs #3948

Co-authored-by: akbash-bot &lt;300245827+akbash-bot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>fix(input): accept WezTerm control key reports (#3592)</title>
<updated>2026-09-10T11:54:17+00:00</updated>
<author>
<name>akbash</name>
<email>akbash@herdr.dev</email>
</author>
<published>2026-09-10T11:54:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=241a1e0fad651f441d97b8373f14ef193b3d9faf'/>
<id>urn:sha1:241a1e0fad651f441d97b8373f14ef193b3d9faf</id>
<content type='text'>
* fix(input): accept WezTerm control key reports

refs #3589

* fix(input): preserve WezTerm tab and escape reports

refs #3589

---------

Co-authored-by: akbash-bot &lt;300245827+akbash-bot@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>fix(windows): preserve ctrl+slash key identity (#3578)</title>
<updated>2026-09-03T15:20:57+00:00</updated>
<author>
<name>JJ Liebig</name>
<email>jonathan.liebig@gmail.com</email>
</author>
<published>2026-09-03T15:20:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=0496636dc75db14a99aa71a7cadb006dc027d5c6'/>
<id>urn:sha1:0496636dc75db14a99aa71a7cadb006dc027d5c6</id>
<content type='text'>
refs #2954</content>
</entry>
</feed>
