17 Commits
Author SHA1 Message Date
Aram Drevekenin 2d26af6593 fix: better inbox toggle key (#5824)
* fix: better inbox toggle key

* rustfmt
2026-11-04 14:28:48 +01:00
LucasandAram Drevekenin 8727668113 feat: horizontal stacked-pane list orientation (#5741)
* feat: add horizontal stack list orientation

* fix: stack list theming and orientation memory

* feat: add default_stack_list_orientation config option

* revert: ui adjustment

* feat: declare stack direction in layouts

* fix: plumb stack list orientation through the options IPC contract

* feat: add toggle-stack-list-orientation CLI action

* refactor: share stack-list entry layout between render and click mapping

* refactor: rename stack orientation option to stacked_pane_list_orientation

* fix: harden horizontal stack lists and preserve orientation

* fix: adapt horizontal stacks to upstream settings and layout APIs

* fix: retain layout orientation for single-pane stacks

* fix: retain singleton stack placement and render borders

* fix: validate stack direction in templates and trim redundant tests

* docs(config): document stacked_pane_list_orientation in default config

* adjust UI, add to right-click menu, default keybinding

* rustfmt

* fix tests

* plugin assets

* fix race

* update assets

* add pr

---------

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2026-11-03 19:13:33 +01:00
Aram Drevekenin bef750cb43 fix: inbox preview offset, terminal title reset, -e hang (#5816)
* fix: remember explicit client disconnects (-e fix)

* fix: inbox previews, empty titles bulk session deletes

* disable attention
2026-11-02 16:46:54 +01:00
Aram Drevekenin ca787b5877 redesign inbox (#5800)
* redesign inbox

* return dropped hint
2026-10-29 19:08:21 +01:00
Aram Drevekenin 78a097e457 Overhaul right click settings (#5795)
* improve right click menu and settings screen

* fix tests

* rustfmt
2026-10-29 11:29:15 +01:00
Aram Drevekenin 1f3df93397 Rename zellij window to zellij terminal (#5784)
* rename window to terminal

* rustfmt
2026-10-27 17:19:49 +01:00
Aram Drevekenin 237fe15970 New feat fixes (#5783)
* fix: delay when opening tab with the mouse, rename pane coverup issue

* fix: quit races causing ANSI leaks

* fix: resizing direction on corners, mouse click on text elements to edit

* fix: theme contrast

* rustfmt and plugins

* doule-click race fix

* assets
2026-10-27 15:20:21 +01:00
Aram Drevekenin 890474b88a feat: allow hiding ui at runtime (#5781)
* feat: allow hiding ui at runtime

* add pr

* add plugin assets
2026-10-27 11:31:57 +01:00
Aram Drevekenin c7c4ce42b8 Allow renaming sessions from session mode (#5754)
* feat: allow renaming sessions from session mode

* rustfmt

* fix tests

* manually download protoc

* add pr
2026-10-22 18:11:26 +02:00
Aram Drevekenin a28f3ca9c2 Adjust Setup for Desktop Window (#5750)
* setup wizard

* rustfmt

* fix ci issues

* fix integration tests

* harden flaky tests

* fix ipc creation races
2026-10-22 10:41:39 +02:00
Aram Drevekenin 3ce7e7dc71 Inbox, notifications, better session-manager, desktop integration (#5734)
* feat(attention): add per-pane attention status with OSC 7501/133/633 parsing, frame symbols, mute/ignore/watch and plugin API

* revamp attention plugin

* desktopify attention

* tests, protobuffs, etc.

* strengthen tests

* desktop integrations

* test cases and hardening

* fix(app): keep tests off the live desktop app socket and recover from a lost socket

* fix(attention): readable tab marks, persist session mute, fix inbox clicks, rename socket, standalone windows and flaky tests

* unify new window keybindings

* fix: return to session shortcut display

* hide hover hints

* rustfmt

* merge

* fix tests

* fix tests

* fix tab-bar race

* fix tests again

* fix: prevent out of order cached pty writes on startup

* add pr
2026-10-20 13:29:16 +02:00
Aram Drevekenin 519a23715c Grapheme cluster support (#5714)
* initial implementation

* optimizations

* grapheme_clusters config, emoji font, VS15/Hangul/accent rendering fixes

* add pr

* fix flaky tests

* fix more flakes and some races
2026-10-14 11:21:38 +02:00
bc66c40189 feat: zellij terminal window (#5652)
* feat: zellij terminal window

* rustfmt

* improve default theme, bundle Nerd font icons, fix some rendering issues

* opacity

* remember window size

* rustfmt

* pref: improve input echo speed

* font schenanigens: padding, line height, cell width, font weight, etc.

* fullscreen toggle, close confirmation dialog, hide pointer while typing, hollow unfocused cursor, minimum contrast

* smooth scrolling

* scroll momentum

* rustfmt

* fix tests

* fix: show popups only once drawn at their requested size

* session suggestions

* moar suggestion tests

* macos option as alt

* macos system bell

* merge wrapups and tests

* dead keys, font size in points, extra tests

* terminal window config in settings

* shift+mouse highlighting and link-clicking in window

* rustfmt

* adjust window error messages

* confirm on quit

* fix popup and multiplayer cursors, mouse pointer shapes for ui elements

* rebase stragglers

* fix(window): keep a dead key's accent through modifier keys

A dead key followed by a character it can't combine with lost its
accent when that character needed Shift or AltGr: on a French AZERTY
layout, `^` then `/` typed `/` instead of `^/`. The window settled the
accent on the next key press, the Shift or AltGr press included, while
Windows keeps the dead key until a key produces text and reports the
accent in that key's text, which the window then ignored.

Leave a pending accent alone on modifier and lock keys, and type a
character key's text when it carries an accent ahead of the character,
which also covers an accent Windows kept through an arrow key.

(cherry picked from commit 7822bf4c02)

* fix: filter out locked sessions

* rustfmt

* fix e2e

* add pr

---------

Co-authored-by: Thomas Linford <linford.t@gmail.com>
Co-authored-by: divens <divens.dev@gmail.com>
2026-10-12 17:10:13 +02:00
Aram Drevekenin b1033be2a3 Improved mouse handling (#5697)
* configurable mouse bindings

* feat(bars): reorder tabs with mouse drag, clickable status-bar shortcuts with hover effects

* fix tests

* add pr
2026-10-09 11:59:23 +02:00
Aram Drevekenin 201c1593da Interactive configuration, popups, notifications, right-click menu (#5685)
* ui components

* right click menu + popups

* settings screen

* various fixes

* presets in config

* zellij prompt - ui elements in the cli

* context menu shortcuts and toggle, keybindings in popups, info popups + zellij prompt notify

* smart config writing and some leftovers

* keybindings/right-click/config editors

* some wrapups

* feat(plugins): add prompt() plugin API for zellij:prompt, dialog forms, and Text labels in widgets

* theme editors

* upstream by-id action types, config env for new panes only, smaller saved menu config, web right-click, example config

* upstreamify

* rustfmt

* fix windows and theme editor layout

* add pr
2026-10-05 18:46:12 +02:00
ZykinoandZykino ef497e1ae3 NestedListItem::new require Text instead of &str (#5611)
Part of the change was done with `ast-grep run -p 'Text::new($A)' -r 'Text::from($A)' --update-all`

Co-authored-by: Zykino <3809938+Zykino@users.noreply.github.com>
2026-09-30 19:26:19 +02:00
Aram Drevekenin 208a0da5e9 Resource usage optimizations (#5662)
* shared instance plugins

* reduce needless allocations and share memory

* fix: read buffer bug

* idle plugin fixes and optimizations

* trim allocator for glibc on pane close

* fix flaky integration tests

* refactor: naming

* rustfmt

* add pr
2026-09-28 10:58:12 +02:00