aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-server/src (follow)
Commit message (Collapse)AuthorAge
...
* fix: update switch to tab bug in multiple users (#959)Jae-Heon Ji2021-12-29
| | | | | * fix: update switch to tab for multiple user * chore: remove unnecessary comments
* fix(clippy): ensure clippy runs on all targets (#972)danieleades2021-12-29
| | | | | | | | | | | * ensure clippy runs on all targets * use 'AtomicBool' instead of 'Mutex<bool>' * remove unused import * remove 'mem::drop' no-ops * remove loop that never loops
* fix(mouse): prevent unhandled mouse events escape to terminal (#976)Thomas Linford2021-12-28
| | | | | | | | | * workaround to not write csi mouse seqs to terminal * tab: copy selection to clipboard only if selecting was initiated with left click * cleanup debug log messages * unset selecting_with_mouse when selection is empty
* fix(attach): make removing clients atomic (#966)Aram Drevekenin2021-12-23
|
* fix(compatibility): handle deleting chars in lines with widechars (#965)Aram Drevekenin2021-12-22
| | | | | * fix(compatibility): handle deleting chars in lines with widechars * style(fmt): make rustfmt happy
* fix(compatibility): handle inserting characters after wide character (#964)Aram Drevekenin2021-12-22
| | | | | * fix(compatibility): handle inserting characters in the middle of a line after a wide character * style(fmt): make rustfmt happy
* feat(collaboration): implement multiple users (#957)Aram Drevekenin2021-12-20
| | | | | | | * work * feat(collaboration): implement multiple users * style(cleanup): some leftovers
* Fix tab fullscreen switch (#941)Aram Drevekenin2021-12-14
| | | | | * fix(tab): switch focus with fullscreen * style(fmt): make rustfmt happy
* style(fmt): make rustfmt happy and update pluginsAram Drevekenin2021-12-13
|
* hotfix(plugins): run load function for every user when cloning pluginAram Drevekenin2021-12-13
|
* Feature: Add pane names (#928)Kunal Mohan2021-12-09
| | | | | | | | | | | | | * Read pane name from layout * Update pane name at runtime * Fix tests * prefer and render pane name over pane title * fix clippy errors * fix after rebase
* feat(status-bar): add multiple tips (#848)Jae-Heon Ji2021-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feat(status-bar): add draft for multiple tips * feat: add TIPS_MAP * Simplified 'tip' function. * chore: update file structure * feat(status-bar): update method of Tip rendering * feat(status-bar): change type of tip in State * refactor(status-bar): related to random tip selection * feat(status-bar): add simple local cache for testing * feat(status-bar): add cache system for tip data * Add mpadir to wasm for plugin to access zellij temp folder. * refactor(status-bar): update cache and utils * fix(status-bar): update file read error * refactor(status-bar): update macros * chore(status-bar): delete test data * chore(status-bar): update missing fixes * feat(status-bar): add detailed error * style: make clippy
* fix(plugins): support multiple users (#930)Aram Drevekenin2021-12-08
| | | | | * fix(plugins): support multiple clients * fix(style): make clippy happy
* fix(style): various internal refactoringsMarcin Puc2021-12-07
|
* fix(warn): remove unnecessary mut (#922)a-kenji2021-12-03
|
* fix(compatibility): do not duplicate bracketed paste in chunked stdin input ↵Aram Drevekenin2021-12-02
| | | | | | | | | | | | | | | | | (#917) * debug message * fix attempt * oops * remove log message * rustfmt * style(clippy): make clippy happy * style(clippy): make clippy happy again!
* fix(compatibility): full screen scroll region (#915)Aram Drevekenin2021-12-01
| | | | | * fix(compatibility): properly handle scrolling when scroll region is full screen * style(fmt): make clippy and rustfmt happy
* fix(plugin): mismatch JSON format on `get_zellij_version`Jae-Heon Ji2021-11-30
| | | | | | | | | | | * chore(wasm): comment on target of error * fix(wasm): formatting the VERSION string * refactor(wasm): simplify code * chore: delete comments resolved * feat(wasm): update write_object fn for generic
* feat: provide the zellij version to plugins (#894)Jae-Heon Ji2021-11-26
| | | | | | | | | * feat: add draft of feature * feat(wasm): add plugin API for getting of zellij version * feat(wasm): update feedback * delete unnecessary function
* This adds a UI for multiple users in panes (behind a feature flag) (#897)Aram Drevekenin2021-11-25
| | | | | | | * feat(ui): multiple users in panes * style(fmt): make rustfmt happy * style(fmt): make clippy happy
* feat(compatibility): add support for osc 8 escape code (#822)Thomas Linford2021-11-22
| | | | | | | | | | | Resolve #645 * add support for osc 8 escape code * refactor, add links to CharacterStyles * cleanup * refactor, add minimal tests
* fix(performance): keep track of scrollback buffer size (#881)Thomas Linford2021-11-22
| | | | | | | | | | | | Fix #877. Avoid calculating scrollback buffer size on each render, since the calculation becomes slower proportionally to the amount of lines buffered, and to the width of each line. * wip: keep track of scrollback buffer size * account for lines dropped by bounded_push * fix: use saturating sub * fix: account for 0 width lines * remove log messages
* add(overlay): add overlay (#875)a-kenji2021-11-17
| | | | | * add overlay instructions to the `render` function this is a continuation of #871
* First attempt to provide an overlay prompt (#871)a-kenji2021-11-15
|
* Simplify terminal character style diff (#839)Thomas Linford2021-11-15
| | | | | | | | * optimize EMPTY_TERMINAL_CHARACTER diff return a diff for EMPTY_TERMINAL_CHARACTER only when necessary (when new_styles different than current), so to avoid emitting a ansi reset code every time. * simply character styles diffing logic
* refactor(tab): close_pane returns closed pane (#853)Thomas Linford2021-11-13
| | | | | | | | * refactor(tab): close_pane returns closed pane Prepare for break pane command by making close_pane return the closed pane. Also split the function up to hopefully be more readable. * more refactoring
* refactor(tabs): lay down infrastructure for multiple users (#864)Aram Drevekenin2021-11-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(screen): support multiple mirrored clients * style(fmt): make rustfmt happy * style(clippy): make clippy happy * whitespace * github, y u no update CI?! * is this a cache issue? * is it the checkout cache? * no cache at all? * Debug * fix gototab * decoment * gototab none in wasm_vm * gototab none in wasm_vm * the fun never ends * tests(e2e): update infra and add multiple user mirroring test * refactor(tab): change structs in tabs and terminal panes to support multiple users * style(fmt): make rustfmt happy * style(fmt): make clippy happy
* fix(compatibility): CSI cursor next line fix (#863)Thomas Linford2021-11-11
| | | | | Move cursor to beginning of line after moving it down. fixes #860.
* fix(options): handling and overwriting cli opts (#859)a-kenji2021-11-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix(options): handling ond verwriting cli opts * previously it was only possible to turn off certain features with a command line option, now it is possible to also overwrite this behavior in a sane way, for that some breaking changes happened: following options got renamed and inverted: ``` disable_mouse_mode -> mouse_mode no_pane_frames -> pane_frames ``` following cli options got added: ``` mouse-mode [bool] pane-frames [bool] simplified-ui [bool] ``` the following cli flag got removed: ``` simplified-ui ``` They can be specified in the following way: ``` zellij options --mouse-mode true ``` in order to enable the mouse mode, even if it is turned off in the config file: ``` mouse_mode: false ``` The order is now as follows: 1. corresponding flag (`disable-mouse-mode`) 2. corresponding option (`mouse-mode`) 3. corresponding config option (`mouse_mode`) * add: options and flags for the same value conflict * example: ``` zellij options --mouse-mode true --disable-mouse-mode` ``` ``` $ error: The argument '--mouse-mode <mouse-mode>' cannot be used with '--disable-mouse-mode' ```
* chore(release): v0.20.1Aram Drevekenin2021-11-10
|
* add(feature): toggle boolean options with cli flag (#855)a-kenji2021-11-10
| | | | | | | | add the ability to toggle boolean options with a cli flag: example: if the pane frames are turned off in the config file, then passing in the `--no-pane-frames` flag will toggle the pane frames on
* fix(envs): Unify operation of Zellij environment variables (#842)Ken Matsui2021-11-10
|
* feat(scrolling): half-page scroll actions (#813)oromate2021-11-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Half-page scroll actions #794 * fix(performance): do not hang when resizing large line wraps (#814) * fix(performance): do not hang when resizing large line wraps * style(fmt): make rustfmt happy * style(clippy): make clippy happy * docs(changelog): scroll fix * fix(compatibility): home and end key fix (#815) * fix(compatibility): handle home/end keys properly from terminfo * style(fmt): make rustfmt happy * style(fmt): remove unused import * docs(changelog): home end key fix * docs(changelog): fix link * fix(typo): Correct typo from `occured` to `occurred` (#821) * docs(changelog): fix a typo * fix(docs): fix wrong arguments for `cargo make run` given in CONTRIBUTING.md (#819) * docs(changelog): update `cargo-make` for `v0.35.3` * fix(warning): Fix an unused import warning of std::fs on macos (#820) * docs(changelog): fix unused import on darwin * add: `WriteChars` action (#825) * Behaves like the `Write` action, but one can specify strings themselves instead of their bytecodes. Usage: WriteChars: "cargo make test", * docs(changelog): Add `WriteChars` action * fix(docs): Fix a typo and some grammatical errors in bug_report.md (#826) * docs(changelog): fix typo bug_report template * add: `rust-version` (msrv) field to `Cargo.toml` (#828) * specifies the minimum version the package can be compiled with, may be ignored with `--ignore-rust-version` option ref: https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-rust-version-field * docs(changelog): add `rust-version` to `Cargo.toml` * fix(unix): forkpty => openpty (#830) * fix(unix): forkpty => openpty * style(fmt): make rustfmt happy * docs(changelog): forkpty => openpty * Fix: move `colors_transform` to `colorsys` (#832) * `colors_transform` is deprecated and superceded by `colorsys` ref: https://crates.io/crates/colors-transform * docs(changelog): `colors_transform` to `colorsys` * feat(ui): add right-click support to plugins * chore(docs): update changelog * chore(warnings): remove unused imports (#833) * rename var sroll_rows and review snapshots * style(fmt): make rustfmt happy Co-authored-by: Aram Drevekenin <aram@poor.dev> Co-authored-by: Ken Matsui <26405363+ken-matsui@users.noreply.github.com> Co-authored-by: a-kenji <aks.kenji@protonmail.com> Co-authored-by: Tw <tw19881113@gmail.com> Co-authored-by: Brooks Rady <b.j.rady@gmail.com>
* feature(resize): Non directional resize (#520)Henil Dedania2021-11-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * feature(resize): Non directional resize * Implement special cases * fix resizing for panes that have `+` cross section * fix resizing for panes that have `T` cross section * fix panics * Add Nondirection resize keys to plugin * fix formatting * fix: clippy warnings * fix the last edge case * implemented some of the suggested changes * Remove helper function and elevate comment to top of function * Use `=` to keep it consistent with Normal mode mapping as its easier to use * Remove extra reference borrowing * fix an edge case * add test for nondirectional resize increase/decrease * fix(controls): add + to resize * refactor(resize): simplify methods * fix(resize): properly resize opposite corner pane Co-authored-by: Aram Drevekenin <aram@poor.dev>
* fix(resize): do not ignore minimums when doing directional resizes (#838)Aram Drevekenin2021-11-04
| | | | | * fix(resize): do not ignore minimums when doing directional resizes * style(fmt): make rustfmt happy
* fix(cwd): open pane in cwd even if default shell is explicit (#834)Aram Drevekenin2021-11-03
| | | | | * fix(cwd): open pane in cwd even if default shell is explicit * style(fmt): make rustfmt happy
* chore(warnings): remove unused imports (#833)a-kenji2021-11-03
|
* feat(ui): add right-click support to pluginsTw2021-11-02
|
* fix(unix): forkpty => openpty (#830)Aram Drevekenin2021-11-01
| | | | | * fix(unix): forkpty => openpty * style(fmt): make rustfmt happy
* add: `WriteChars` action (#825)a-kenji2021-11-01
| | | | | | | | * Behaves like the `Write` action, but one can specify strings themselves instead of their bytecodes. Usage: WriteChars: "cargo make test",
* fix(warning): Fix an unused import warning of std::fs on macos (#820)Ken Matsui2021-10-31
|
* fix(performance): do not hang when resizing large line wraps (#814)Aram Drevekenin2021-10-29
| | | | | | | * fix(performance): do not hang when resizing large line wraps * style(fmt): make rustfmt happy * style(clippy): make clippy happy
* fix(perf): plugins are only compiled onceBrooks Rady2021-10-26
|
* fix(compatibility): improve handling of wide characters inserted in the ↵Aram Drevekenin2021-10-26
| | | | | | | | | | | | | | | middle of existing lines (#806) * fix(compatibility): handle wide characters inserted in line middle * fix(compatibility): more wide char handling * style(fmt): make rustfmt happy * style(fmt): make clippy happy * style(fmt): make clippyt happy * style(fmt): make rustfmt happy... again
* Feature: Rotate Pane locations (#802)Kunal Mohan2021-10-26
| | | fix #165
* fix(performance): immediately render after a period of inactivity (#798)Alexandre Courbot2021-10-25
| | | | | | | | | | The current code waits for 30ms after reading new data to refresh the screen in order to batch input together. This reduces the number of refreshes, but also adds perceptible latency as keystrokes will only get visual feedback after a 30 ms delay. Improve this by immediately refreshing if more than 30ms have already passed since the last refresh. That way punctual events like keystrokes get immediate feedback, while heavier input still gets batched together.
* chore(rust): move to 2021 editionBrooks J Rady2021-10-22
| | | | Get with the times, kiddo (and all hail disjoint captures)
* refactor(screen): more multiple-users groundwork (#788)Aram Drevekenin2021-10-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(screen): support multiple mirrored clients * style(fmt): make rustfmt happy * style(clippy): make clippy happy * whitespace * github, y u no update CI?! * is this a cache issue? * is it the checkout cache? * no cache at all? * Debug * fix gototab * decoment * gototab none in wasm_vm * gototab none in wasm_vm * the fun never ends * style(fmt): make rustfmt happy
* Feature: Move panes directionally (#762)Kunal Mohan2021-10-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Feature: Move panes directionally * change keybinds * Fix active pane after move * Add a separate 'Move' mode * Add tests * Add more tests * Send resize message to pty * wrap set_terminal_size_using_fd() in macro * change keybind for Move mode * cargo fmt * fix test * move render functions from tab.rs to screen.rs * undo wrong keybinds
* logging: remove unused log functions, change log file const to new file (#779)Thomas Linford2021-10-18
|