Commit Graph

67 Commits

Author SHA1 Message Date
Aram Drevekenin
e993a23a85 chore(release): v0.16.0 2021-08-31 10:00:26 +02:00
Brooks Rady
a51f500c17
fix(ui): change resize binding to Ctrl-n
* fix(ui): change resize binding to Ctrl-n

* Fix tests?

* Actually update the keybind in tests

* Cowardly refuse to fix the E2E testing issue
2021-08-30 18:02:14 +01:00
Brooks Rady
76a5bc8a05
feat(ui): overhauled resize and layout systems
* refactor(panes): move to parametric pane sizes

* Fixed the simpler errors by casting to usize

* The least I can do is pass the formatting check...

* Move to stable toolchain

* Well, it compiles?

* And now it doesn't! ;)

* Baseline functionality with the new Dimension type

* Working POC for percent-based resizing

* REVERT THIS COMMIT – DELETES TESTS

* Perfected the discrete resize algorithm

* Fixed fixed-size panes

* Basic bidirectional resize

* feat(resize): finalised parametric resize algorithm

* Reduce the logging level a bit

* Fixed nested layouts using percents

* Bug squishing for implicit sizing

* Here is a funky (read: rubbish) rounding approach

* And now it's gone again!

* Improve discretisation algorithm to fix rounding errors

* Fix the last layout bug (maybe?)

* Mixed explicit and implied percents work now

* Let's pretend that didn't happen...

* Make things a bit less crashy

* Crash slightly more for now (to find bugs)

* Manaually splitting of panes works now

* Start moving to percent-based resizes

* Everything but fullscreen seems to be working

* Fix compilatation errors

* Culled a massive amount of border code

* Why not pause to please rustfmt?

* Turns out I was still missing a few tests...

* Bringing back even more tests!

* Fix tests and pane boarders

* Fix the resize system without gaps

* Fix content offset

* Fixed a bug with pane closing

* Add a hack to fix setting of the viewport

* Fix toggling between shared borders and frames

* fix(tests): make e2e properly use PaneGeom

* style(fmt): make rustfmt happy

* Revert unintentional rounding of borders

* Purge some old borderless stuff

* Fix busted tab-bar shrinking

* Update E2E tests

* Finish implementing fullscreen!

* Don't crash anymore?

* Fix (almost) all tests

* Fix a lack of tab-stops

* All tests passing

* I really can't be bothered to debug a CI issue

* Tie up loose ends

* Knock out some lingering FIXMEs

* Continue to clean things up

* Change some naming and address FIXMEs

* Cull more code + FIXMEs

* Refactor of the resize system + polish

* Only draw frames when absolutely necessary

* Fix the tab-bar crash

* Fix rendering of boarders on reattach

* Fix resizing at small pane sizes

* Deduplicate code in the layout system

* Update tab-bar WASM

* Fixed the pinching of panes during resize

* Unexpose needlessly public type

* Add back a lost test

* Re-add tab tests and get them to compile

* All tabs need layouts

* Start fixing tests + bug in main

* Stabilize the resize algorithm rounding

* All tests from main are now passing

