Commit Graph

33 Commits

Author SHA1 Message Date
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
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
Aram Drevekenin
697536da26 chore(release): v0.12.1 2021-05-28 14:07:04 +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
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
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
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
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
Brooks J Rady
f4f6e3c66b Start working on layout patching 2021-03-30 12:49:42 +01:00
Brooks J Rady
a20e49d77e infra(crates.io): readd wasm assets to the repo 2021-02-26 09:09:54 +00:00
Brooks J Rady
3bc9fdbc0c build(simplify and fix build system, removing the binary assets) 2021-02-23 16:13:41 +00:00
Brooks J Rady
5a3caba55f Install assets on first run 2021-02-16 17:23:16 +00:00
categorille
c74e2ef273
feat(input): new keybindings and persistent mode as default (#181)
* 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
2021-02-12 14:55:22 +01:00
Aram Drevekenin
695a75c363
feat(strider): add vim h key (#182) 2021-02-12 11:44:39 +01:00
Aram Drevekenin
ed22071381
feat(strider): add vim keys (#180)
* feat(strider): add vim keys

* style(fmt): rustfmt
2021-02-11 14:51:46 +01:00
henil
ae37edd4f1 Update plugins 2021-02-10 16:33:04 +05:30
Brooks J Rady
ec06f0e5e8 Got the build to a functional state 2021-02-09 23:30:07 +00:00
Brooks J Rady
9791970856 Well, it turns out that I spent 4 hours on something impossible... 2021-02-09 22:19:34 +00:00
Brooks J Rady
fd001860f4 Push the mosaic folder down a directory 2021-02-09 17:27:36 +00:00
Aram Drevekenin
14783c2b2c
feat(ui): new keybindings and status bar (#160)
* work

* feat(statusbar): new design and keybindings

* fix(ipc): add missing const

* style(fmt): rustfmt

* style(input): remove accidental comment
2021-02-09 17:36:37 +01:00
Aram Drevekenin
dd56deb2d2
feat(statusbar): max status bar height (#156) 2021-01-28 18:29:44 +01:00
Brooks J Rady
69c19b90d1 Patched a width miscalculation in the status bar plugin 2021-01-12 16:01:49 +00:00
Brooks J Rady
209cce96a5 Finish implementing default layouts 2021-01-12 04:34:19 +00:00
Brooks J Rady
555f9af37a Install default layouts and plugins at build-time 2021-01-11 23:00:19 +00:00