<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sl0ppij.git/default-plugins/compact-bar/src/tab.rs, branch main</title>
<subtitle>a sl0p.foo repository</subtitle>
<id>https://git.sl0p.foo/sl0ppij.git/atom/default-plugins/compact-bar/src/tab.rs?h=main</id>
<link rel='self' href='https://git.sl0p.foo/sl0ppij.git/atom/default-plugins/compact-bar/src/tab.rs?h=main'/>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/'/>
<updated>2026-07-27T16:24:37Z</updated>
<entry>
<title>Nested session handling (#5417)</title>
<updated>2026-07-27T16:24:37Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-07-27T16:24:37Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=ea07e2d5b6bbc9ea6f9c765b0838b3e91156a58d'/>
<id>urn:sha1:ea07e2d5b6bbc9ea6f9c765b0838b3e91156a58d</id>
<content type='text'>
* fix: theme query and updated pixel dimensions

* add no-ui-fullscreen key/action/capability

* protocol core

* integration test harness

* fix integration tests

* fix flaky tests

* nested ui (dimming) and directional focus initial implementation

* integration tests for nested ui dimming and directional focus

* initial full screen nesteed implementation

* fix: keep hidden floating panes hidden across nested no-ui fullscreen

* fix integration tests

* no ui fullscreen integration tests

* hardening behavior/tests

* fix(nested): re-derive descend/dim on host tab switch and new-tab so clicking dimmed chrome ascends

* initial modal implementation

* initial ui improvements

* fix integration tests

* improve nested selection ui

* nested session modal refactoring and tests

* improve integration test speed somewhat

* some ui adjustments

* simplify full/auto nested session handling

* hints in compact-bar

* guest stdin leak fix

* allow floating panes to be fullscreen

* make nested session handling configurable

* protocol reannounce

* refactor: naming confusion

* improve ux somewhat

* rustfmt

* merge fixes

* improve integration test rate limiting (fix ci)

* add pr</content>
</entry>
<entry>
<title>Visual indication for terminal bells (#4781)</title>
<updated>2026-03-03T07:20:04Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2026-03-03T07:20:04Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=f618b0653abc918f9c34b5a4e8a06e4a11745b43'/>
<id>urn:sha1:f618b0653abc918f9c34b5a4e8a06e4a11745b43</id>
<content type='text'>
* initial implementation

* rustfmt

* allow disabling with config

* add missing kdl

* add pr

* fix tests</content>
</entry>
<entry>
<title>build(cargo): Update Rust toolchain to 1.90.0 (#4457)</title>
<updated>2025-10-06T17:11:34Z</updated>
<author>
<name>har7an</name>
<email>99636919+har7an@users.noreply.github.com</email>
</author>
<published>2025-10-06T17:11:34Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=80de7f462c80dab77f3535981a2428a3fc1ffc11'/>
<id>urn:sha1:80de7f462c80dab77f3535981a2428a3fc1ffc11</id>
<content type='text'>
* build(cargo): Define shared manifest properties workspace-wide

in order to allow workspace members to easily copy their values, rather
than copying the actual values manually between files. Prepare for a
future update of the Rust edition this way by defining the edition in
one central location.

* build(cargo): Share the license between all workspace members

and don't copy the actual license value manually between crates.

* build(cargo): Share the rust edition between workspace members

rather than manually defining the value per crate. There is no
apparent advantage in having different parts of the code use different
rust editions. It only makes the code inconsistent, which is not a goal
worth striving for.

* build(cargo): Share the crate version between workspace members

at least for those workspace members that are versioned in lockstep.

* refactor(session-manager): Migrate to Rust edition 2021

from edition 2018 in order to use a single unified Rust edition across
the entire workspace. Apparently the migration does not involve changes
to the actual code.

* refactor(plugin-manager): Migrate to Rust edition 2021

from edition 2018 in order to use a single unified Rust edition across
the entire workspace. Apparently the migration does not involve changes
to the actual code.

* build(zellij-utils): Remove the obsolete build script

which has contained nothing but comments for two years now. The initial
"workaround" has by now become the proper solution and the original
issue (see &lt;https://github.com/zellij-org/zellij/pull/2711&gt;) has never
been heard of since.

The real motivation for this change is the simple fact that this version
of prost-build pulled in a pretty old version of the `which` crate which
doesn't appear to build with Rust 1.89 (latest stable as of now).

* build(cargo): Update Rust toolchain to 1.89

which is the latest stable toolchain as of writing this and has support
for the 2024 Rust edition, unlike the previously used 1.84.

* fixup! build(zellij-utils): Remove the obsolete build script

* refactor: Make implicitly elided lifetimes explicit

in cases where a functions return type has an actual lifetime that
depends on a non `'static` argument.

* build(cargo): Update Rust toolchain to 1.90.0

which is the latest stable toolchain as of writing this. Compared to
1.89.0 this changes the default linker and should, hence, cut down
iteration times during development significantly.

* ci: Force configured rust toolchain version in release builds

for the tagged release assets. Previously the rust version was
unconditionally overwritten to be `stable` regardless of what
`rust-toolchain.toml` configured.

* docs(changelog): Add MR #4457

to list of unreleased changes.

* build: Read package version from workspace version value

since it no longer resides directly in the `package` object.</content>
</entry>
<entry>
<title>fix(compact-bar): fix cursor length calculation for multiple users (#4279)</title>
<updated>2025-07-09T15:32:41Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2025-07-09T15:32:41Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=8113ddf9dbbf04bf8bb5e33c8de0e7d55155d277'/>
<id>urn:sha1:8113ddf9dbbf04bf8bb5e33c8de0e7d55155d277</id>
<content type='text'>
* fix(compact-bar): account for multiplayer cursor length

* fix(e2e): account for races in tmux mode

* style(fmt): rustfmt

* docs(changelog): add PR</content>
</entry>
<entry>
<title>feat(config): new theme definition spec (#3242)</title>
<updated>2025-02-07T10:59:54Z</updated>
<author>
<name>Mark Grey</name>
<email>mark.asperia@gmail.com</email>
</author>
<published>2025-02-07T10:59:54Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=26b99eac63869fb1209ecf39c4f9cdb21d0419ba'/>
<id>urn:sha1:26b99eac63869fb1209ecf39c4f9cdb21d0419ba</id>
<content type='text'>
* Implement initial structs from spec

* kdl configuration unmarshalling

* typo text styling

* remove is_selected toggle

* incorporate new status bar ui into theming

* improve test coverage of config behavior

* tab bar correction

* correct also compact bar

* remove spacing between table columns

* refactor table styling

* use text_unselected.emphasis_1 for keygroup sep

* fix tab bar more text

* repair field flattening for theme

* remove extra styling KDL node

* update tests

* updated selected text conversion

* padding for header bar

* minor corrections for existing themes

* background handling

* compact bar corrections

* properly handle opaque method to activate background

* update newer plugins to use styling struct

* correct omission of selected state

* fix: bold typeface for text elements

* fix: fg -&gt; white for list_unselected conversion

* fix: emphasis and opacity handling for nested_list

* correct stylings in the session-manager

* fix emphases translation for table component

* correct emphasis for run instructions

* correct frame_highlight translation for old themes

* provide missing implementation of frame_highlight

* fencepost emphasis color names

* Set a pseudo-None for frame_unselected in old theme conversion

* correct alternating bg for simplified-ui

* update snapshots

* fix inner text padding and errorneous snapshots

* suppress warning about deprecated usage of palette

* remove unused import

* feat(plugins): API to change floating pane coordinates (#3958)

* basic functionality through the cli

* added to plugin api

* add display area and viewport size to TabInfo

* fix tests and add new one

* some cleanups

* refactor: extract pane_id parsing logic

* style(fmt): rustfmt

* docs(changelog): floating pane coordinate chagne API

* fix(tiled-panes): opening panes from the cli (#3963)

* feat(plugins): add `PastedText` Event (#3962)

* working with text paste

* handle utf8 conversion error

* feat(plugins): add PastedText Event

* docs(changelog): plugins pasted text event

* black for table opaque background

* properly apply opacity to table

* correct padding for explicit width ribbons

* feat(plugins): Allow opening panes near plugin (#3966)

* added command + terminal variants

* added editor variant

* style(fmt): rustfmt

* docs(changelog): plugin apis to open panes near plugin

* feat(plugins): send info about $EDITOR and $SHELL (#3971)

* feat(plugins): send info about $EDITOR and $SHELL

* fix(e2e): snapshot update

* docs(changelog): plugin editor and shell info

* fix(floating-panes): when changing coordinates, if a pane is not floating - make it floating (#3972)

* fix(panes): when changing floating pane coordinates, if the pane is not floating, float it

* style(fmt): rustfmt

* docs(changelog): floating pane coordinate fix

* fix(break-pane): strip logical position when inserting pane to new tab (#3973)

* docs(changelog): logical position fix

* Optional frame_unselected theme

* fixture with correct width to account for arrow padding

* update snapshot and rustfmt

---------

Co-authored-by: Aram Drevekenin &lt;aram@poor.dev&gt;</content>
</entry>
<entry>
<title>feat(ui): bring back fullscreen indication (#3688)</title>
<updated>2024-10-22T16:32:44Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2024-10-22T16:32:44Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=61908a7cfe4f617dfc77379bcfc395409e73cd85'/>
<id>urn:sha1:61908a7cfe4f617dfc77379bcfc395409e73cd85</id>
<content type='text'>
* feat(ui): bring back fullscreen indication

* fix e2e tests</content>
</entry>
<entry>
<title>fix(tab-bar,compact-bar): tab switching with mouse sometimes not working (#2587)</title>
<updated>2023-06-30T07:42:23Z</updated>
<author>
<name>Thomas Linford</name>
<email>tlinford@users.noreply.github.com</email>
</author>
<published>2023-06-30T07:42:23Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=19a502cb2800202f232641b63a5b8741ea39d1ba'/>
<id>urn:sha1:19a502cb2800202f232641b63a5b8741ea39d1ba</id>
<content type='text'>
* tab-bar: fix clicks sometimes not registering

Caching the click position wasn't working across multiple plugin
instances.

Also a couple of refactors:
  - move the code with the tab switching logic inside update
  - avoid rendering when calling switch_tab_to, since it will happen
    anyway afterwards

* same fix for compact-bar</content>
</entry>
<entry>
<title>fix(compact-bar): mouse-click in simplified-ui (#1917)</title>
<updated>2022-11-17T13:53:41Z</updated>
<author>
<name>imsuck</name>
<email>imsuck12@gmail.com</email>
</author>
<published>2022-11-17T13:53:41Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=a00183397546459d7bb2acd4ba43fd0295c7101e'/>
<id>urn:sha1:a00183397546459d7bb2acd4ba43fd0295c7101e</id>
<content type='text'>
* fix(compact-bar): mouse-click in simplified-ui

* fix(compact-bar): fix formatting</content>
</entry>
<entry>
<title>feat(ui): tweak simplified UI (#1458)</title>
<updated>2022-06-06T20:32:14Z</updated>
<author>
<name>Aram Drevekenin</name>
<email>aram@poor.dev</email>
</author>
<published>2022-06-06T20:32:14Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=4a8d72d7b93ba881501fb04fa4d493631ad770b4'/>
<id>urn:sha1:4a8d72d7b93ba881501fb04fa4d493631ad770b4</id>
<content type='text'>
* fix(ui): tweak simplified-ui tabs

* fix(ui): tweak simplified-ui status bar

* style(fmt): rustfmt</content>
</entry>
<entry>
<title>add(plugin): `compact-bar` &amp; `compact` layout (#1450)</title>
<updated>2022-06-03T09:14:38Z</updated>
<author>
<name>a-kenji</name>
<email>aks.kenji@protonmail.com</email>
</author>
<published>2022-06-03T09:14:38Z</published>
<link rel='alternate' type='text/html' href='https://git.sl0p.foo/sl0ppij.git/commit/?id=d62e6fb57e7c35f3b2f165c5a63c809ba21e2c2e'/>
<id>urn:sha1:d62e6fb57e7c35f3b2f165c5a63c809ba21e2c2e</id>
<content type='text'>
* add(plugin): `compact-bar` &amp; `compact` layout

* add(nix): `compact-bar` plugin

* add(config): `compact-bar` to the config

* add(workspace): `compact-bar` to workspace members

* add(assets): `compact-bar`

* chore(fmt): rustfmt

* add(nix): add `compact-bar`

* add: compact layout to dump command

* nix(build): fix destination of copy command

* add(makefile): add `compact-bar` to `plugin-build`

* add(layout): `compact-bar` to layout

* add: install `compact-bar` plugin

* fix(test): update input plugin test

* fix(plugin): default colors for compact-bar</content>
</entry>
</feed>
