Commit graph

78 commits

Author SHA1 Message Date
Aram Drevekenin
a9f8bbcd19
feat(ux): improve multiple select (#4221)
* intercept/clear-intercept key APIs

* allow opening a pinned unfocused floating pane

* rework plugin

* improve some apis

* fix tests

* tests for pane groups

* more exact placement and tests

* plugin command permission and cleanup

* improve some multiselect ux

* improve plugin ui

* remove old status indicator

* allow moving plugin out of the way

* style(fmt): rustfmt

* update plugins

* remove old keybinding

* cleanups

* fix: only rename pane if needed

* changelog and some cleanups

* style(fmt): rustfmt
2025-06-03 17:15:32 +02:00
Aram Drevekenin
27c8986939
feat: multiple Select and Bulk Pane Actions (#4169)
* initial implementation with break panes to new tab

* break pane group left/right

* group embed/eject panes

* stack pane group on resize

* close pane group

* style(fmt): rustfmt

* fix tests

* group drag and ungroup with the mouse

* fix mouse hover for multiple clients

* fix for multiple clients

* multiple select plugin initial

* use real data in plugin

* adjust functionality

* fix some ux issues

* reflect group mouse group selections in plugin

* group/ungroup panes in Zellij

* highlight frames when marked by the plugin

* refactor: render function in plugin

* some ui responsiveness

* some more responsiveness and adjust hover text

* break out functionality

* stack functionality

* break panes left/right and close multiple panes

* fix(tab): only relayout the relevant layout when non-focused pane is closed

* status bar UI

* embed and float panes

* work

* fix some ui/ux issues

* refactor: move stuff around

* some responsiveness and fix search result browsing bug

* change plugin pane title

* differentiate group from focused pane

* add keyboard shortcut

* add ui to compact bar

* make boundary colors appear properly without pane frames

* get plugins to also display their frame color

* make hover shortcuts appear on command panes

* fix: do not render search string component if it's empty

* BeforeClose Event and unhighlight panes on exit

* some UI/UX fixes

* some fixes to the catppuccin-latte theme

* remove ungroup shortcut

* make some ui components opaque

* fix more opaque elements

* fix some issues with stacking pane order

* keyboard shortcuts for grouping

* config to opt out of advanced mouse actions

* make selected + focused frame color distinct

* group marking mode

* refactor: multiple-select plugin

* adjust stacking group behavior

* adjust flashing periods

* render common modifier in group controls

* add to compact bar

* adjust key hint wording

* add key to presets and default config

* some cleanups

* some refactoring

* fix tests

* fix plugin system tests

* tests: group/ungroup/hover

* test: BeforeClose plugin event

* new plugin assets

* style(fmt): rustfmt

* remove warnings

* tests: give plugin more time to load
2025-04-29 20:52:17 +02:00
Aram Drevekenin
cad0888920 chore(release): v0.42.0 2025-03-17 09:06:01 +01:00
Aram Drevekenin
7aaa7aea8f
feat(ux): tips on startup (#3988)
* add some tips

* refactoring and max tip index

* add config to disable release notes and startup tips

* allow dismissing startup tips from plugin

* random tip at startup

* custom launch about

* fix tests

* style(fmt): rustfmt
2025-02-13 17:12:47 +01:00
Aram Drevekenin
407120b872
feat(ui): stacked resize (#3957)
* work

* tests and initial notes for refactoring

* refactor(stacked-panes): break out pane

* vertical functionality working with a single stack

* refactor: break out pane from stack

* fix: properly support multiple stacks in tab

* combining multiple stacks vertically

* vertical resizing working for all cases

* base functionality and tests

* some UX tweaking

* final functionality for directionless stacked increase

* some cleanups

* moar cleanups

* refactor: stacked resize

* fix: issue where resizing stacked geoms to 0 would cause them to overflow afterwards

* fix: handle uneven stacking

* functionality with tombstones

* new open new pane functionality

* match decrease increment behavior to increase one and fix some issues

* set fullscreen if maxed out

* allow splitting stacks

* fix tests mostly by parameterizing stacked_resize

* add tests

* some cleanups

* style(fmt): rustfmt

* add to config

* disable ci cache

* is_stacked => stacked

* docs(config): remove duplication
2025-01-28 21:24:07 +01:00
Aram Drevekenin
dd291e2a1f
feat(ux): pin floating panes (#3876)
* working

* ui indication

* add keybinding

* add to plugin panes

* fix with multiple cursors

* toggle with the mouse

* fix e2e tests and add new one

* some cleanups

* add to layouts

* make mouse click more lenient

* allow setting a new floating pane as pinned

* make toggle work throughthe command line

* add to plugin api

* get tests to pass

* style(fmt): rustfmt
2024-12-16 16:03:20 +01:00
Aram Drevekenin
4b806795c3 chore(release): v0.41.0 2024-11-04 09:18:03 +01:00
Aram Drevekenin
45cc452b04 chore(release): v0.40.0 2024-04-16 09:15:13 +02:00
Aram Drevekenin
4e34c503d0 chore(release): v0.39.0 2023-11-07 08:36:31 +01:00
Aram Drevekenin
11fe4b3fb7 chore(release): v0.38.0 2023-08-28 09:38:52 +02:00
Aram Drevekenin
9c4c78d5a3 chore(release): v0.37.0 2023-06-18 14:17:39 +02:00
Jae-Heon Ji
ff36798c9e
feat: provide default themes (#2307)
* refactor: move themes to zellij-assets

* feat: add theme to the binary

* chore: move new theme from example to assets
2023-04-27 00:26:07 +09:00
EdenEast
76805cb529
feat(themes): add nightfox themes (#2384) 2023-04-26 23:26:08 +09:00
Cale Flatley
2f0b4d048e
chore(assets): update layout examples to .kdl from .yaml (#2250) 2023-03-15 18:18:29 +01:00
Oleks Gnatovskyi
96b3ce29a2
chore(themes): add menace (#2257)
Co-authored-by: Oleks Pickle <aleks.work2222+gh@gmail.com>
2023-03-15 16:47:05 +01:00
Aram Drevekenin
01777ebaad chore(release): v0.35.0 2023-03-07 09:23:57 +01:00
Aram Drevekenin
d0a780dd7c
chore(repo): revert theme pr (#2229)
* Revert "feat: add self-provided themes (#2224)"

This reverts commit 63bfe9c5e4.

* Revert "docs(changelog): add self-provided themes"

This reverts commit 364f0e7c44.
2023-03-06 21:56:49 +01:00
Jae-Heon Ji
63bfe9c5e4
feat: add self-provided themes (#2224)
* chore: move themes to default assets

* feat: add self-provided themes

* fix: embed themes into binary
2023-03-06 23:36:12 +09:00
Aral Balkan
199e566bf7
feat(themes): add pencil light (#2157) 2023-02-13 18:01:33 +01:00
Cason Adams
ad21f81ac0
add tmux close pane key (#2058)
* add tmux close pane key

* chore: update snapshots for new keybind

Co-authored-by: Jae-Heon Ji <atx6419@gmail.com>
2023-01-03 22:47:39 +09:00
Aram Drevekenin
66593ec41a chore(release): v0.34.0 2022-12-09 09:14:03 +01:00
Jae-Heon Ji
924488de6f
fix(themes): missing tokyo-night-dark theme (#1972) 2022-11-30 21:51:21 +09:00
Jae-Heon Ji
d4ae16ed58
fix(themes/catppuccin): black and white inverted (#1953) 2022-11-17 23:16:09 +09:00
Jae-Heon Ji
c344902e5e
feat(themes): add catppuccin themes (#1937)
* feat(themes): add catppuccin themes

* chore: add official link
2022-11-16 21:47:01 +09:00
Aram Drevekenin
c086e33ed3 chore(release): v0.33.0 2022-11-10 09:50:57 +01:00
Serif-7
46dae69f56
docs(examples): create kanagawa.kdl (#1913)
* Create kanagawa.kdl

* style(format): adjust indentation

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2022-11-08 16:30:20 +01:00
matu3ba
ec023197f6
fix(examples): convert ALT-centered config to kdl and smoothify (#1910)
- Alt-hjkl for pane movements everywhere
- faster pane creation in pane mode with hjkl
- add space to exit mode, if it does not break workflow
- dense: only 127 LOC keybindings, 7 LOC general config
- comment-heavy (for potential useful things): 61 LOC comments
2022-11-08 15:56:16 +01:00
Jae-Heon Ji
9f0b2ce3e6
docs(example): update README.md (#1877) 2022-10-29 01:01:23 +09:00
Jae-Heon Ji
38d23d7218
feat: support multiple themes in one file (#1855)
* feat: support multiple themes in a one file

* chore: update example of multiple themes to gruvbox
2022-10-28 22:48:51 +09:00
Thomas Linford
0857ac1f8a
fix(themes): fix error in everforest themes (#1874) 2022-10-28 13:30:14 +02:00
Nrishinghananda Roy
587a0d2f5a
Add everforest theme in theme examples (#1873) 2022-10-28 13:11:48 +02:00
Aram Drevekenin
5793af7655 chore(version): bump development version 2022-10-25 11:43:53 +02:00
Aram Drevekenin
79bf6ab868
feat(config): switch to kdl (#1759)
* chore(config): default kdl keybindings config

* tests

* work

* refactor(config): move stuff around

* work

* tab merge layout

* work

* work

* layouts working

* work

* layout tests

* work

* work

* feat(parsing): kdl layouts without config

* refactor(kdl): move stuff around

* work

* tests(layout): add cases and fix bugs

* work

* fix(kdl): various bugs

* chore(layouts): move all layouts to kdl

* feat(kdl): shared keybidns

* fix(layout): do not count fixed panes toward percentile

* fix(keybinds): missing keybinds and actions

* fix(config): adjust default tips

* refactor(config): move stuff around

* fix(tests): make e2e tests pass

* fix(kdl): add verbose parsing errors

* fix(kdl): focused tab

* fix(layout): corret default_tab_template behavior

* style(code): fix compile warnings

* feat(cli): send actions through the cli

* fix(cli): exit only when action is done

* fix(cli): open embedded pane from floating pane

* fix(cli): send actions to other sessions

* feat(cli): command alias

* feat(converter): convert old config

* feat(converter): convert old layout and theme files

* feat(kdl): pretty errors

* feat(client): convert old YAML files on startup

* fix: various bugs and styling issues

* fix: e2e tests

* fix(screen): propagate errors after merge

* style(clippy): lower clippy level

* fix(tests): own session_name variable

* style(fmt): rustfmt

* fix(cli): various action fixes

* style(fmt): rustfmt

* fix(themes): loading of theme files

* style(fmt): rustfmt

* fix(tests): theme fixtures

* fix(layouts): better errors on unknown nodes

* fix(kdl): clarify valid node terminator error

* fix(e2e): adjust close tab test

* fix(e2e): adjust close tab test again

* style(code): cleanup some comments
2022-10-05 07:44:00 +02:00
TornaxO7
76ed4266cf
Adding solarized-light (#1608) 2022-07-29 18:05:21 +02:00
Aram Drevekenin
7a72aa4ef9 chore(release): v0.31.0 2022-07-28 16:51:55 +02:00
a-kenji
253a140804
fix(themes): gruvbox-dark (#1499) 2022-06-14 22:34:05 +02:00
a-kenji
88757d16a9
fix(themes): unify filename and themename usage (#1492) 2022-06-13 10:51:44 +02:00
a-kenji
8e51eec877
remove: obsolete nonfunctional configurations (#1474)
The nonfunctional configurations are not needed anymore,
the `tmux-overview` configuration is also not needed anymore,
since there is now a prefix mode that emulates some tmux behaviour,
which is already a good example in the default configuration.
2022-06-09 23:10:36 +02:00
Aram Drevekenin
3c692248d8 chore(release): v0.30.0 2022-06-07 15:31:52 +02:00
Mathieu Santostefano
fd79b22d59
chore(assets): update Dracula Theme (#1435)
* Update Dracula Theme

Dracula theme already exists in https://github.com/dracula/zellij

* Add link to dracula theme repo
2022-05-24 17:02:34 +02:00
Aram Drevekenin
be2659ed2e chore(release): v0.29.0 2022-05-02 13:29:00 +02:00
Aram Drevekenin
9ce4ef49a6 chore(release): v0.28.0 2022-04-13 17:15:26 +02:00
smonv
2aef1d5957
feat(theme): add nord theme to example (#1304) 2022-04-08 09:07:56 +02:00
Kunal Mohan
9f716487ca
Improve theme usage + add default ones (#1274)
* Remove gray from theme config and improve colors for dark themes

* improve theme usage

* Add new themes and minor fixes

* improve tokyo-night theme according to new changes

* Fix formatting

* change default black colour

* docs(CHANGELOG): #1274 improve themes
2022-04-02 03:19:42 +05:30
Aram Drevekenin
a4676741f1 chore(release): v0.27.0 2022-03-31 14:41:42 +02:00
Aram Drevekenin
93642b08bf chore(release): v0.26.0 2022-03-11 15:45:35 +01:00
Aram Drevekenin
59a9ba08e4 chore(release): v0.25.0 2022-02-22 12:35:25 +01:00
Henri
692a30f32f
Create tokyonightDark.yaml (#1015)
* Create tokyonightDark.yaml

added tokyonight dark-storm-ish that I hacked from my config and wanted to share.

* Update and rename example/tokyonightDark.yaml to example/themes/tokyonightDark-theme.yaml

create a theme folder inside the example config. Didn't want to add the 256 color because I don't think that I can recreate it with any degree of accuracy.

* found the correct colors and added the original creator repo of the theme

* feat: add example of various theme

Co-authored-by: jaeheonji <atx6419@gmail.com>
2022-01-28 01:12:58 +09:00
Aram Drevekenin
f6ee6ec6e5 chore(release): v0.24.0 2022-01-05 10:37:31 +01:00
matu3ba
3e0ac752cc
docs(config): add ALT-centered example with usage instructions (#989)
justification:
- 1. ca. 200 LOC vs ca. 350 LOC
- 2. 1 common prefix instead of 2
- 3. 2 ways instead of 4 to get back to normal mode (Esc+Enter)
- 4. mode switching only from and to normal mode
- 5. remove 4 modes without loss of functionality(except adjusting titles)
- 6. second key for mappings to switch to mode memorable
2022-01-04 17:35:44 +01:00