<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tmuxrdr.git/src/workspace/tab.rs, 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-01T12:48:22+00:00</updated>
<entry>
<title>refactor: render the shell in the client (#3487)</title>
<updated>2026-09-01T12:48:22+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-09-01T12:48:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=207be3c771d281baae6e5fa0fb74be9a056e97a2'/>
<id>urn:sha1:207be3c771d281baae6e5fa0fb74be9a056e97a2</id>
<content type='text'>
* feat: add opt-in client-rendered shell

* feat: add client-owned shell mouse controls

* feat: complete client-owned shell chrome

* feat: add client-owned shell settings and notifications

* feat: run client shell custom commands

* feat: render popup terminals in client shell

* feat: add client-owned scrollback and copy mode

* fix: preserve client worktree trust defaults

* feat: render startup diagnostics in client shell

* feat: render onboarding in client shell

* feat: render product announcements in client shell

* feat: render release notes in client shell

* feat: render mobile switcher in client shell

* feat: render kitty graphics in client shell

* fix: preserve client shell lifecycle coherence

* refactor: route client shell commands through endpoint connections

* refactor: make the client-rendered shell the default

* refactor: remove monolithic launch mode

* refactor: complete client-rendered shell cutover

* perf: retain client pane surface updates

* perf: scale retained pane surface updates

* perf: remove remote pane input latency

* test: make client shell checks platform-independent

* fix: prevent client timer starvation

* test: fix client shell platform gates

* test: accept retained surfaces in cross-area checks

* test: make client mode assertions platform-neutral

* fix: badge only outdated integrations</content>
</entry>
<entry>
<title>fix(layout): return focus to the pane a split was opened from (#2266)</title>
<updated>2026-08-04T21:35:15+00:00</updated>
<author>
<name>Jon Kinney</name>
<email>jonkinney@gmail.com</email>
</author>
<published>2026-08-04T21:35:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=09cdd88d0aca35617eb05468c2421b0467656e4f'/>
<id>urn:sha1:09cdd88d0aca35617eb05468c2421b0467656e4f</id>
<content type='text'>
Closing a focused pane handed focus to the next pane in tree order.
For a pane opened beside another one -- a plugin split, a file viewer,
any transient tool pane -- that is rarely where the user was: it lands
on some unrelated neighbour rather than the pane that opened it.

Track the pane focus came from in TileLayout and prefer it when the
focused pane closes, falling back to tree order when there is no
history, when it points at the pane being closed, or when it points at
a pane that has since gone away. The history lives in the layout, so it
can only ever name a pane in the same tab.

A one-slot history is only sound if internal focus excursions never
write it, so the tree edits that used to bounce focus around now go
through target-taking primitives instead. close_pane removes a
background pane directly, so detach_pane and take_pane_for_move stop
focus-close-refocusing. split_pane splits a target without moving
focus: the runtime split path only focuses the new pane once the spawn
succeeds, which makes a failed split a pure rollback, and the targeted
and unfocused workspace split paths stop fabricating history.
insert_pane_near now takes the focus intent, so an unfocused pane move
leaves the target tab's history alone. The layout-level focused-split
helpers become test-only; production splits all flow through the
target-taking path.

Co-authored-by: Can Celik &lt;ogulcancelik@gmail.com&gt;</content>
</entry>
<entry>
<title>fix: propagate host color scheme to pane apps (#2214)</title>
<updated>2026-08-02T23:05:27+00:00</updated>
<author>
<name>Can Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-08-02T23:05:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=10eb0bc744165ae91dfce9fd731fe170410b34ec'/>
<id>urn:sha1:10eb0bc744165ae91dfce9fd731fe170410b34ec</id>
<content type='text'>
refs #714</content>
</entry>
<entry>
<title>perf: skip rendering hidden pty updates</title>
<updated>2026-07-28T20:29:11+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-07-28T20:29:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=e27a4ea427c9ed6248c0ee80570e94ed7b1928bd'/>
<id>urn:sha1:e27a4ea427c9ed6248c0ee80570e94ed7b1928bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor: centralize new terminal cwd selection</title>
<updated>2026-07-22T19:41:01+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-07-22T19:41:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=a02c3a69bb5cea3832ef54e7cbe29425cc392eb3'/>
<id>urn:sha1:a02c3a69bb5cea3832ef54e7cbe29425cc392eb3</id>
<content type='text'>
replaces contributions from Pitchfork-and-Torch
</content>
</entry>
<entry>
<title>fix: follow foreground process group leader cwd</title>
<updated>2026-07-16T20:13:41+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-07-16T20:13:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=550e9f8cc085f428429f5cf2da0bb2dba897e8b8'/>
<id>urn:sha1:550e9f8cc085f428429f5cf2da0bb2dba897e8b8</id>
<content type='text'>
refs #1472
</content>
</entry>
<entry>
<title>feat: add floating popup panes</title>
<updated>2026-07-15T01:02:14+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-07-15T00:58:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=2c7c8beb079c5fd58a2e53efd2058df050ad9f55'/>
<id>urn:sha1:2c7c8beb079c5fd58a2e53efd2058df050ad9f55</id>
<content type='text'>
refs #1125
</content>
</entry>
<entry>
<title>fix: follow foreground cwd for new terminals</title>
<updated>2026-07-10T12:06:54+00:00</updated>
<author>
<name>Pitchfork-and-Torch</name>
<email>Pitchfork-and-Torch@users.noreply.github.com</email>
</author>
<published>2026-07-10T01:11:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=4f7fcc48d1f760ab6057d0964f009c05b753456a'/>
<id>urn:sha1:4f7fcc48d1f760ab6057d0964f009c05b753456a</id>
<content type='text'>
refs #1245
</content>
</entry>
<entry>
<title>refactor: route pane layout tui actions through runtime wrappers</title>
<updated>2026-07-04T00:15:11+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-07-04T00:14:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=edd08e895fc65e07e500a1fe80e88202deae6b8d'/>
<id>urn:sha1:edd08e895fc65e07e500a1fe80e88202deae6b8d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix: keep auto tab labels compact</title>
<updated>2026-06-15T01:56:03+00:00</updated>
<author>
<name>Ogulcan Celik</name>
<email>ogulcancelik@gmail.com</email>
</author>
<published>2026-06-15T01:56:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.soarez.net/sz/tmuxrdr.git/commit/?id=4ffd99c2ec62fd3cbc9f9e0673d92c6a2a4f12b1'/>
<id>urn:sha1:4ffd99c2ec62fd3cbc9f9e0673d92c6a2a4f12b1</id>
<content type='text'>
</content>
</entry>
</feed>
