Commit Graph

197 Commits

Author SHA1 Message Date
Aram Drevekenin
7c075ac7e3 chore(version): bump development version 2021-08-31 11:36:09 +02: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
qepasa
f0bc297743
Merge branch 'main' into unified-logging 2021-07-20 22:19:03 -07:00
Brooks J Rady
6a90542ae3 chore(release): bump development version 2021-07-19 20:35:50 +01:00
qepasa
383446d025
Update Cargo.toml 2021-07-09 07:56:20 +02:00
qepasa
45d2992a3f
Merge branch 'main' into unified-logging 2021-07-08 22:55:50 -07:00
Kunal Mohan
82288c6a3d Remove test feature and hacks 2021-07-06 21:32:43 +05:30
Aram Drevekenin
7fe87f59a3 chore(version): bump development version 2021-07-05 11:04:51 +02:00
Paweł Palenica
0c570a52f5 feat: Add logger to Zellij
We add log4rs create for logging across Zellij. Additionally, we capture
`stderr` output from plugins and log it the same log file as other
Zellij logs.
2021-06-29 23:46:00 -07:00
Aram Drevekenin
3313634fe9
Add e2e tests (#582)
* feature(tests): e2e tests

* chore(build): github action

* chore(build): fix workflow

* chore(build): fix workflow

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* work

* working

* working

* working

* bring back the proper errors

* make e2e flow run properly

* style(fmt): make rustfmt happy

* style(fmt): make rustfmt happy

* run on everything just to test the workflow

* bring back running behaviour on workflow
2021-06-21 10:45:18 +02:00
Brooks J Rady
dc44a00699 chore(release): bump development version 2021-06-04 10:28:03 +01:00
Brooks J Rady
a9ce13c1d2 feat(ui): added feature for an experimental resize
The `parametric_resize_beta` feature has been added that enables the new
resize system. This change also introduces some background tweaks that
start laying the groundwork for future resize work without breaking
functionality.
2021-06-03 13:05:52 +01:00
Aram Drevekenin
d54c82420e chore(version): bump development version 2021-05-28 14:35:34 +02:00
Aram Drevekenin
1c69d70082 chore(version): change to patch version 2021-05-28 14:05:52 +02:00
Aram Drevekenin
9bdb40b4c6 chore(version): bump development version 2021-05-27 14:41:33 +02:00
Aram Drevekenin
ecab36703a chore(cargo): lock workspace versions 2021-05-27 14:11:51 +02:00
Kunal Mohan
0621ba8f34 Allow user to specify session name 2021-05-22 22:21:26 +05:30
Kunal Mohan
a351440c99 upgrade termbg and remove build-dependencies 2021-05-19 11:10:21 +05:30
Kunal Mohan
040d10df0f Re-export common dependencies from zellij-utils 2021-05-19 01:35:53 +05:30
Kunal Mohan
2038947a14 Big refactor: separate crates for client, server and utilities 2021-05-16 21:41:56 +05:30
Kunal Mohan
0d792e26f2 Switch to multiprocess model: Not looking good 2021-05-15 22:14:34 +05:30
Aram Drevekenin
97589c6a92 chore(version): bump development version 2021-05-15 13:50:35 +02:00
a-kenji
ba206b1f29 Invert Assets Installation Feature
* changed `enable_automatic_asset_installation` to
`disable_automatic_asset_installation`

This ensures that people by default get the
asset installation and need to opt out at
compile time, rather than opt in.

* removed default features

Not needed anymore.
2021-05-15 12:45:24 +02:00
Aram Drevekenin
791cfd0a6e chore(version): bump development version 2021-05-14 11:01:13 +02:00
Aram Drevekenin
e68504552e hotfix: bump zellij-tile version 2021-05-14 10:39:59 +02:00
a-kenji
4134c952f6 Merge branch 'main' of https://github.com/zellij-org/zellij into set-data-dir 2021-05-12 20:03:04 +02:00
a-kenji
ffd8f17a94 Add Complile Time System Directories
closes #380

* --features disable_automatic_asset_installation

disables automatic installation of the `data_dir`

* a set PREFIX env will use `$PREFIX/zellij` as its `data_dir`
2021-05-12 19:51:29 +02:00
Aram Drevekenin
ce0ca2f997 chore(version): bump development version 2021-05-11 11:45:21 +02:00
Aram Drevekenin
632a7a3209
fix(compatibility): upgrade vte to support csi subparameters (#469)
* fix(compatibility): upgrade vte to support csi subparameters

* style(fmt): rustfmt and clippy
2021-05-07 16:03:45 +02:00
Aram Drevekenin
ad9576dd95 chore(version): bump development version 2021-05-07 14:45:13 +02:00
Kunal Mohan
d5433f8f89
Merge pull request #223 from zellij-org/isolate-pty
Psuedo Client-Server model
2021-05-06 22:11:07 +05:30
a-kenji
bee1082b4a
Merge pull request #455 from Adhalianna/main
Add a manpage to Zellij
2021-05-05 22:22:10 +02:00
NKGoc
0ab7a51d04 simplifications 2021-05-05 12:05:05 +02:00
Brooks J Rady
6e5600efc8 chore(plugin): shuffle helper library names and versions 2021-05-04 23:31:30 +01:00
NKGoc
00d064e349 add manpage to zellij 2021-05-04 20:50:27 +02:00
Kunal Mohan
c1dd2c588e Fix after rebase 2021-05-04 20:48:28 +05:30
Kunal Mohan
d33106431d Fix after rebase 2021-05-04 20:48:17 +05:30
Kunal Mohan
913697b144 Place socket file in runtime directory or cache directory and use names crate for socket file name 2021-05-04 20:48:17 +05:30
Kunal Mohan
1eb732773a use Uuid to generate unique server socket names 2021-05-04 20:48:16 +05:30
Kunal Mohan
b7aa3fc21a Use interprocess crate for IPC 2021-05-04 20:48:16 +05:30
Kunal Mohan
2059d2c6aa Fix after rebase 2021-05-04 20:48:14 +05:30
Kunal Mohan
77682d9ab5 Use ipmpsc crate for IPC 2021-05-04 20:47:49 +05:30
Aram Drevekenin
bea4446586 chore(version): bump development version 2021-05-04 17:17:33 +02:00
Aram Drevekenin
fbe8042695 HOTFIX: allow cargo publish 2021-05-04 16:58:23 +02:00
Aram Drevekenin
1f88b342e2
fix(colors): stabilize colors (#453)
* fix(colors): stabilize colors

* style(fmt): rustfmt
2021-05-04 16:06:55 +02:00
denis
56cf446275 chore: added zellij-tile-extra, moved macros from zellij-tile 2021-05-02 12:57:48 +03:00
denis
452940fb65 Merge branch 'main' into x-colors 2021-05-02 11:59:20 +03:00
Yutaka Kamei
168deabea7
Load config before start()
Previously, a config file was loaded within `start()`, and if the config
file is invalid, Zellij was supposed to show a user what's wrong with
it. However, since `start()` starts setting up its terminal with an
alternative screen buffer, neither standard output nor standard error
could display such an error.

This change intends to address this issue by making Zellij load a config
file before `start()`.

In addition, the patch also includes some refactorings:

* Redefine `from_cli_config` with `TryFrom`, which was introduced in
  Rust 1.34
* Remove conditional declaration `cfg(not(test))` because `start()` now
  receive a `Config` as the third argument
* Introduce [`tempfile`](https://crates.io/crates/tempfile) in order to
  run tests with actual files
* Typo?: "Deserialisation" -> "Deserialization"
2021-05-02 06:18:40 +09:00
denis
eabecde90b chore: painless merge this time 2021-05-01 13:45:01 +03:00
Brooks J Rady
65f15457c1 fix(build): don't store binary assets in git 2021-04-29 15:53:10 +01:00
Aram Drevekenin
28af9f077d chore(version): boost development version to 0.7.0 and update changelog 2021-04-29 16:50:48 +02:00
Brooks J Rady
2814c30272 feat(plugin): added the get_plugin_ids() query function 2021-04-27 14:57:54 +01:00
denis
47a918a53c wip: merge main 2021-04-24 09:18:37 +03:00
Aram Drevekenin
20a6a8e844 chore(version): boost development version to 0.6.0 2021-04-23 11:59:35 +02:00
Aram Drevekenin
f2fa8839d4 chore(version): 0.5.1 2021-04-22 20:59:20 +02:00
denis
ae3537957b wip: new build?" 2021-04-22 12:10:41 +03:00
denis
8d98ca7da0 wip: merge main in 2021-04-22 11:45:29 +03:00
Sebastian Thiel
b3ec1d81dd
Remove build.rs from package, allowing for completions to be excluded too 2021-04-22 09:57:21 +08:00
Sebastian Thiel
e6deacb695
Reduce crate size by 4.8MB using cargo diet, to 77kB
On top of that I verified that `cargo package` is still able to build,
adjusting the includes in the process to assure required assets are
packaged, too.
2021-04-21 09:22:44 +08:00
Brooks J Rady
74cc48fc50 fix(release): beta tag breaks cargo install 2021-04-20 00:27:43 +01:00
Brooks J Rady
3d6312938f chore(release): bump version and add some pre-release info 2021-04-20 00:23:01 +01:00
Brooks J Rady
fee999ec40 fix(naming): made plugin terminology more consistent 2021-04-19 23:37:47 +01:00
Brooks J Rady
03011c1e5a fix(crates.io): fix outdated zellij-tile library 2021-04-14 20:04:02 +01:00
Brooks J Rady
e98dd69a88 chore(crates.io): bump version to publish 2021-04-14 19:20:27 +01:00
Brooks J Rady
a16a8ad6e3 chore(crates.io): bump version to publish 2021-04-13 20:58:23 +01:00
Brooks J Rady
ee70927611 chore(crates.io): bump version to test upload 2021-04-13 18:59:45 +01:00
Brooks J Rady
0e73227fe2 merge(main): update branch with changes from main 2021-04-13 16:17:40 +01:00
denis
7774edd45a wip: need to figure out how to clear lines 2021-04-08 16:29:52 +03:00
Aram Drevekenin
1739f370f9
* fix(ui): react to terminal window size changes (SIGWINCH) (#245)
* fix(ui): react to terminal window size changes (SIGWINCH)

* style(fmt): rustfmt

* style(format): remove some warnings

* style(fmt): rustfmt
2021-04-01 17:38:13 +02:00
Brooks J Rady
ccc34f1fe2 Rudamentary running support implemented 2021-04-01 12:18:05 +01:00
denis
6e276ae386 wip: move Palette out of zellij-tile 2021-03-27 15:30:53 +02:00
denis
b71315b036 wip: latest plugin system merge in 2021-03-27 14:43:16 +02:00
Brooks J Rady
4c662fc6d0 Start porting to cargo-make 2021-03-26 16:01:22 +00:00
Brooks J Rady
c71252f77e Fix some overzealous format!() removals and a stray comment 2021-03-26 13:02:31 +00:00
denis
a35cade8de wip: reading colors from xrdb 2021-03-25 18:05:16 +02:00
Brooks J Rady
f2f7758384 Merge in changes from main and fix clippy lints 2021-03-25 14:24:11 +00:00
Brooks J Rady
ac55e59047 Initial implementation of the update callback + upstream termion 2021-03-23 19:52:59 +00:00
Brooks J Rady
06bce9a1fd Deduplicate the WASM interface structs 2021-03-09 19:39:42 +00:00
denis
1a5d30d17d wip: visually marking the focused pane 2021-03-07 18:39:44 +02:00
Brooks J Rady
b6ce24280f infra(crates.io): clear the correct directory in build.rs 2021-02-26 09:27:59 +00: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
0d20148518 infra(crates.io): allow publishing by including assets from a different path 2021-02-25 23:26:31 +00:00
Brooks J Rady
e2217564c2 infra(crates.io): try to include wasm assets 2021-02-25 23:25:39 +00:00
Brooks J Rady
84d4e5aa38 infra(crates.io): add a script for publishing zellij 2021-02-25 22:42:52 +00:00
Jonah Caplan
ce54127d7d add basic tab bar #166 2021-02-25 01:44:10 -05:00
Aram Drevekenin
58c41c5ada chore(version): 0.1.1 2021-02-17 16:07:38 +01:00
Brooks J Rady
bf623d59fd Add description and license for publishing! 2021-02-16 18:50:22 +00:00
henil
fb701afb0f Use temporary fork of termion for now
Because crates.io require each package in the dependency to be published on
crates.io
2021-02-10 17:26:13 +05:30
henil
bf02a7df29 add version to Cargo.toml 2021-02-10 16:37:19 +05:30
henil
9b3c6863d8 some more files... 2021-02-10 12:23:40 +05:30
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
678a6f877c Work towards a functional build 2021-02-09 19:06:47 +00:00
Brooks J Rady
e81e547364 Moved strider into its own folder 2021-02-09 17:49:37 +00:00
Brooks J Rady
8c4db83dfb Bump dependency version 2021-01-11 21:50:50 +00:00
Brooks J Rady
75136a613d Update deps and add a build script 2021-01-07 11:10:39 +00:00
Brooks J Rady
a57eadee8c Update description 2020-11-17 22:12:07 +00:00
Brooks J Rady
2ecf8bd5db Initial Commit 2020-11-17 22:10:51 +00:00