<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tmuxrdr.git/tmuxrdr, branch tmuxrdr</title>
<subtitle>herdr but with less disrespect for the tmux community
</subtitle>
<id>https://git.soarez.net/sz/tmuxrdr.git/atom?h=tmuxrdr</id>
<link rel='self' href='https://git.soarez.net/sz/tmuxrdr.git/atom?h=tmuxrdr'/>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/'/>
<updated>2026-10-13T13:52:44+00:00</updated>
<entry>
<title>tmuxrdr: README, requests</title>
<updated>2026-10-13T13:52:44+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-13T13:52:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=e2cf704c8d227856519aeb1310326c227bff1a98'/>
<id>urn:sha1:e2cf704c8d227856519aeb1310326c227bff1a98</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tmuxrdr: e2e clears the pane env from cli calls</title>
<updated>2026-10-13T12:31:21+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-13T12:31:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=faad12a57a2c161ce67e54fe2b96561bc1a3bd1e'/>
<id>urn:sha1:faad12a57a2c161ce67e54fe2b96561bc1a3bd1e</id>
<content type='text'>
running the e2e from inside a herdr session leaked herdr_pane_id into
the cli, so pane current looked for the caller's pane on the throwaway
server and the script died with "herdr client did not come up".
</content>
</entry>
<entry>
<title>tmuxrdr: mouse selections copy on release; drag-enters-copy-mode on the roadmap</title>
<updated>2026-10-05T14:09:21+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T14:09:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=b79e6822209fa45fc357ddfd3d7caf1598f9af37'/>
<id>urn:sha1:b79e6822209fa45fc357ddfd3d7caf1598f9af37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tmuxrdr: README and roadmap list the tab row patch</title>
<updated>2026-10-05T12:45:32+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T12:45:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=13a3934d76ecf0687905df97cd9b75b28bd1dabf'/>
<id>urn:sha1:13a3934d76ecf0687905df97cd9b75b28bd1dabf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>tmuxrdr: tmux tab row on, session commands in the : prompt</title>
<updated>2026-10-05T12:45:17+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T12:45:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=e953b5c4797e629e92acca7525f40f2ce03ad6e1'/>
<id>urn:sha1:e953b5c4797e629e92acca7525f40f2ce03ad6e1</id>
<content type='text'>
The config turns ui.tab_style = "tmux" on, with the row at the bottom like
tmux's status line. The : prompt takes tmux's session commands, on
workspaces: new-session (-s, -c, -d, -A), switch-client -t/-n/-p/-l,
attach-session -t, list-sessions, kill-session -t, with tmux's messages for
a taken or missing name. test-e2e covers both, prints the config check's
diagnostics when it fails, and finds the tab row wherever it is drawn.
</content>
</entry>
<entry>
<title>tmuxrdr: build and run as its own binary beside stock herdr</title>
<updated>2026-10-05T09:02:45+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T09:02:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=10fb1ab5ac9091e59957e97c3e75ea6bc288b8c5'/>
<id>urn:sha1:10fb1ab5ac9091e59957e97c3e75ea6bc288b8c5</id>
<content type='text'>
scripts/build builds the checkout with the pinned toolchains -- Homebrew's
keg-only rustup, Zig 0.16.0 from ~/.local/opt, crates through sfw, Zig's
hash-pinned packages prefetched by Zig since sfw's proxy breaks them -- and
installs it as ~/.local/bin/tmuxrdr. install now sets up tmuxrdr only, in
~/.config/tmuxrdr, and refuses a binary that reads its config elsewhere.
test-e2e tests tmuxrdr and starts with a config check. The config turns off
herdr's update check, whose update would install stock herdr over the fork.
</content>
</entry>
<entry>
<title>tmuxrdr: README and roadmap</title>
<updated>2026-10-05T08:27:00+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T08:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=3d30f8f5eaf3d09a26a53706cd35770a06c5b87e'/>
<id>urn:sha1:3d30f8f5eaf3d09a26a53706cd35770a06c5b87e</id>
<content type='text'>
What tmuxrdr is, how to install, test, maintain and later build it, and
the roadmap: the tmux bindings and behaviours only a patch to herdr's code
can give, with the patch and its touch points for each.
</content>
</entry>
<entry>
<title>tmuxrdr: install, end-to-end test and upstream sync scripts</title>
<updated>2026-10-05T08:27:00+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T08:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=a58874ca96a87fbf6a86e8df7821f29749985b58'/>
<id>urn:sha1:a58874ca96a87fbf6a86e8df7821f29749985b58</id>
<content type='text'>
install links ~/.config/herdr/config.toml and the plugin to this checkout
and registers the plugin. test-e2e presses each binding in a herdr client
running in a throwaway tmux and session, and checks the result through the
herdr CLI. sync-upstream rebases the tmuxrdr commits onto a newer herdr
release, keeping the old branch as a backup.
</content>
</entry>
<entry>
<title>tmuxrdr: tmux-aligned herdr config</title>
<updated>2026-10-05T08:27:00+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T08:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=48cd6744f077a3d59e61bbdcdb1e0bff8da7a540'/>
<id>urn:sha1:48cd6744f077a3d59e61bbdcdb1e0bff8da7a540</id>
<content type='text'>
tmux's bindings on herdr's built-in actions, and the tmux-mode plugin's
actions and popups for the rest, each entry commented with the tmux line
it mirrors: tmux 3.7c's defaults with this machine's tmux.conf and
~/.tmux.conf.local on top. herdr defaults that collided with tmux keys
moved; herdr's own kept where tmux leaves the key unbound.
</content>
</entry>
<entry>
<title>tmuxrdr: tmux-mode plugin</title>
<updated>2026-10-05T08:27:00+00:00</updated>
<author>
<name>Igor Soarez</name>
<email>igor@soarez.org</email>
</author>
<published>2026-10-05T08:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=986e760687a2d34051934d410bec71fa2efc349b'/>
<id>urn:sha1:986e760687a2d34051934d410bec71fa2efc349b</id>
<content type='text'>
The tmux default prefix bindings herdr has no built-in action for, as a
herdr plugin built on its CLI and socket: break-pane, swap-pane and
rotate-window by pane order (focus behaviour measured on tmux 3.7c),
mark/clear-mark, last-window and switch-client -l (from focus events, per
session), select-window and move-window by index, paste-buffer -p,
display-message in tmux's default format, select-layout -E, kill-pane and
kill-window behind tmux's y/n prompts, a command prompt taking tmux's
commands, clock-mode, show-messages, and automatic-rename.

Also a .gitignore for secrets scoped to tmuxrdr/, leaving herdr's own
untouched.
</content>
</entry>
</feed>
