Commit Graph

2456 Commits

Author SHA1 Message Date
Aram Drevekenin
b44ba85895
feat(plugins): optionally move plugin to focused tab (#2725)
* feat(plugins): move_to_focused_tab attribute for LaunchOrFocusPlugin

* style(fmt): rustfmt
2023-08-25 12:24:43 +02:00
Aram Drevekenin
877c467f9f
docs(changelog): update ux fixes 2023-08-24 18:13:07 +02:00
Aram Drevekenin
09d09759b5
fix(ux): various ui/ux fixes (#2722)
* force plugin render on permission request response

* clear warnings

* Revert "feat(ui): new status bar mode (#2619)"

This reverts commit 27763d26ab.

* adjust status bar help

* fix colors in session manager and shortcut in status-bar

* adjust keybindings
2023-08-24 18:11:53 +02:00
Aram Drevekenin
4a1d114753
docs(changelog): session manager 2023-08-24 13:37:14 +02:00
Aram Drevekenin
bc628abc12
feat(sessions): add a session manager to switch between sessions, tabs and panes and create new ones (#2721)
* write/read session metadata to disk for all sessions

* switch session client side

* fix tests

* various adjustments

* fix full screen focus bug in tiled panes

* fix tests

* fix permission sorting issue

* cleanups

* add session manager

* fix tests

* various cleanups

* style(fmt): rustfmt

* clear screen before switching sessions

* I hate you clippy

* truncate controls line to width

* version session cache

* attempt to fix plugin tests

* style(fmt): rustfmt

* another attempt to fix the tests in the ci
2023-08-24 13:36:24 +02:00
Aram Drevekenin
bf3c072d6d
docs(changelog): permission system 2023-08-12 15:38:20 +02:00
Jae-Heon Ji
c8ddb23297
feat: add plugin permission system (#2624)
* 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 <linford.t@gmail.com>

* 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 a4e93703fb.

* 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 01eff3bc5d.

* 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 <aram@poor.dev>
Co-authored-by: har7an <99636919+har7an@users.noreply.github.com>
Co-authored-by: Kyle Sutherland-Cash <kyle.sutherlandcash@gmail.com>
Co-authored-by: Thomas Linford <linford.t@gmail.com>
Co-authored-by: Thomas Linford <tlinford@users.noreply.github.com>
2023-08-12 15:35:42 +02:00
Aram Drevekenin
a1903b6b04
docs(changelog): protobuffers 2023-08-09 22:27:06 +02:00
Aram Drevekenin
1bedfc9002
feat(plugins): use protocol buffers for serializing across the wasm boundary (#2686)
* 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
2023-08-09 22:26:00 +02:00
Aram Drevekenin
c3e140cb4b
docs(changelog): plug memory leak 2023-08-04 10:23:45 +02:00
Aram Drevekenin
0fc1939c6c
fix(performance): plug memory leak (#2675) 2023-08-04 10:22:46 +02:00
Aram Drevekenin
f75033e1c3
docs(changelog): break pane to new tab 2023-08-02 11:42:55 +02:00
Aram Drevekenin
192e6fd31e
feat(ui): break pane to new tab and move panes between tabs (#2664)
* prototype

* some tests

* break out floating pane

* break out plugin panes

* add keybind and fix some minor issues

* remove cli

* move pane to left/right tab

* update ui

* adjust ui

* style(fmt): rustfmt

* style(comment): remove commented code

* update snapshots
2023-08-02 11:41:51 +02:00
Aram Drevekenin
8fb90391c8
docs(changelog): plugin api utility functions 2023-07-28 17:25:57 +02:00
Nacho114
9631204028
feat(plugins): utility functions to find active pane and tab (#2652) 2023-07-28 17:24:31 +02:00
Aram Drevekenin
859d633f5b
docs(changelog): focus glitches 2023-07-27 17:56:49 +02:00
Aram Drevekenin
ade4406a8f
fix(terminal): properly handle resizes in alternate screen (#2654) 2023-07-27 17:55:21 +02:00
Aram Drevekenin
5601766225
docs(changelog): configurable plugins 2023-07-25 10:05:19 +02:00
Aram Drevekenin
c95d0e769f
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
2023-07-25 10:04:12 +02:00
Thomas Linford
6cf795a7df
docs(changelog): generate session names with custom words list 2023-07-18 19:16:29 +02:00
Kyle Sutherland-Cash
e0bd311e84
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 <linford.t@gmail.com>
2023-07-18 19:12:51 +02:00
har7an
fa8ef2a973
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.
2023-07-16 14:35:34 +00:00
Aram Drevekenin
5bf421ecdc chore(version): bump development version 2023-07-12 20:32:53 +02:00
Aram Drevekenin
024fb2d22d
docs(changelog): resize glitches fix 2023-07-12 20:37:03 +02:00
Aram Drevekenin
0825cb65a7
fix(rendering): occasional glitches while resizing (#2621) 2023-07-12 20:30:41 +02:00
Aram Drevekenin
385cc1c81b
docs(changelog): status-bar supermode 2023-07-12 11:32:56 +02:00
Aram Drevekenin
27763d26ab
feat(ui): new status bar mode (#2619)
* supermode prototype

* fix integration tests

* fix tests

* style(fmt): rustfmt
2023-07-12 11:31:00 +02:00
Thomas Linford
61f3789c88
docs(changelog): plugins tab switching with mouse fix 2023-06-30 09:44:19 +02:00
Thomas Linford
19a502cb28
fix(tab-bar,compact-bar): tab switching with mouse sometimes not working (#2587)
* 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
2023-06-30 09:42:23 +02:00
Aram Drevekenin
fda5923d64 chore(release): v0.37.2 2023-06-20 17:34:24 +02:00
Aram Drevekenin
3ed2a24572 chore(version): bump development version 2023-06-20 17:31:34 +02:00
Aram Drevekenin
97db481bb5
docs(changelog): fix plugin hide_self 2023-06-20 16:38:50 +02:00
Aram Drevekenin
019452bdbf
fix(plugins): make hide_self api idempotent (#2568)
* fix(plugins): make hide_self api idempotent

* style(fmt): rustfmt
2023-06-20 16:38:01 +02:00
Jae-Heon Ji
4fc30ee7ad
docs(changelog): hotfix default theme 2023-06-20 06:07:28 +09:00
Jae-Heon Ji
9ed45357ff
hotfix: include theme files into binary (#2566)
* fix: include theme files into binary

* fix: delete unused features

* fix: change user theme dir to optional
2023-06-20 05:57:39 +09:00
Aram Drevekenin
294b87803f chore(version): bump development version 2023-06-19 18:54:15 +02:00
Aram Drevekenin
a6c0a10eb7 chore(release): v0.37.1 2023-06-19 18:18:06 +02:00
Aram Drevekenin
5b14fc423b chore(version): bump development version 2023-06-19 18:14:00 +02:00
Aram Drevekenin
7d99ea66aa
docs(changelog): plugin api fixes 2023-06-19 18:10:24 +02:00
Aram Drevekenin
1280cc8d73
fix(plugins): swap layouts and invoked_with (#2564) 2023-06-19 18:09:08 +02:00
Jae-Heon Ji
0adb10573d
docs(changelog): hotfix theme issue 2023-06-19 00:21:26 +09:00
Jae-Heon Ji
a35bdb71e6
Revert "Fix error loading non-existant themes directory and use default themes as the base when merging (#2411)" (#2562)
This reverts commit 48e75d0559.
2023-06-19 00:18:57 +09:00
Aram Drevekenin
4102a14e5c chore(version): bump development version 2023-06-18 15:10:43 +02:00
Aram Drevekenin
9c4c78d5a3 chore(release): v0.37.0 2023-06-18 14:17:39 +02:00
Aram Drevekenin
76019acf00
docs(plugins): better zellij-tile-docs (#2560)
* docs(plugins): better zellij-tile-docs

* docs(code): fix examples - thanks cargo!
2023-06-18 13:57:27 +02:00
Aram Drevekenin
e79c3a96b7
docs(plugins): document the zellij-tile events and commands api (#2554) 2023-06-17 20:39:36 +02:00
Aram Drevekenin
805fd1dc81
feat(plugins): strider improvements (#2551)
* fix(plugins): adjust debounce and smart file ignore in strider

* style(comment): remove commented code

* style(fmt): rustfmt
2023-06-17 18:16:41 +02:00
Aram Drevekenin
29a391f60e
refactor(plugins): improve api (#2552)
* refactor(plugins): improve shim API

* style(fmt): rustfmt
2023-06-17 17:47:28 +02:00
Aram Drevekenin
10b7f3a981
docs(changelog): more plugin api methods 2023-06-17 14:44:11 +02:00
Aram Drevekenin
63e3a1eae2
feat(plugins): more plugin api methods (#2550)
* feat(plugins): close, focus, rename pane, rename tab and show_self api methods

* style(fmt): rustfmt
2023-06-17 14:41:49 +02:00