Commit graph

900 commits

Author SHA1 Message Date
Aram Drevekenin
226f5dc854
docs(changelog): theme fixes 2025-04-30 15:00:11 +02:00
Aram Drevekenin
717e54e0df
docs(changelog): multiple select 2025-04-29 20:53:06 +02:00
Aram Drevekenin
20838a4114 chore(release): v0.42.2 2025-04-15 09:13:16 +02:00
Aram Drevekenin
70fd08a148
docs(changelog): deps upgrade 2025-04-08 09:33:40 +02:00
Aram Drevekenin
f3351f4f75
performance(render): improve rendering performance by consolidating renders and introducing repaint_delay (#4100)
* initial draft

* style(comment): add explanation to async render

* remove timeouts from terminal_bytes

* some cleanups

* cleanups

* chore(docs): update pr
2025-03-24 16:48:39 +01:00
har7an
6be8c495bc
build: Don't re-export foreign crates in utils (#4087)
* build(utils): Don't use reexported dependency

for internal code, but use the dependency directly.

* build(client): Don't use re-exports from `utils`

but turn `zellij-utils` dependencies into shared workspace dependencies
instead and specify those in `Cargo.toml` explicitly. This gives a much
better overview of what component in zellij uses which crates. The
previous approach hides a lot of this information since it looks like
crates are used in a single place where this isn't actually true.

* deps(tile): Don't use re-exports from zellij-utils.

* build(zellij): Don't use re-exports from zellij-utils.

* build(server): Don't use re-exports from zellij-utils.

* build(utils): Don't re-export foreign crates.

* docs: Update Changelog with PR #4087.

* style: Apply rustfmt.

* style: Apply rustfmt.

* build(e2e): Don't use re-export from zellij-utils.

* test: Restore e2e tests.

* style: Apply more formatting.
2025-03-23 10:03:42 +00:00
har7an
a2ae82259c
build: Don't use default features (#4086)
* chore: Cut down dependency features

and reduce the impact of future changes to crate `default-feature`
changes. Also reduce a few transient dependencies which were previously
pulled in by crate features we aren't using.

* deps(utils): Remove `once_cell` dependency.

* deps: Remove more dependency features.

* deps: Remove remaining default features.

* docs: Update Changelog with PR #4086.

* style: Apply rustfmt.
2025-03-22 13:40:37 +00:00
har7an
25e5f551c0
chore: Introduce workspace dependencies (#4085)
* cargo: Introduce workspace dependencies

and deduplicate dependency entries across all non-plugin workspace
members. In the future this hopefully makes dependency upgrade easier
since shared dependencies need only be touched in one location.

* docs: Update CHANGELOG with PR #4085.
2025-03-22 12:57:32 +00:00
Aram Drevekenin
503e20132a
refactor(terminal): log scroll region as tuple rather than Option<tuple> (#4082)
* initial go over

* do not pad scroll region by default

* some cleanups

* moar cleanups

* style(fmt): rustfmt

* docs(changelog): add PR
2025-03-22 01:57:17 +01:00
Aram Drevekenin
a1693ab2a8 chore(release): v0.42.1 2025-03-21 09:47:15 +01:00
Aram Drevekenin
ee10909b93
docs(changelog): windows terminal fix 2025-03-21 09:37:52 +01:00
Aram Drevekenin
cad0888920 chore(release): v0.42.0 2025-03-17 09:06:01 +01:00
har7an
ba745cd700
fix(plugins): styling in the "about" plugin (#4062)
* fix(about): Don't repeat item number.

* fix(about): Color entire key sequence.

* CHANGELOG: Add MR #4062.
2025-03-16 16:33:10 +00:00
har7an
502af243e0
Fix compiler warnings (#4053)
* chore(cargo): Update dependencies

for xtask subcommand to remove warnings about unknown compiler
attributes.

* deps(xtask): Remove `lazy_static`

as dependency, since the code we need can now be expressed using rusts
`std` builtin types.

* fix(xtask): Hide deprecated args

so the compiler doesn't complain about dead code any more.

* fix(xtask): Remove needless borrow.

* fix: Remove dead code

across the codebase, as discovered by the rust compiler.

* fix(server): Log previously ignored errors.

* fix(xtask): Remove needless `format!` calls.

* fix(xtask): Remove superfluous return statement.

* fix(client): Remove unused enum variant

from `ClientInstruction` and all code attached to it.

* fix(server): Restore functions needed in tests.

* chore: Apply rustfmt.

* fix(server): Add missing code.

* fix: Remove leftover warnings.

* CHANGELOG: Add MR #4026.

* fix(xtask): Pin `xshell` to version 0.2.2

because release 0.2.3 changed the way stdin is handled, breaking
interactive command invocations (such as we use).
2025-03-10 16:50:20 +00:00
Aram Drevekenin
d280d0053c
docs(changelog): update 2 recent PRs 2025-03-10 17:23:48 +01:00
Aram Drevekenin
9f0056335d
docs(changelog): add 3 recent PRs 2025-03-06 10:17:22 +01:00
Aram Drevekenin
3e694d2e49
fix(serialization): stacked panes fixes (#4041)
* fix(serialization): properly handle multiple stacked panes in the same logical node

* fix(layouts): properly handle stacked panes in new layouts

* fix(layouts): properly serialize stacked panes into layouts

* style(fmt): rustfmt

* docs(changelog): update pr
2025-03-05 18:42:31 +01:00
Aram Drevekenin
489534f29d
fix(panes): multiplayer stack issues (#4038)
* fix(panes): interactions between multiplayer and stacked panes

* remove extraneous focus

* style(fmt): rustfmt

* docs(changelog): update pr
2025-03-03 17:11:35 +01:00
Aram Drevekenin
f096dc7b88
fix(panes): when focusing pane off the tab edge, break ties with active_at instead of y (#4037)
* fix(panes): when focusing pane off the tab edge, break ties with active_at instead of y

* docs(changelog): update pr
2025-03-03 13:45:38 +01:00
har7an
736d43b138
fix(toolchain): Unbreak client startup
This reverts commit 9f900a7325.
2025-03-03 09:26:58 +00:00
Aram Drevekenin
b7cc3f3a62
fix(panes): various fixes for rendering stacked panes without pane frames (#4035)
* initial work

* fix rendering issues with stacked panes without pane frames

* make mouse clicking work

* test: rendering stacked panes without frames

* style(fmt): rustfmt

* docs(changelog): update pr
2025-03-02 13:18:12 +01:00
har7an
9f900a7325
Fix compiler warnings (#4026)
* chore(cargo): Update dependencies

for xtask subcommand to remove warnings about unknown compiler
attributes.

* deps(xtask): Remove `lazy_static`

as dependency, since the code we need can now be expressed using rusts
`std` builtin types.

* fix(xtask): Hide deprecated args

so the compiler doesn't complain about dead code any more.

* fix(xtask): Remove needless borrow.

* fix: Remove dead code

across the codebase, as discovered by the rust compiler.

* fix(server): Log previously ignored errors.

* fix(xtask): Remove needless `format!` calls.

* fix(xtask): Remove superfluous return statement.

* fix(client): Remove unused enum variant

from `ClientInstruction` and all code attached to it.

* fix(server): Restore functions needed in tests.

* chore: Apply rustfmt.

* fix(server): Add missing code.

* fix: Remove leftover warnings.

* CHANGELOG: Add MR #4026.
2025-02-28 14:09:35 +00:00
Aram Drevekenin
50b451add2
docs(changelog): verbose about error 2025-02-24 16:09:33 +01:00
Aram Drevekenin
d1d8ab6fe3
docs(changelog): sixel fix 2025-02-24 14:58:32 +01:00
Aram Drevekenin
332c3e514c
docs(changelog): deps update 2025-02-24 11:40:25 +01:00
Aram Drevekenin
bdfcfb0abd
fix(stacked-panes): better handling of adding new panes to a stack (#4016)
* fix(stacked-panes): better handling of adding new panes to a stack

* style(fmt): rustfmt

* docs(changelog): document
2025-02-22 12:45:30 +01:00
Aram Drevekenin
04be2646ed
feat(plugins): add tab history to the SessionUpdate Event (#4014)
* feat(plugins): add tab-history to the SessionInfo

* update snapshots

* style(fmt): rustfmt

* update changelog
2025-02-21 19:34:38 +01:00
Aram Drevekenin
834693f0c2
docs(changelog): pin plugin pane fix 2025-02-21 13:06:36 +01:00
Aram Drevekenin
eb78beb359
docs(changelog): recent fixes 2025-02-21 12:18:00 +01:00
Aram Drevekenin
6f8e9cc612
docs(changelog): chrono upgrade 2025-02-20 18:31:12 +01:00
Aram Drevekenin
e9dc33d88d
docs(changelog): clipboard message fixes 2025-02-20 17:15:29 +01:00
Aram Drevekenin
9edad32ee1
docs(changelog): filepicker improvements 2025-02-20 10:04:16 +01:00
Aram Drevekenin
6c39e2ff0f
docs(changelog): resize shortcuts 2025-02-18 11:13:03 +01:00
Aram Drevekenin
5b6a0e6dc3
docs(changelog): convert old themes 2025-02-17 17:31:17 +01:00
Aram Drevekenin
1593e5c213
docs(changelog): mouse double click selection 2025-02-16 17:56:34 +01:00
Aram Drevekenin
6184c17511
docs(changelog): tips on startup 2025-02-13 17:13:29 +01:00
Aram Drevekenin
e11daf248f
docs(changelog): about plugin 2025-02-10 16:06:27 +01:00
Aram Drevekenin
fc847b725c
docs(changelog): new theme definition spec 2025-02-07 12:00:34 +01:00
Aram Drevekenin
247cde6857
docs(changelog): logical position fix 2025-02-03 11:05:16 +01:00
Aram Drevekenin
a853a96d89
docs(changelog): floating pane coordinate fix 2025-02-03 09:04:41 +01:00
Aram Drevekenin
3a053de2d0
docs(changelog): plugin editor and shell info 2025-02-02 16:30:56 +01:00
Aram Drevekenin
1dd685062d
docs(changelog): plugin apis to open panes near plugin 2025-02-01 14:05:16 +01:00
Aram Drevekenin
ade1145559
docs(changelog): plugins pasted text event 2025-01-31 16:50:45 +01:00
Aram Drevekenin
c0160cf709
docs(changelog): floating pane coordinate chagne API 2025-01-30 17:05:54 +01:00
Aram Drevekenin
382a0757e2
docs(changelog): stacked resize 2025-01-28 21:25:11 +01:00
har7an
10df29ed11
Update rust toolchain to 1.84 (#3945)
* chore: Remove deprecated `Makefile.toml`

which really should have been deleted as part of #2012. This hasn't been
updated for more than 2 years now and I don't expect anyone to still use
this. Our build process is now managed by `cargo xtask`.

* Cargo: Update the Rust toolchain to 1.84.0

from 1.75.0 which has been deprecated for a while now. Along with this
change, the `wasm32-wasi` target is no longer available (see subsequent
commit for additional info).

* chore: Rename `wasm32-wasi` to `wasm32-wasip1`

as required by the Rust project. The `wasm32-wasi` target name has been
retired and will likely be reused at a later time, although to express
an entirely different target (i.e. implementation of the WASI standard).

For additional information, see:

  - https://blog.rust-lang.org/2024/04/09/updates-to-rusts-wasi-targets.html
  - https://blog.rust-lang.org/2024/09/05/Rust-1.81.0.html#wasi-01-target-naming-changed

* chore: Drop `rust-analysis` component

from the `rust-toolchain.toml` definition. This was added way back in
2021 via 8688569a, and while I'm not sure what it expressed back then,
nowadays it refers to [Metadata for RLS][1], which apparently was an
early language server implementation and has long since been replaced by
*rust-analyzer*.

We don't want to propose or enforce the use of a specific toolchain and
in any case, setting this up properly is the job of a developers
IDE/Editor.

[1]:
1f06e3b31d/doc/user-guide/src/concepts/components.md (previous-components)

* chore: Adhere to type rename

from `std::panic::PanicInfo` to `std::panic::PanicHookInfo`, which was
introduced in Rust 1.81.0. For additional information, see:

- https://releases.rs/docs/1.81.0/#compatibility-notes
- https://github.com/rust-lang/rust/pull/115974/

* fix(utils/data): Adhere to expected case

in match arm patterns, since the expression being matched against has
been modified using `to_ascii_lowercase`. Hence, we cannot have upper
case ASCII chars in the expressions (these arms were previously no-ops).

* fix(utils): Derive `Hash` manually

in `input/layout` since the `PartialEq` trait is also implemented
manually. Previously the `Hash` impl wasn't consistent with the `Eq`
impl, which can have weird effects when using these types in e.g.
`HashMap`s or similar types. For additional information, see:

  - https://rust-lang.github.io/rust-clippy/master/index.html#derived_hash_with_manual_eq
  - https://doc.rust-lang.org/stable/std/hash/trait.Hash.html#hash-and-eq

* fix(utils): Derive `Hash` manually

in `pane_size` since the `PartialEq` trait is also implemented manually.
Previously the `Hash` impl wasn't consistent with the `Eq` impl, which
can have weird effects when using these types in e.g. `HashMap`s or
similar types. For additional information, see:

  - https://rust-lang.github.io/rust-clippy/master/index.html#derived_hash_with_manual_eq
  - https://doc.rust-lang.org/stable/std/hash/trait.Hash.html#hash-and-eq

* fix(server): Don't redeclare variables

with their same names. Latest rust toolchains reject this code.

* chore(actions): Use non-archived toolchain setup

for the Rust toolchain. The previously used action has been archived
over a year ago. The new one should also support reading our
`rust-toolchain.toml`, so we no longer have to keep track of the
toolchain in multiple places.

* chore(actions): Add some space to YAML files

to make them better visually parsable.

* ci: Remove toolchain update Job

since as far as I can tell, this isn't used any more.

* ci: Fix invalid actions specification

and only request an action without running other code.

* CHANGELOG: Add PR #3945.
2025-01-25 17:43:49 +00:00
Aram Drevekenin
fe792643f7
docs(changelog): floating pane fixes 2025-01-17 17:52:44 +01:00
Aram Drevekenin
9d3b4c5391
docs(changelog): include PR link 2025-01-17 11:34:40 +01:00
Aram Drevekenin
125ebe9ca3
docs(changelog): CSI= fix 2025-01-17 11:34:07 +01:00
Aram Drevekenin
9690783907
docs(changelog): mouse any event tracking 2025-01-14 15:43:15 +01:00