<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppij.git/zellij-server/src/output/mod.rs, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppij.git/atom/zellij-server/src/output/mod.rs?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppij.git/atom/zellij-server/src/output/mod.rs?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/'/>
<updated>2026-07-31T17:19:49Z</updated>
<entry>
<title>Support the Kitty Image Protocol (#5428)</title>
<updated>2026-07-31T17:19:49Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-07-31T17:19:49Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=0e6e4404027a187f1399a43bf91bdbd13d9636e1'/>
<id>urn:sha1:0e6e4404027a187f1399a43bf91bdbd13d9636e1</id>
<content type='text'>
* initial implementation - kinda working

* tests and fixes

* fix bounds

* tests and compatibility fixes

* fix: cursor scroll, clears, deletes, key tolerance, and host id range

* fix: keep images alive across resize, relayout and history scroll

* anchor to lines, not pixels

* fix image/text alignments

* config to allow disabling

* fix pinned pane issue

* never let host graphics replies reach the keyboard parser

* fix nested session

* properly handle fullscreening a pane

* rustfmt

* cleanup of ignored test

* add pr</content>
</entry>
<entry>
<title>Fix bce and other issues (#4992)</title>
<updated>2026-04-02T09:54:15Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-04-02T09:54:15Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=1411b2d9adf2d08a6e14f3262493ca9e6d26b219'/>
<id>urn:sha1:1411b2d9adf2d08a6e14f3262493ca9e6d26b219</id>
<content type='text'>
* fix bce and other issues

* rustfmt

* 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>Highlight priority levels (#4827)</title>
<updated>2026-03-10T09:18:44Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-03-10T09:18:44Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=2035e052f38a738639840a685ddc6a107ea11136'/>
<id>urn:sha1:2035e052f38a738639840a685ddc6a107ea11136</id>
<content type='text'>
* highlight priority levels

* add pr</content>
</entry>
<entry>
<title>Click file paths to open in editor, allow plugins to change styles and hover of viewport (#4802)</title>
<updated>2026-03-05T20:13:02Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-03-05T20:13:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=903cdf5d32476a8d6cc208d2c418a1f2c67e5a53'/>
<id>urn:sha1:903cdf5d32476a8d6cc208d2c418a1f2c67e5a53</id>
<content type='text'>
* initial implementation

* implement hover

* add styles and foreground/background emphases, fix upsert hover collisions

* initial implementation of link plugin

* suppress highlighting + clicks on unfocused and mouse mode panes

* also make italic

* fix env var and ~ expansions

* fix regex issues and add defensive validations

* fix tests and add plugin assets

* add tests

* refactor all the things

* add pr</content>
</entry>
<entry>
<title>feat: add per-pane default foreground/background color support (#4737)</title>
<updated>2026-03-04T13:26:26Z</updated>
<author>
<name>Karl Bunch</name>
<email>karlbunch@users.noreply.github.com</email>
</author>
<published>2026-03-04T13:26:26Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=f77cdec298576164f34baf0456e4b986bde269e6'/>
<id>urn:sha1:f77cdec298576164f34baf0456e4b986bde269e6</id>
<content type='text'>
* feat: add per-pane default foreground/background color support

Add per-pane default foreground and background colors, configurable
through four surfaces:

- OSC 10/11 escape sequences (set/query) and OSC 110/111 (reset)
- CLI action: zellij action set-pane-color --pane-id &lt;id&gt; --fg/--bg
- Layout config: default_fg/default_bg properties on pane nodes
- Plugin API: set_pane_color() SDK function and PaneInfo read-side

Colors are applied at render time as a fallback when cells have no
explicit foreground/background, without mutating stored grid data.

Closes #4712

* refactor: address review feedback for pane color support

- Extract adjust_styles_for_custom_bg_fg in output/mod.rs
- Move color parsing (xparse_color) from tab into Grid
- Move color serialization (ansi_code_to_color_string) into Grid
- Pane trait now uses Option&lt;String&gt; for color getters/setters
- Add colors to session serialization (dump-layout)
- Add default_fg/default_bg to protobuf IPC schema to fix
  layout-in-session color loss
- Update example layout with tab-bar and status-bar

* fix stack overflow and ordering

* rustfmt

* update e2e snapshots

---------

Co-authored-by: Karl Bunch &lt;karl@karlbunch.com&gt;
Co-authored-by: Aram Drevekenin &lt;aram@poor.dev&gt;</content>
</entry>
<entry>
<title>Allow resizing panes with the mouse (#4678)</title>
<updated>2026-02-04T10:59:21Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-02-04T10:59:21Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=690a1e4506854c1e7637cf4c27f75e39b923972d'/>
<id>urn:sha1:690a1e4506854c1e7637cf4c27f75e39b923972d</id>
<content type='text'>
* initial implementation

* improve edge detection

* fix up/down resize increment bug

* temporarily disable alt-mouse grouping

* fix inverting strategies and simplify edge detection

* resize of floating -&gt; ctrl click, resize of tiled -&gt; (ctrl)click

* fix old functionality and tests

* refactor and fixes

* refactor mouse click handling

* move mouse click handling to separate module

* resize scroll up/down with scroll wheel

* tests for scroll resize

* implement hover help

* fix occlusion bug

* allow disabling with config

* fix focus pinned pane on frame

* use strategy invert resize directly rather than function parameter

* remove annoying log message

* cleanups and formatting

* add pr</content>
</entry>
<entry>
<title>fix: properly occlude cursor in floating pane when pinned pane covers it (#4644)</title>
<updated>2026-01-27T09:18:31Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-01-27T09:18:31Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=f0a8f4659c825ca8fb34fa6f89ecab414b6c6d3f'/>
<id>urn:sha1:f0a8f4659c825ca8fb34fa6f89ecab414b6c6d3f</id>
<content type='text'>
* fix: properly occlude cursor in floating pane when pinned pane covers it

* add pr</content>
</entry>
<entry>
<title>Allow disabling OSC8 link generation (#4624)</title>
<updated>2026-01-22T10:45:16Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-01-22T10:45:16Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=81ca742a694fdfebc8efcb0a01490744f259a4e1'/>
<id>urn:sha1:81ca742a694fdfebc8efcb0a01490744f259a4e1</id>
<content type='text'>
* implementation

* rustfmt

* add pr</content>
</entry>
<entry>
<title>Feature: watcher clients (#4487)</title>
<updated>2025-10-27T11:31:02Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-10-27T11:31:02Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=8762f866380360457c84c1e7ce7973f104468f87'/>
<id>urn:sha1:8762f866380360457c84c1e7ce7973f104468f87</id>
<content type='text'>
* initial implementation

* make Screen aware of watchers - slightly buggy

* fix: only render focused tab to watcher

* track watcher sizes on Screen

* pad watcher output as needed

* truncate watcher sizes as needed

* render on watcher resize

* fix watcher first resize

* allow watchers to quit with esc, ctrl-c or ctrl-q

* fix: send watcher size on initial connection message

* refactor: move  padding logic to output

* fix watcher rendering after all clients disconnected

* fix watcher rendering caching issues

* crop watcher cursor when out of bounds

* remove watchers cleanly on session close

* standardize watcher messages ignoring

* add e2e test for watcher functionality

* update snapshots

* add output tests

* rustfmt

* cleanups

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