* Cull more dead code
2021-08-28 17:46:24 +01:00
Aram Drevekenin
2e0e22cdb4 chore(release): v0.14.0 2021-07-05 10:13:46 +02:00
a-kenji
a9088264eb Change layout directory from data to config
* 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]`
2021-06-16 17:09:05 +02:00
Brooks J Rady
0681163f8d chore(release): v0.13.0 2021-06-04 10:13:14 +01:00
a-kenji
197bbafdcc Update plugin assets 2021-06-02 15:36:26 +02:00
a-kenji
a1d84b9fbf Update Plugin Assets 2021-06-02 10:29:43 +02:00
a-kenji
1db63ede28 Add layout to disable the status-bar 2021-05-31 21:49:49 +02:00
Aram Drevekenin
697536da26 chore(release): v0.12.1 2021-05-28 14:07:04 +02:00
a-kenji
4e62b3a1b5 Move config assets to zellij-utils crate
* The assets macro seems to not be able to
read across create boundaries.
Now the assets are included in the crate they are used in.
2021-05-27 13:41:17 +02:00
Kunal Mohan
cb3072066d hotfix(publish): Move install module and asset_map to main zellij package. publish should hopefully work now. 2021-05-27 15:30:14 +05:30
Kunal Mohan
c60abe6ad6 CHange keybind for Session mode and add comments for clarity 2021-05-25 13:11:37 +05:30
Kunal Mohan
ac082a1c93 add keybinds for session mode and detach 2021-05-22 22:19:50 +05:30
Aram Drevekenin
f37018e949 chore(release): v0.11.0 2021-05-15 13:27:40 +02:00
Brooks J Rady
b835594bf2 fix(build): fix an unintuitive operator precedence breaking plugin updating 2021-05-14 11:07:45 +01:00
a-kenji
ad2f932b1a Fix Default Keybind for Tab -> Resize Mode 2021-05-12 16:04:07 +02:00
Dante Pippi
9c09cf1658 New behavior for h and l
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
2021-05-09 17:05:14 -03:00
dantepippi
543b70a2bd
Moving the sync command to the Tab mode (#412)
* 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.
2021-05-07 16:07:23 +02:00
a-kenji
118e5a10cb Fixes Default Keybinds in Resize Mode #440
Closes #440

Changes arrow keybinds from switching focus
to resizing.

Add arrow parity keybinds to scroll and tab modes.
2021-05-03 12:26:30 +02:00
Brooks J Rady
349758fd10 fix(build): just kidding, binary assets still need to be in git 2021-04-29 16:07:02 +01:00
Brooks J Rady
65f15457c1 fix(build): don't store binary assets in git 2021-04-29 15:53:10 +01:00
Dante Pippi
f6df6e9dc8 Defining sync keybind using default.yaml 2021-04-28 11:41:48 -03:00
a-kenji
77e0b5e0d7 Config Loading
* 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
2021-04-27 21:38:26 +02:00
Matthias Beyer
9aca589167 Add subcommand to generate completions
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
2021-04-25 14:33:53 +02:00
a-kenji
2c12e8ff83 Change Config To Flag (#290)
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.
2021-04-21 09:03:46 +02:00
Brooks J Rady
fee999ec40 fix(naming): made plugin terminology more consistent 2021-04-19 23:37:47 +01:00
Brooks J Rady
c4a7566e28 feat(build): update makefile to support ci releasing 2021-04-19 19:22:37 +01:00
Brooks J Rady
4fe100813c fix(crates.io): bump plugin assets 2021-04-14 20:06:42 +01:00
Brooks J Rady
af702b67e6 feat(build): vastly simplify the build system 2021-04-14 19:08:22 +01:00
Brooks J Rady
413a24b77f fix(bug): remove buggy expansion boundaries 2021-04-14 11:01:28 +01:00
Brooks J Rady
0e73227fe2 merge(main): update branch with changes from main 2021-04-13 16:17:40 +01:00
Brooks J Rady
d2a7d100ac docs(build): documented the new build system 2021-04-13 16:06:04 +01:00
Brooks J Rady
dcd03ddc85 First iteration of the new build system is complete 2021-04-13 15:35:37 +01:00
a-kenji
d9a85e977d Readd short option for config 2021-04-04 19:27:28 +02:00
Brooks J Rady
f4f6e3c66b Start working on layout patching 2021-03-30 12:49:42 +01:00
a-kenji
84488a35aa Merge branch 'main' of https://github.com/zellij-org/zellij into config-file 2021-03-26 23:33:36 +01:00
Brooks J Rady
b6f945da35 Wrap up the plugin system refactor, running everything through update() 2021-03-25 17:22:10 +00:00
a-kenji
e64192b42e Add a clean config option
Add a clean config option, which
makes zellij not look for a default
configuration file.
2021-03-17 16:56:02 +01:00
a-kenji
564ded0bb3 Add short --config -c option 2021-03-16 21:22:59 +01:00
Aram Drevekenin
a1fbb26818 fix(layout): add tab bar to strider layout 2021-03-12 10:11:47 +01:00
a-kenji
acc2524105 Merge 'upstream/main' into config-file 2021-03-11 22:43:43 +01:00
Aram Drevekenin
b89823c4bd docs(readme): update demo gif 2021-03-11 16:30:00 +01:00
Aram Drevekenin
8d0ff0fe40
feat(input): new shortcuts and ui (#220)
* feat(statusbar): new shortcuts

* feat(input): new shortcuts and ui

* style(fmt): rustfmt
2021-03-11 16:03:28 +01:00
a-kenji
2b2b7325e7 Poking around 2021-03-11 13:58:58 +01:00
Jonah Caplan
44b0246e91
feat(tabs): add ability to set tab name (#212)
* 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>
2021-03-08 10:06:23 +01:00
a-kenji
c644a1c243 poking 2021-03-05 19:23:06 +01:00
Brooks J Rady
a20e49d77e infra(crates.io): readd wasm assets to the repo 2021-02-26 09:09:54 +00:00
Jonah Caplan
ce54127d7d add basic tab bar #166 2021-02-25 01:44:10 -05:00
Aram Drevekenin
7b69fcb8e0
Make fullscreen panes not override the status bar and strider (#209)
* work

* feat(tab): expansion boundary

* fix(layout): add expansion boundary to default layout

* style(fmt): rustfmt

* style(fmt): remove unnecessary comment
2021-02-24 18:00:00 +01:00