Commit Graph

1340 Commits

Author SHA1 Message Date
Aram Drevekenin
a99354a155
refactor(screen): more multiple-users groundwork (#788)
* refactor(screen): support multiple mirrored clients

* style(fmt): make rustfmt happy

* style(clippy): make clippy happy

* whitespace

* github, y u no update CI?!

* is this a cache issue?

* is it the checkout cache?

* no cache at all?

* Debug

* fix gototab

* decoment

* gototab none in wasm_vm

* gototab none in wasm_vm

* the fun never ends

* style(fmt): make rustfmt happy
2021-10-20 10:37:38 +02:00
Kunal Mohan
4fa55dbfde docs(Cchangelog): directional movement of panes #762 2021-10-19 20:26:43 +05:30
Kunal Mohan
d90e3d4cac
Feature: Move panes directionally (#762)
* Feature: Move panes directionally

* change keybinds

* Fix active pane after move

* Add a separate 'Move' mode

* Add tests

* Add more tests

* Send resize message to pty

* wrap set_terminal_size_using_fd() in macro

* change keybind for Move mode

* cargo fmt

* fix test

* move render functions from tab.rs to screen.rs

* undo wrong keybinds
2021-10-19 20:20:28 +05:30
Thomas Linford
76a96b538b
logging: remove unused log functions, change log file const to new file (#779) 2021-10-18 10:52:58 +02:00
Canop
25d9ce8b9c
simplify .gitignore (#783)
`/target` is useless when there's already `**/target`.

And `**/target` should be written just `target`.

And to be more precise, what's really wanted here is
to match the "target" *directory* everywhere so the
best rule is `target/`.
2021-10-18 10:46:00 +02:00
Brooks J Rady
b94b25c5fe fix(plugin): clean up the mouse PR a little 2021-10-12 23:11:23 +01:00
qepasa
0710594588
feat(plugin): Add mouse events for plugins (#629)
* feat(plugin): Add mouse events for plugins

* Add double click support in strider

* Add support for mouse clicks in tab-bar and fix bug in strider with selecting past the list of files and random double click action

* continue working on mouse support for tab bar

* finish tab change

* fix fmt and fix bug in strider double-click

* fix clippy

* cleanup dbgs and logs

* fix clippy

* noop change to rerun e2e tests

* Rebase and fix mouse click behavior in tab-bar and strider after rebase

* fix fmt

* remove dbgs and and comment in tab-line/main.rs

* cargo fmt

* Code review suggestions

* rebase fix

* fix clippy

* fix mouse selection for tabs in tab-bar
2021-10-12 22:37:54 +01:00
Kunal Mohan
a6453f111e docs(changelog): preserve umask/keep default file permissions 2021-10-12 20:49:24 +05:30
Thomas Linford
45af3e4279
Preserve current umask (#777)
* preserve umask when starting server

* make sure log files are created with explicit permissions
2021-10-12 18:11:16 +05:30
Aram Drevekenin
21901c6e79
docs(changelog): kill sessions commands 2021-10-11 16:59:14 +02:00
Jae-Heon Ji
0ca5c18729
feat(cli): add kill-session command (#745)
* feat: add kill-session command

* style: apply formatting rules

* feat: add new instruction for kill-session

* feat: update feedback of kill-session

* separation of command `kill-session` and `kill-all-sessions` function.
* Add information to various situations
* Add a question (yes or no) when executing the `kill-all-sessions`
  command.

* chore: adjust clippy warning

* fix warning wording

* make rustfmt happy

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2021-10-11 16:57:56 +02:00
Aram Drevekenin
8415004834
docs(changelog): update screen/tab client refactor 2021-10-07 15:26:24 +02:00
Aram Drevekenin
f2401d0b25
refactor(clients): support multiple clients in tab/screen rendering infra (#770) 2021-10-07 15:22:20 +02:00
Aram Drevekenin
24154e40e0
docs(changelog): fullscreen fix 2021-10-07 13:43:19 +02:00
Thomas Linford
04fb9de8fa
make sure tabs are updated when closing panes (#757)
* call update_tabs on closing panes

* screen: avoid explit render after update_tabs

update_tabs causes a render anyway, by updating plugins, and after that
a render is requested.
2021-10-07 13:41:06 +02:00
a-kenji
4ca8a2b327 docs(changelog): add options to default config file 2021-10-05 20:09:19 +02:00
a-kenji
46a9ead668
add(config): add information to the config file (#766)
- add information to configuration directly to the config file
2021-10-05 20:08:00 +02:00
a-kenji
aa838c3339 docs(changelog): switch setup order 2021-10-05 13:44:43 +02:00
a-kenji
0ca28486a5
fix(setup): switch setup order (#765)
- commands that don't use the config file now wont throw an error on
  malformed config files
2021-10-05 13:43:05 +02:00
a-kenji
f616af362c docs(changelog): treat empty config files as valid
- treat empty config files as valid empty yaml files
2021-10-01 22:06:04 +02:00
a-kenji
d667dc2a87
feat(config): Allow empty config files (#720)
Fix #714

Allow empty `config` and `layout` files

- Currently empty files are parsed as yaml documents, since they
  are empty they are invalid yaml files and a deseralization error would
  follow.

  Now we ignore the incorrect yaml on an empty document and treat it as
  an empty yaml document.

  Eg:
  ```
  ```
  and
  ```
  ---
  ```

  Are now treated equally.

Alternative: Keep treating the files as `yaml` documents.
2021-10-01 21:49:47 +02:00
Kunal Mohan
ee7b4a85b0 docs(changelog): fix scroll buffer overwrite when scrolled up 2021-10-01 22:30:00 +05:30
Kunal Mohan
3c05f26802
Fix(scroll): Prevent scroll buffer overwrite (#655)
* fix #306: Buffer new vte events when pane is scrolled up

* Exit scroll mode after pressing [Enter] once

* clear scroll of active pane when changing from scroll mode to normal or locked mode

* Increase render interval
2021-10-01 22:20:13 +05:30
Aram Drevekenin
79fa3594e3 chore(version): bump development version 2021-09-30 11:39:04 +02:00
Aram Drevekenin
4b94949b5a chore(release): v0.18.1 2021-09-30 11:14:41 +02:00
Aram Drevekenin
3df362d046 chore(version): bump development version 2021-09-30 11:13:33 +02:00
Aram Drevekenin
ce2957cb37 docs(changelog): update strider hotfix 2021-09-30 10:50:15 +02:00
Aram Drevekenin
af62afec9c
fix(strider): do not descend into host folder (#753) 2021-09-30 10:48:40 +02:00
Aram Drevekenin
d001dea238 docs(changelog): mouse selection hotfix 2021-09-30 10:23:31 +02:00
Aram Drevekenin
d7e4ec65db
hotfix(stdin): poll for mouse hold in the stdin thread (#752)
* hotfix(stdin): poll for mouse hold in the stdin thread

* add missing dont panic

* style(fmt): make rustfmt happy
2021-09-30 10:25:48 +02:00
a-kenji
f74af9c7bf
fix(makefile): update update-default-config (#751)
- switch the `update-default-config` task to be prior to commiting
  changes
2021-09-30 09:30:59 +02:00
a-kenji
7ab0e39931
fix(makefile): build-plugins on building dev-dir (#750)
- add building plugins `build-plugins` as a dependency for the task
  `build-dev-data-dir`
2021-09-30 09:15:47 +02:00
Aram Drevekenin
a232a8c39d
docs(contributing): clean up language 2021-09-29 16:17:06 +02:00
Aram Drevekenin
1cc12a180e
docs(readme): fix email link 2021-09-29 16:14:02 +02:00
Aram Drevekenin
7294f7a989
docs(readme): clean up language 2021-09-29 16:12:56 +02:00
Aram Drevekenin
8d72013d4d chore(version): bump development version 2021-09-29 15:23:22 +02:00
Aram Drevekenin
848207ca24 fix(e2e): new fullscreen snapshot 2021-09-29 15:13:19 +02:00
Aram Drevekenin
50452b53cb chore(release): v0.18.0 2021-09-29 14:48:24 +02:00
Aram Drevekenin
cff3098f12
docs(changelog): viewport scrollback fix 2021-09-28 16:45:17 +02:00
Aram Drevekenin
fb8e44b8a8
fix(compatibility): scroll lines into scrollback when clearing screen (#747)
* fix(compatibility): scroll lines into scrollback when clearing screen

* fix(tests): silently fail on channel close error
2021-09-28 16:44:26 +02:00
Aram Drevekenin
865209c18b
docs(changelog): progress bar fix 2021-09-28 15:42:32 +02:00
Aram Drevekenin
8b3287c452
fix(compatibility): handle cursor movements outside scroll region (#746)
* fix(compatibility): handle cursor movements outside scroll region

* style(fmt): make clippy happy
2021-09-28 15:41:32 +02:00
Aram Drevekenin
9227ff0981
docs(changelog): fullscreen message 2021-09-27 12:08:59 +02:00
Kaito Akita
4632e90b73
feat(ui): The status bar indicates that the panes are full screen and how many hidden panes are (#450)
* fix(ui): offset content after viewport construction

* Added the feature to display fullscreen information on the second line of the status-bar.

* fix(strider): update host mount-point

* fix(plugin): create missing data directories as needed

* feat(layout): specify only tab name in `tabs` section (#722)

Allow specifying only the tab name in the `tabs` section

- For example this is now possible:
```
tabs:
  - name: first
    parts:
      - direction: Vertical
      - direction: Vertical
  - name: second
  - name: third
```
  For that the tab section defaults the direction to
  `direction::Horizontal`

- Adds an error upon specifying a tab name inside the `parts` section
  of the tab-layout

* docs(changelog): Solely name tab in `tabs` section

* feature(release): Copy default config to the examples folder on release (#736)

fixes #733

* docs(changelog): Copy example config on release

* Update default config (#737)

* feat(plugin): add manifest to allow for plugin configuration (#660)

* feat(plugins-manifest): Add a plugins manifest to allow for more configuration of plugins

* refactor(plugins-manifest): Better storage of plugin metadata in wasm_vm

* fix(plugins-manifest): Inherit permissions from run configuration

* refactor(plugins-manifest): Rename things for more clarity

- The Plugins/Plugin structs had "Config" appended to them to clarify
  that they're metadata about plugins, and not the plugins themselves.

- The PluginType::OncePerPane variant was renamed to be just
  PluginType::Pane, and the documentation clarified to explain what it
  is.

- The "service" nomenclature was completely removed in favor of
  "headless".

* refactor(plugins-manifest): Move security warning into start plugin

* refactor(plugins-manifest): Remove hack in favor of standard method

* refactor(plugins-manifest): Change display of plugin location

The only time that a plugin location is displayed in Zellij is the
border of the pane. Having `zellij:strider` display instead of just
`strider` was a little annoying, so we're stripping out the scheme
information from a locations display.

* refactor(plugins-manifest): Add a little more documentation

* fix(plugins-manifest): Formatting

Co-authored-by: Jesse Tuchsen <not@disclosing>

* chore(docs): update changelog

* feat(sessions): mirrored sessions (#740)

* feat(sessions): mirrored sessions

* fix(tests): input units

* style(fmt): make rustfmt happy

* fix(tests): make mirrored sessions e2e test more robust

* refactor(sessions): remove force attach

* style(fmt): rustfmtify

* docs(changelog): update change

* fix(e2e): retry on all errors

Co-authored-by: Brooks J Rady <b.j.rady@gmail.com>
Co-authored-by: a-kenji <aks.kenji@protonmail.com>
Co-authored-by: spacemaison <tuchsen@protonmail.com>
Co-authored-by: Jesse Tuchsen <not@disclosing>
Co-authored-by: Aram Drevekenin <aram@poor.dev>
2021-09-27 12:07:28 +02:00
Aram Drevekenin
5c54bf18c2
feat(sessions): mirrored sessions (#740)
* feat(sessions): mirrored sessions

* fix(tests): input units

* style(fmt): make rustfmt happy

* fix(tests): make mirrored sessions e2e test more robust

* refactor(sessions): remove force attach

* style(fmt): rustfmtify

* docs(changelog): update change

* fix(e2e): retry on all errors
2021-09-27 11:29:13 +02:00
Brooks Rady
c93a4f1f67
chore(docs): update changelog 2021-09-22 18:38:31 +01:00
spacemaison
c9372212f6
feat(plugin): add manifest to allow for plugin configuration (#660)
* feat(plugins-manifest): Add a plugins manifest to allow for more configuration of plugins

* refactor(plugins-manifest): Better storage of plugin metadata in wasm_vm

* fix(plugins-manifest): Inherit permissions from run configuration

* refactor(plugins-manifest): Rename things for more clarity

- The Plugins/Plugin structs had "Config" appended to them to clarify
  that they're metadata about plugins, and not the plugins themselves.

- The PluginType::OncePerPane variant was renamed to be just
  PluginType::Pane, and the documentation clarified to explain what it
  is.

- The "service" nomenclature was completely removed in favor of
  "headless".

* refactor(plugins-manifest): Move security warning into start plugin

* refactor(plugins-manifest): Remove hack in favor of standard method

* refactor(plugins-manifest): Change display of plugin location

The only time that a plugin location is displayed in Zellij is the
border of the pane. Having `zellij:strider` display instead of just
`strider` was a little annoying, so we're stripping out the scheme
information from a locations display.

* refactor(plugins-manifest): Add a little more documentation

* fix(plugins-manifest): Formatting

Co-authored-by: Jesse Tuchsen <not@disclosing>
2021-09-22 18:13:21 +01:00
a-kenji
c39f021810
Update default config (#737) 2021-09-21 18:04:04 +02:00
a-kenji
852f363b11 docs(changelog): Copy example config on release 2021-09-21 17:17:27 +02:00
a-kenji
8cf93d8e81
feature(release): Copy default config to the examples folder on release (#736)
fixes #733
2021-09-21 17:16:41 +02:00