<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppij.git/zellij-server/src/ui/overlay, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppij.git/atom/zellij-server/src/ui/overlay?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppij.git/atom/zellij-server/src/ui/overlay?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/'/>
<updated>2025-12-11T13:25:42Z</updated>
<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>Improve CLI interface (add detach, switch session, blocking zellij run and more) (#4492)</title>
<updated>2025-10-31T19:15:32Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-10-31T19:15:32Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=82f30e2cde5207e5b51301633686b2c7feac54f3'/>
<id>urn:sha1:82f30e2cde5207e5b51301633686b2c7feac54f3</id>
<content type='text'>
* initial implementation

* fix tests

* move more ations

* screen adjustments (does not compile)

* plugin/pty adjustments (does not compile)

* more progress, tests not compiling

* fix tests

* more progress, does not compile

* more progress, compiles, tests failing

* tests passing

* rely on Drop for NotificationEnd

* atomicify some more actions

* fmt

* move unblock input to route

* don't pass hard-coded action names

* refactor: consolidate completion channel logic

* comment

* track last active client

* track cli clients explicitly

* use the last active client for cli commands when possible

* fix focus-next-pane for multiple clients

* various fixes for multi-client actions from the cli

* add detach action

* fix tests

* add switch session cli action

* fix switch session deadlock

* add and layout to switch-session cli action

* blocking zellij run: add NewBlockingPane variant

* blocking zellij run: wait forever mechanism

* blocking zellij run: thread NotificationEnd as needed  until TerminalPane (tests not compiling)

* blocking zellij run: update cli

* blocking zellij run: add command

* blocking zellij run: finish implementation

* fix tests

* e2e test and close_on_exit fixes

* fmt

* fix e2e tests

* fix plugin tests</content>
</entry>
<entry>
<title>improve error handling in ui module (#1870)</title>
<updated>2022-10-28T14:15:16Z</updated>
<author>
<name>哇呜哇呜呀咦耶</name>
<email>pingao777@gmail.com</email>
</author>
<published>2022-10-28T14:15:16Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=c5b1eb0a9e9e3e1f8bec55fa028def15b581d763'/>
<id>urn:sha1:c5b1eb0a9e9e3e1f8bec55fa028def15b581d763</id>
<content type='text'>
* improve error handling in ui module

* resolve problems in the review</content>
</entry>
<entry>
<title>refactor: fix unused code warnings (#1087)</title>
<updated>2022-02-27T12:23:59Z</updated>
<author>
<name>Orhun Parmaksız</name>
<email>orhunparmaksiz@gmail.com</email>
</author>
<published>2022-02-27T12:23:59Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=4d64742fd0dac344bee82bac3ad477f5c6bc7753'/>
<id>urn:sha1:4d64742fd0dac344bee82bac3ad477f5c6bc7753</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(style): various internal refactorings</title>
<updated>2021-12-07T10:24:42Z</updated>
<author>
<name>Marcin Puc</name>
<email>5671049+tranzystorek-io@users.noreply.github.com</email>
</author>
<published>2021-12-07T10:24:42Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=56e85f87d6c365816cca71c496aa7e49709e0b11'/>
<id>urn:sha1:56e85f87d6c365816cca71c496aa7e49709e0b11</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(compatibility): do not duplicate bracketed paste in chunked stdin input (#917)</title>
<updated>2021-12-02T17:35:55Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2021-12-02T17:35:55Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=cbe0d5405e5b089daeafca6392ee598724e7c0b6'/>
<id>urn:sha1:cbe0d5405e5b089daeafca6392ee598724e7c0b6</id>
<content type='text'>
* debug message

* fix attempt

* oops

* remove log message

* rustfmt

* style(clippy): make clippy happy

* style(clippy): make clippy happy again!</content>
</entry>
<entry>
<title>First attempt to provide an overlay prompt (#871)</title>
<updated>2021-11-15T19:13:05Z</updated>
<author>
<name>a-kenji</name>
<email>aks.kenji@protonmail.com</email>
</author>
<published>2021-11-15T19:13:05Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=b861baa6a19e7b868e8e3c4d3349a031322f342a'/>
<id>urn:sha1:b861baa6a19e7b868e8e3c4d3349a031322f342a</id>
<content type='text'>
</content>
</entry>
</feed>
