* default layouts won't be installed by anymore,
instead they will be directly loaded
* `layout-dir` is now a subdirectory of the
`config-dir` by default, instead of the `data-dir`
POSSIBLE BREAKING CHANGE:
In case of having custom layouts in the previous
`layout-dir` one can switch either the layouts to
the new dir, or set the `layout-dir` to be the current
`layout-dir`
* it is possible to change the location of the `layout-dir`:
- `zellij options --layout-dir [LAYOUR_DIR]`
- `layout_dir: [LAYOUT_DIR]`
New behavior for h and l, will change tabs if there are no available
panes in the direction.
cargo clippy
Ensuring atomicity for the MoveFocusOrTab
- Blocking the input thread for the action MoveFocusOrTab
- Using "unreachable" macro in match arm to make it clear that the
directions Up and Down should not be used with the action MoveFocusOrTab
Adding tests
* Moving the sync command to the Tab mode
* Fixing bug related to plugin panes and sync mode
When sync mode was enabled the input from a plugin pane was being
incorrectly ignored.
* Configuration is now handled in this order:
--config flag
ZELLIJ_CONFIG_FILE env
get_default_config_dir() (directories-next)
HOME/.config/zellij (for mac convenience)
SYSTEM_DEFAULT_CONFIG_DIR (for distributions to specify sensible
defaults ontop of zellij)
from assets
* Fix default.yaml file
* Move default.yaml file to assets directory
This changes the `config` subcommand to a config flag.
Add option subcommand for now, for the clearing of default path.
Add `ZELLIJ_CONFIG` environment variable.
The configuration locations are now as follows:
* `--config` flag
* `ZELLIJ_CONFIG` environment variable
* default config location
in that order.
* send all tabs in vec
* works but no input filtering
* add event types
* add event handler for tab events
* fmt fixups
* update tab name in place, and escape rename works
* rename handle_tab_event handle_tab_rename_keypress
* handle empty new_name when renaming
* fix(tabs): pad active tab name too
* fix(tabs): report proper length
* fix(tabs): always render active tab
* style(fmt): rustfmt
Co-authored-by: Aram Drevekenin <aram@poor.dev>
* added some comments in the input module
* InputHandler now has InputState instead of separate InputMode and permanent bool
* keybinds are now associated with a Vec<Action> instead of a single Action
* removing "persistent" modes alltogether to reimplement the feature, help bar broken
* locked command mode by default, fixes#161, help bar still broken
* status bar fixed, still a few improvements/bugs to go
* better shortcut help bar contents
* fixed last bits and i think we are good
* modified tests according to new controls, not working
* Revert "modified tests according to new controls, not working"
This reverts commit f2d9421ff0.
* basic.rs tests now pass, not the rest
* close_pane.rs tests pass, but very slowly?
* compatibility.rs tests pass, very slowly as well
* {layout, {move_focus_*}}.rs all working mildly slowly
* {resize_*}.rs should all work but very slowly and funky, see PR comments
* {tabs,toggle_fullscreen}.rs pass. Test performance issue yet to be fixed
* tests now work, with a hack :| ready for merge
* rustfmt + deleted references to InputState and mode persistency