<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0pstatus.git/src, branch main</title>
<subtitle>zellij status plugin</subtitle>
<id>https://git.sl0p.foo/sl0pstatus.git/atom/src?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0pstatus.git/atom/src?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/'/>
<updated>2026-08-08T21:54:38Z</updated>
<entry>
<title>sl0p: double-click a tab to rename it</title>
<updated>2026-08-08T21:54:38Z</updated>
<author>
<name>user</name>
<email>user@clank</email>
</author>
<published>2026-08-08T21:54:38Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=813d4b80658bfb717d93d539019d970b6fbbd1d0'/>
<id>urn:sha1:813d4b80658bfb717d93d539019d970b6fbbd1d0</id>
<content type='text'>
Double-clicking a tab in the bar switches to it and drops into RenameTab mode,
matching the double-click-to-rename we added for panes in the sl0ppij zellij
fork. Enter commits, Esc cancels, exactly as the rename keybind does.

Widgets are held behind &amp;self and cannot keep click state, so double-click
detection lives centrally in ModuleConfig::handle_mouse_action and is passed
to Widget::process_click as a flag.

THE TRAP, and the reason this is not a two-line change:
handle_mouse_action also runs for Mouse::Release. A single click therefore
arrives as LeftClick followed by Release at the SAME position. Counting
releases would make every single click register as a double click, and
resetting on release would mean a real double click never registers at all,
since the release falls between the two clicks. Only LeftClick participates;
Release neither counts nor resets.

A completed pair is consumed, so a triple click does not fire a second rename.

switch_tab_to() is called before switch_to_input_mode(), because RenameTab acts
on the ACTIVE tab - renaming without switching first would rename the wrong one.

Threshold is 400ms, the same one zellij uses for text-selection double clicks,
so the bar feels consistent with the panes.

Detection is extracted as register_click_for_double_click() so it can be tested
without constructing a ModuleConfig. Tests cover: a real double click, the
release-in-between regression, too-slow clicks, clicks at different positions,
and the triple-click case.

Upstream tests still pass: 25 total (20 upstream + 5 new).

