<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppij.git/zellij-tile/src/lib.rs, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppij.git/atom/zellij-tile/src/lib.rs?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppij.git/atom/zellij-tile/src/lib.rs?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/'/>
<updated>2024-01-17T11:10:49Z</updated>
<entry>
<title>feat(plugins): introduce 'pipes', allowing users to pipe data to and control plugins from the command line (#3066)</title>
<updated>2024-01-17T11:10:49Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2024-01-17T11:10:49Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=d780bd91052d8282ba5a7f06c6fb7faa7ca7cc18'/>
<id>urn:sha1:d780bd91052d8282ba5a7f06c6fb7faa7ca7cc18</id>
<content type='text'>
* prototype - working with message from the cli

* prototype - pipe from the CLI to plugins

* prototype - pipe from the CLI to plugins and back again

* prototype - working with better cli interface

* prototype - working after removing unused stuff

* prototype - working with launching plugin if it is not launched, also fixed event ordering

* refactor: change message to cli-message

* prototype - allow plugins to send messages to each other

* fix: allow cli messages to send plugin parameters (and implement backpressure)

* fix: use input_pipe_id to identify cli pipes instead of their message name

* fix: come cleanups and add skip_cache parameter

* fix: pipe/client-server communication robustness

* fix: leaking messages between plugins while loading

* feat: allow plugins to specify how a new plugin instance is launched when sending messages

* fix: add permissions

* refactor: adjust cli api

* fix: improve cli plugin loading error messages

* docs: cli pipe

* fix: take plugin configuration into account when messaging between plugins

* refactor: pipe message protobuf interface

* refactor: update(event) -&gt; pipe

* refactor - rename CliMessage to CliPipe

* fix: add is_private to pipes and change some naming

* refactor - cli client

* refactor: various cleanups

* style(fmt): rustfmt

* fix(pipes): backpressure across multiple plugins

* style: some cleanups

* style(fmt): rustfmt

* style: fix merge conflict mistake

* style(wording): clarify pipe permission</content>
</entry>
<entry>
<title>feat(plugins): UI components (#2898)</title>
<updated>2023-11-02T07:17:23Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2023-11-02T07:17:23Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=7e5f22f8c9d24119bc84aa10a9d1d7239b1f1ff1'/>
<id>urn:sha1:7e5f22f8c9d24119bc84aa10a9d1d7239b1f1ff1</id>
<content type='text'>
* parsing rendering private osc table

* move components to DCS and add tests

* refactor: move components to their own thing

* ribbon and selected-ribbon ui components

* nested list ui component

* selected and indices for nested list

* coordinates and size for ui components

* use Text with ribbon

* add tests for components

* refactor: ui components

* refactor: ui components api

* style(fmt): rustfmt

* style(fmt): cleanups</content>
</entry>
<entry>
<title>feat: add plugin permission system (#2624)</title>
<updated>2023-08-12T13:35:42Z</updated>
<author>
<name>Jae-Heon Ji</name>
<email>32578710+jaeheonji@users.noreply.github.com</email>
</author>
<published>2023-08-12T13:35:42Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=c8ddb23297e2f4fc900b8286d57e2808ae6a4fdb'/>
<id>urn:sha1:c8ddb23297e2f4fc900b8286d57e2808ae6a4fdb</id>
<content type='text'>
* WIP: add exaple of permission ui

* feat: add request permission ui

* feat: add caching permission in memory

* feat: add permission check

* feat: add file caching

* fix: changes request

* feat(ui): new status bar mode (#2619)

* supermode prototype

* fix integration tests

* fix tests

* style(fmt): rustfmt

* docs(changelog): status-bar supermode

* fix(rendering): occasional glitches while resizing (#2621)

* docs(changelog): resize glitches fix

* chore(version): bump development version

* Fix colored pane frames in mirrored sessions (#2625)

* server/panes/tiled: Fix colored frames

in mirrored sessions. Colored frames were previously ignored because
they were treated like floating panes when rendering tiled panes.

* CHANGELOG: Add PR #2625

* server/tab/unit: Fix unit tests for server.

* fix(sessions): use custom lists of adjectives and nouns for generating session names (#2122)

* Create custom lists of adjectives and nouns for generating session names

* move word lists to const slices

* add logic to retry name generation

* refactor

 - reuse the name generator
 - iterator instead of for loop

---------

Co-authored-by: Thomas Linford &lt;linford.t@gmail.com&gt;

* docs(changelog): generate session names with custom words list

* feat(plugins): make plugins configurable (#2646)

* work

* make every plugin entry point configurable

* make integration tests pass

* make e2e tests pass

* add test for plugin configuration

* add test snapshot

* add plugin config parsing test

* cleanups

* style(fmt): rustfmt

* style(comment): remove commented code

* docs(changelog): configurable plugins

* style(fmt): rustfmt

* touch up ui

* fix: don't save permission data in memory

* feat: load cached permission

* test: add example test (WIP)

* fix: issue event are always denied

* test: update snapshot

* apply formatting

* refactor: update default cache function

* test: add more new test

* apply formatting

* Revert "apply formatting"

This reverts commit a4e93703fbfdb6865131daa1c8b90fc5c36ab25e.

* apply format

* fix: update cache path

* apply format

* fix: cache path

* fix: update log level

* test for github workflow

* Revert "test for github workflow"

This reverts commit 01eff3bc5d1627a4e60bc6dac8ebe5500bc5b56e.

* refactor: permission cache

* fix(test): permission grant/deny race condition

* style(fmt): rustfmt

* style(fmt): rustfmt

* configure permissions

* permission denied test

* snapshot

* add ui for small plugins

* style(fmt): rustfmt

* some cleanups

---------

Co-authored-by: Aram Drevekenin &lt;aram@poor.dev&gt;
Co-authored-by: har7an &lt;99636919+har7an@users.noreply.github.com&gt;
Co-authored-by: Kyle Sutherland-Cash &lt;kyle.sutherlandcash@gmail.com&gt;
Co-authored-by: Thomas Linford &lt;linford.t@gmail.com&gt;
Co-authored-by: Thomas Linford &lt;tlinford@users.noreply.github.com&gt;</content>
</entry>
<entry>
<title>feat(plugins): use protocol buffers for serializing across the wasm boundary (#2686)</title>
<updated>2023-08-09T20:26:00Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2023-08-09T20:26:00Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=1bedfc90021558cb201695444107afe5bddd2c17'/>
<id>urn:sha1:1bedfc90021558cb201695444107afe5bddd2c17</id>
<content type='text'>
* work

* almost done with command protobuffers

* done translating command data structures

* mid transferring of every command to protobuff command

* transferred plugin_command.rs, now moving on to shim.rs

* plugin command working with protobufs

* protobuffers in update

* protobuf event tests

* various TODOs and comments

* fix zellij-tile

* clean up prost deps

* remove version mismatch error

* fix panic

* some cleanups

* clean up event protobuffers

* clean up command protobuffers

* clean up various protobufs

* refactor protobufs

* update comments

* some transformation fixes

* use protobufs for workers

* style(fmt): rustfmt

* style(fmt): rustfmt

* chore(build): add protoc

* chore(build): authenticate protoc</content>
</entry>
<entry>
<title>feat(plugins): make plugins configurable (#2646)</title>
<updated>2023-07-25T08:04:12Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2023-07-25T08:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=c95d0e769f31b21f5e2d4aaf6465468344f1bfd6'/>
<id>urn:sha1:c95d0e769f31b21f5e2d4aaf6465468344f1bfd6</id>
<content type='text'>
* work

* make every plugin entry point configurable

* make integration tests pass

* make e2e tests pass

* add test for plugin configuration

* add test snapshot

* add plugin config parsing test

* cleanups

* style(fmt): rustfmt

* style(comment): remove commented code</content>
</entry>
<entry>
<title>docs(plugins): better zellij-tile-docs (#2560)</title>
<updated>2023-06-18T11:57:27Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2023-06-18T11:57:27Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=76019acf00a421dcdac5c548a2d016eff3f6192c'/>
<id>urn:sha1:76019acf00a421dcdac5c548a2d016eff3f6192c</id>
<content type='text'>
* docs(plugins): better zellij-tile-docs

* docs(code): fix examples - thanks cargo!</content>
</entry>
<entry>
<title>feat(plugins): plugin pane state events (#2545)</title>
<updated>2023-06-15T15:07:40Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2023-06-15T15:07:40Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=bcbd940bf94cd76751af9b5fad64b716ce2cd3e6'/>
<id>urn:sha1:bcbd940bf94cd76751af9b5fad64b716ce2cd3e6</id>
<content type='text'>
* feat(plugins): report pane state to plugins

* refactor(plugins): rename some stuff

* tests(plugins): adjust for new behavior

* style(fmt): rustfmt</content>
</entry>
<entry>
<title>feat(wasm-plugin-system): major overhaul and some goodies (#2510)</title>
<updated>2023-06-07T10:43:35Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2023-06-07T10:43:35Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=c11d75f9157873fc99fe0d40933de8ec5fbb4f6b'/>
<id>urn:sha1:c11d75f9157873fc99fe0d40933de8ec5fbb4f6b</id>
<content type='text'>
* strider resiliency

* worker channel prototype

* finalized ui

* show hide plugin

* fs events to plugins

* tests for events and new screen instructions

* various refactoringz

* report plugin errors instead of crashing zellij

* fix plugin loading with workers

* refactor: move watch filesystem

* some fixes and refactoring

* refactor(panes): combine pane insertion logic

* refactor(screen): launch or focus

* refactor(pty): consolidate default shell fetching

* refactor: various cleanups

* initial refactoring

* more initial refactoring

* refactor(strider): search

* style(fmt): rustfmt

* style(pty): cleanup

* style(clippy): ok clippy

* style(fmt): rustfmt</content>
</entry>
<entry>
<title>feat(plugins): Plugin workers and strider (#2449)</title>
<updated>2023-05-16T10:47:18Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2023-05-16T10:47:18Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=5fe4d60c220c872c1e77a7ddf24fec6686c28e95'/>
<id>urn:sha1:5fe4d60c220c872c1e77a7ddf24fec6686c28e95</id>
<content type='text'>
* mvp of strider fuzzy find

* improve search ui

* various refactoringz

* moar refactoring

* even more refactoring

* tests and more refactoring

* refactor: remove unused stuff

* style(fmt): rustfmt

* debug ci

* debug ci

* correct path for plugin system tests

* fix plugin system ci tests

* remove debugging statements from test

* fix plugin worker persistence

* add test for plugin worker persistence

* style(fmt): rustfmt

* final cleanups

* remove outdated comments</content>
</entry>
<entry>
<title>performance(rendering): improve rendering performance (#1960)</title>
<updated>2022-11-21T19:07:24Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2022-11-21T19:07:24Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=63e7531c48f1c8fbe916e3ac5475cf36201f52b8'/>
<id>urn:sha1:63e7531c48f1c8fbe916e3ac5475cf36201f52b8</id>
<content type='text'>
* refactor(plugins): plugins now need to explicitly ask to be rendered

* performance(render): remove various needless renders

* performance(render): cache boundaries

* performance(render): adjust tests and cache cursor location/shape

* style(comment): remove outdated

* style(fmt): rustfmt</content>
</entry>
</feed>
