<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppij.git/default-plugins/compact-bar/src/keybind_utils.rs, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppij.git/atom/default-plugins/compact-bar/src/keybind_utils.rs?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppij.git/atom/default-plugins/compact-bar/src/keybind_utils.rs?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/'/>
<updated>2026-03-30T14:02:09Z</updated>
<entry>
<title>Layout string flag (#4956)</title>
<updated>2026-03-30T14:02:09Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-03-30T14:02:09Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=8ce05f0bbd58acbbca95f95ae14fdc4e866f7391'/>
<id>urn:sha1:8ce05f0bbd58acbbca95f95ae14fdc4e866f7391</id>
<content type='text'>
* allow sending a stringified layout with --layout-string

* add --tab-id to all the things

* fix windows tests

* add pr</content>
</entry>
<entry>
<title>Ansi dump support (#4848)</title>
<updated>2026-03-14T07:35:00Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-03-14T07:35:00Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=a1e224754759252778d8d3c30050e10bc9a82f84'/>
<id>urn:sha1:a1e224754759252778d8d3c30050e10bc9a82f84</id>
<content type='text'>
* add missing pane-id and tab-id arguments to all cli actions

* rustfmt

* dump-screen --ansi

* edit-scrollback --ansi

* add --ansi to subscribe

* add tests for ansi additions

* add ansi render report to plugins

* rustfmt

* fix e2e tests

* add pr</content>
</entry>
<entry>
<title>Command Sequences, Blocking CLI Commands, New Plugin APIs (#4546)</title>
<updated>2025-12-11T13:25:42Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-12-11T13:25:42Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=693fa082def5ef0fe030cd7fdc3b1df051b35dc6'/>
<id>urn:sha1:693fa082def5ef0fe030cd7fdc3b1df051b35dc6</id>
<content type='text'>
* fix deadlocks

* initial logging to plugin implementation

* only log actions, include keys as Action::Write

* send actions to plugins as a new Event::UserAction

* add Action::Write metadata to plugin API

* run_action plugin command and permission

* block-until-exit/success/failure in the cli

* fix tests

* add NewBlockingPane to the plugin API

* run actions in a different thread so as not to block plugin execution

* add custom context to run_action flow

* fixes for floating pane z_index sorting and unknown protobuf events not crashing plugins

* always render the frame of pinned panes

* macros module

* add macros to config

* KDL macro parsing

* thread macros to the plugin thread

* get/update/delete macros from plugins

* add macros updated event

* add ability to rename macros

* fix deadlock

* fix z_indices with pinned unselectable panes bug

* allow plugins to opt-in to show_cursor

* change show_cursor(bool) to show_cursor(Option&lt;coordinates&gt;)

* test

* upgrade strum to allow proper enum iteration and case insensitive fromstr implementation for Actions

* better cwd tracking for exited command panes

* add initial panes to NewTab Action (no-op for now)

* add initial panes to cli newtab action

* make initial panes work

* add close_on_exit and start_suspended to the cli

* properly convert newtab action (potentially breaking for plugins)

* allow first pane in tab to block

* make distinction between opening panes with the last active client and the current pane in the cli

* improve some apis

* fix fixed size closing pane bug

* fix plugin cursor coordinates

* fix issues with launch-or-focus-plugin having to do with in-place and suppressed panes

* fix: set affected pane in replace pane

* allow setting a pane in place when it is suppressed and being focused (tests failing)

* fix tests

* some fixes for unsuppression of panes

* some fixes for completion_tx in new tab action

* allow replace/suppressed rather than replace/close only

* fixes for inserting suppressed panes without conflicts

* pane focus history and explicit unsuppress plugin api

* fix: prefer explicitly provided pane id in placement in actions that provide it

* fix floating pane coordinate change and z_index

* fix plugin cache dir to persist between sessions

* fix some stack focusing issues when adding panes without a client id

* make sure pinned panes are always above non-pinned floating panes

* allow plugins to copy to clipboard

* initial text styling additions implementations - buggy

* fix dimming issues

* remove extras, stay with just dim and unbold

* unbold and dim as indices

* allow ui components to render success/error colors

* allow plugins to send sigint/sigkill to processes, as well as receive their pid

* ui component fixes and send originating plugin context with run_action

* originating plugin for new tab too

* make plugn show pane command also expand stacked panes

* add sequence plugin

* remove macros

* remove snapshots

* add shortcut for sequence plugin

* fix plugin tests

* plugin tests for new apis

* update snapshots for sequence shortcut

* cleanups and formatting

* Event::CwdChanged

* moar cleanups

* remove some warnings

* remove mroe warnings

* remove dead code

* remove more dead code

* fix minor bugs in sequence plugin

* update sequence help and format codebase

* fix conditional blocking cli commands

* fix initial-command new-tab cli flag

* add client_ids to CwdChanged Event

* last fixes

* add pr</content>
</entry>
<entry>
<title>fix(ipc): make sessions compatible between versions (#4439)</title>
<updated>2025-09-24T10:56:56Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-09-24T10:56:56Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=533140831d825829afaf864d940c435056788d3e'/>
<id>urn:sha1:533140831d825829afaf864d940c435056788d3e</id>
<content type='text'>
* translate ipc tuple enum variants to struct enum variants

* initial client/server contract

* tests and missing types

* migrate web server and remove rmp_serde

* change socket folder

* fix crash on unknown messages

* fix client  logout on unknown message

* fix web client logout on unknown message

* rustfmt

* add comment and change  log level

* address compilation warnings

* style(fmt): rustfmt

* fix plugin system test assertions

* add pr</content>
</entry>
<entry>
<title>fix(compact-bar): tooltip duplication (#4310)</title>
<updated>2025-07-21T12:58:00Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-07-21T12:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=ba680fc2eb1b9bcc561eaf4bf5802b509dc1d9f2'/>
<id>urn:sha1:ba680fc2eb1b9bcc561eaf4bf5802b509dc1d9f2</id>
<content type='text'>
* fix(tooltip): update config name and only launch once

* add new stacked pane to tooltip</content>
</entry>
<entry>
<title>fix(tabs): allow setting cwd without a layout (#4273)</title>
<updated>2025-07-08T09:06:03Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-07-08T09:06:03Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=358caa180ce7c60b8923caa98cf339f897d14feb'/>
<id>urn:sha1:358caa180ce7c60b8923caa98cf339f897d14feb</id>
<content type='text'>
* working for cli and keybinding

* working for plugin API

* style(fmt): rustfmt

* docs(changelog): add PR</content>
</entry>
<entry>
<title>feat(ui): add optional tooltip with key hints to the compact bar (#4225)</title>
<updated>2025-06-10T15:23:46Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-06-10T15:23:46Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=7ef7cd5ecd13974b0f51eec87df164249c294a4c'/>
<id>urn:sha1:7ef7cd5ecd13974b0f51eec87df164249c294a4c</id>
<content type='text'>
* initial implementation

* some refactoring

* refactor: separate some concerns and tidy up

* fix: move tooltip to focused tab as needed

* some ux adjustments

* some refactoring

* only show tooltip if we have configured a shortcut key

* add plugin artifacts

* fix tests

* truncate tooltip if it exceeds width

* change config name

* remove comment

* docs(changelog): add PR</content>
</entry>
</feed>