Note: this repo's .cargo/config.toml targets wasm32-wasip1 and runs tests under
wasmtime, which is not installed here. Tests are run with
`cargo test --target x86_64-unknown-linux-gnu` instead.
</content>
</entry>
<entry>
<title>fix(command): unit tests</title>
<updated>2026-07-15T09:13:59Z</updated>
<author>
<name>Daniel Jankowski</name>
<email>daniel.jankowski@rub.de</email>
</author>
<published>2026-07-15T09:13:59Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=1d0662477c73d9e416fc1637c9d97153746d274f'/>
<id>urn:sha1:1d0662477c73d9e416fc1637c9d97153746d274f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(command): add {focused_pane_cwd} to run commands in focused cwd (#273)</title>
<updated>2026-07-08T16:47:15Z</updated>
<author>
<name>Dave Willett</name>
<email>willett@hey.com</email>
</author>
<published>2026-07-08T16:47:15Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=01412c2e0999de5b40b68a9d1a731eea52844338'/>
<id>urn:sha1:01412c2e0999de5b40b68a9d1a731eea52844338</id>
<content type='text'>
* feat(command): add {focused_pane_cwd} to run commands in the focused pane's directory

Command widgets configured with command_&lt;name&gt;_cwd "{focused_pane_cwd}"
now execute in the current working directory of the focused terminal pane,
following it as the user changes directories.

This relies on zellij's CwdChanged event and get_pane_cwd API. The focused
terminal pane of the active tab is tracked via PaneUpdate (seeding the cwd
on focus change) and updated on CwdChanged. Affected command results are
invalidated so they re-run, and stale results from a previous cwd are
discarded to avoid showing the wrong directory.

Closes #92

* fix(command): release focused cwd command locks

Focused-cwd commands can be invalidated while their first run is still in flight. If that result is later discarded as stale, no command result is stored but the per-command lock remains, preventing future reruns.

Release the command lock when invalidating focused-cwd commands so the branch badge can recover on subsequent renders or cwd updates.

Add a regression test for rerunning a command with no stored result after its lock is released.</content>
</entry>
<entry>
<title>chore(deps): bump cached from 1.1.0 to 2.0.2 (#269)</title>
<updated>2026-06-23T08:35:31Z</updated>
<author>
<name>dependabot[bot]</name>
<email>49699333+dependabot[bot]@users.noreply.github.com</email>
</author>
<published>2026-06-23T08:35:31Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=7e93a857c67e0dfcb8d1a8b864e13316ef106ab0'/>
<id>urn:sha1:7e93a857c67e0dfcb8d1a8b864e13316ef106ab0</id>
<content type='text'>
* chore(deps): bump cached from 1.1.0 to 2.0.2

Bumps [cached](https://github.com/jaemk/cached) from 1.1.0 to 2.0.2.
- [Release notes](https://github.com/jaemk/cached/releases)
- [Changelog](https://github.com/jaemk/cached/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jaemk/cached/commits)

---
updated-dependencies:
- dependency-name: cached
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;

* chore: fix cached 1.x to 2.x breaking changes

---------

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;
Co-authored-by: dependabot[bot] &lt;49699333+dependabot[bot]@users.noreply.github.com&gt;
Co-authored-by: Daniel Jankowski &lt;daniel.jankowski@rub.de&gt;</content>
</entry>
<entry>
<title>feat(tabs): add bell and flashing-bell formats and indicator (#259)</title>
<updated>2026-06-03T18:46:57Z</updated>
<author>
<name>pali</name>
<email>6pali6@gmail.com</email>
</author>
<published>2026-06-03T18:46:57Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=17609e498f88e674b846b844b48ad1dc545fddcf'/>
<id>urn:sha1:17609e498f88e674b846b844b48ad1dc545fddcf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add {focused_pane_title} to the tab widget formatter (#250)</title>
<updated>2026-06-03T18:28:57Z</updated>
<author>
<name>Yui</name>
<email>yui300127@gmail.com</email>
</author>
<published>2026-06-03T18:28:57Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=0d7246206e7d2110d795e37d80ea14e110912166'/>
<id>urn:sha1:0d7246206e7d2110d795e37d80ea14e110912166</id>
<content type='text'>
</content>
</entry>
<entry>
<title>chore(deps): bump cached from 0.59.0 to 1.1.0 (#263)</title>
<updated>2026-06-01T19:21:25Z</updated>
<author>
<name>dependabot[bot]</name>
<email>49699333+dependabot[bot]@users.noreply.github.com</email>
</author>
<published>2026-06-01T19:21:25Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=f2f2da7c6f062be5c1d1303f15e8172437adf1a4'/>
<id>urn:sha1:f2f2da7c6f062be5c1d1303f15e8172437adf1a4</id>
<content type='text'>
* chore(deps): bump cached from 0.59.0 to 1.1.0

Bumps [cached](https://github.com/jaemk/cached) from 0.59.0 to 1.1.0.
- [Changelog](https://github.com/jaemk/cached/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jaemk/cached/commits)

---
updated-dependencies:
- dependency-name: cached
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;

* fix: breaking changes from cached 1.0

---------

Signed-off-by: dependabot[bot] &lt;support@github.com&gt;
Co-authored-by: dependabot[bot] &lt;49699333+dependabot[bot]@users.noreply.github.com&gt;
Co-authored-by: Daniel Jankowski &lt;daniel.jankowski@rub.de&gt;</content>
</entry>
<entry>
<title>fix: use timer events for idle refresh (#253)</title>
<updated>2026-06-01T19:08:22Z</updated>
<author>
<name>Jake Nelson</name>
<email>jknlsn@users.noreply.github.com</email>
</author>
<published>2026-06-01T19:08:22Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=053898e1e245c0df9aaaa783710e88e2926fbbb2'/>
<id>urn:sha1:053898e1e245c0df9aaaa783710e88e2926fbbb2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(zjframes): import Arc for tracing</title>
<updated>2026-04-18T05:37:48Z</updated>
<author>
<name>Daniel Jankowski</name>
<email>daniel.jankowski@rub.de</email>
</author>
<published>2026-04-18T05:37:48Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=6106c8a860e6336d9e434525ae877ed5cce9628f'/>
<id>urn:sha1:6106c8a860e6336d9e434525ae877ed5cce9628f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add zero based tab index support (#249)</title>
<updated>2026-04-18T05:28:55Z</updated>
<author>
<name>Rikard Bergqvist</name>
<email>j10rikardb@gmail.com</email>
</author>
<published>2026-04-18T05:28:55Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0pstatus.git/commit/?id=0d7ec6569acee97068d238aa1faa8e19fc8b8a4c'/>
<id>urn:sha1:0d7ec6569acee97068d238aa1faa8e19fc8b8a4c</id>
<content type='text'>
* adds zero based tab index support

* update after comments</content>
</entry>
</feed>
