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.
* add(option): `default_layout`
Add `option` `default_layout` / `default-layout`,
that allows specifying a different layout, that should
be loaded on start.
Eg:
```
default_layout: compact
```
* add(manpage): `default_layout`
* initial commit for opening the current buffer in an editor
* fix(editor): take hidden panes into consideration when manipulating tiled grid
* when closing an edit buffer, take the geometry of the replaced buffer from the closed buffer
* if the floating panels are displayed, don't add to hidden panels the current buffer
* strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels
* Revert "strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels"
This reverts commit c52a203a20.
* remove the floating panes by moving them to the tiled_panes in hidden_panels
* feat(edit): open editor to correct line and don't crash when none is set
* formatting
* feat(edit): use suppressed panes
* style(fmt): rustfmt and logs
* style(fmt): clean up unused code
* test(editor): integration test for suppressing/closing suppressed pane
* test(e2e): editor e2e test
* style(fmt): rustfmt
* feat(edit): update ui and setup
* style(fmt): rustfmt
* feat(config): allow configuring scrollback_editor explicitly
* style(fmt): rustfmt
* chore(repo): build after merging
Co-authored-by: Aram Drevekenin <aram@poor.dev>
* Fix possible lockup in the clients panic handler
When the pty the client was running in disappears, reading from stdin
causes a panic, which triggers the custom panic handler. This handler
attempts to print a backtrace to the terminal and tries to unset the raw
mode for that. Since the pty has already disappeared, the tcsetattr call
fails and causes a second panic, which locks everything up.
This commit fixes this by returning an Result from the unset_raw_mode
function, allowing the calling panic handler to handle any error
gracefully.
* Log any client panics to file
Since we are now aware of the fact that panics may happen / are handled
after the pty has disappeared, logging them to file seems useful: there
is no other other place to show them to the user.
* fix tests and improve function return type
* Updated names and dialoguer crates dependencies
I tried to build and run zellij with the updated dependencies and they seem to show no issues.
I need this in order to package zellij for Fedora.
* Updated cargo.lock
* fix: use suggested option for `names` crate
https://github.com/fnichol/names/blob/main/CHANGELOG.md#0120---2021-09-12
Co-authored-by: a-kenji <aks.kenji@protonmail.com>
* build: strip debug symbols
Stripping the symbols for the release build drops binary size
currently by 20% and the plugin binaries by up to 50%.
Alternative: Keep the debug symbols also on releases
* bump(rust): `1.58.0` -> `1.59.0`
* chore: bump MSRV `1.56` -> `1.59`
Needed for cargos strip-debug feature