aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAge
...
* Make session-name option in attach commandKunal Mohan2021-05-29
| | | | | If only one session is running, attach to it. Otherwise list the active sessions (if any)
* fix(tests): Add SLEEP to top_and_quit testKunal Mohan2021-05-28
|
* fix: use bounded queue between pty and screenKOVACS Tamas2021-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pty reads a command's output and feeds it to Screen using an unbounded queue. However, if the command produces output faster than what `Screen` can render, `Pty` still pushes it on the queue, causing it to grow indefinitely, resulting in high memory usage and latency. This patch fixes this by using a bounded queue between Pty and Screen, so if Screen can't keep up with Pty, the queue will fill up, exerting back pressure on Pty, making it read the command's output only as fast as Screen renders it. The unbounded queue is kept between Screen and producers other than Pty to avoid a deadlock such as this scenario: * pty thread filling up screen queue as soon as screen thread pops something from it * wasm thread is processing a Render instruction, blocking on the screen queue * screen thread is trying to render a plugin pane. It attempts to send a Render insturction to the blocked wasm thread running the plugin. This patch also adds a generous amount of sleeps to the integration tests as having backpressure changes the timing of how instructions are processed. Fixes #525.
* refactors for #525 (#534)kxt2021-05-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * refactor(fakes): clean up add_terminal_input * refactor(fakes): append whole buf to output_buffer in FakeStdoutWriter::write * refactor(fakes): append whole buf to output_buffer in FakeInputOutput::write_to_tty_stdin * fix(fakes): allow partial reads in read_from_tty_stdout This patch fixes two bugs in read_from_tty_stdout: * if there was a partial read (ie. `bytes.read_position` is not 0 but less than `bytes.content.len()`), subsequent calls to would fill `buf` starting at index `bytes.read_position` instead of 0, leaving range 0..`bytes.read_position` untouched. * if `buf` was smaller than `bytes.content.len()`, a panic would occur. * refactor(channels): use crossbeam instead of mpsc This patch replaces mpsc with crossbeam channels because crossbeam supports selecting on multiple channels which will be necessary in a subsequent patch. * refactor(threadbus): allow multiple receivers in Bus This patch changes Bus to use multiple receivers. Method `recv` returns data from all of them. This will be used in a subsequent patch for receiving from bounded and unbounded queues at the same time. * refactor(channels): remove SenderType enum This enum has only one variant, so the entire enum can be replaced with the innards of said variant. * refactor(channels): remove Send+Sync trait implementations The implementation of these traits is not necessary, as SenderWithContext is automatically Send and Sync for every T and ErrorContext that's Send and Sync.
* hotfix(publish): Move install module and asset_map to main zellij package. ↵Kunal Mohan2021-05-27
| | | | publish should hopefully work now.
* fix(compatibility): support wide characters (#535)Aram Drevekenin2021-05-26
| | | | | | | * fix(compatibility): support wide characters * style(fmt): rustfmt * style(fmt): make clippy happy
* Merge pull request #531 from zellij-org/detach-sessionsKunal Mohan2021-05-25
|\ | | | | Feature: Detachable/Persistent sessions
| * check for residual socket files and clean themKunal Mohan2021-05-25
| |
| * rename list_sessions file to sessionsKunal Mohan2021-05-22
| |
| * Allow user to specify session nameKunal Mohan2021-05-22
| |
| * check if session exists before attachingKunal Mohan2021-05-22
| |
| * Add ability to attach to sessionsKunal Mohan2021-05-22
| |
| * Add ability to detach a sessionKunal Mohan2021-05-22
| |
| * Mark current session in the output of list-sessionsKunal Mohan2021-05-22
| |
| * Implement the minimal list-sessions commandKunal Mohan2021-05-22
| |
| * add attach and list sessions subcommand to CliArgsKunal Mohan2021-05-22
| |
* | fix(pty): use async io to avoid polling (#523)kxt2021-05-24
|/ | | | This patch fixes #509 by using async read instead of polling a non-blocking fd. This reduces CPU usage when the ptys are idle.
* Merge pull request #522 from zellij-org/re-export-dependenciesKunal Mohan2021-05-19
|\ | | | | Re-export common dependencies from zellij-utils
| * Re-export common dependencies from zellij-utilsKunal Mohan2021-05-19
| |
* | refactor(IO): random fixes (#521)kxt2021-05-18
| | | | | | | | | | | | | | | | | | | | | | | | * refactor(os_input_output): use Pid for child process * fix(debug): change debug_to_file to write &[u8] This patch changes debug_to_file to write entire slices in one call, to avoid the overhead of opening and closing files for each byte written. * refactor(ServerOsApi): remove unnecessary muts from methods Co-authored-by: KOVACS Tamas <ktamas@fastmail.fm>
* | Fix `clean` flaga-kenji2021-05-18
| | | | | | | | | | | | | | * The setup subcommand was exiting the programm no matter what even if the `clean` flag was provided. Now it returns to the main function on encountering the clean flag.
* | Merge branch 'main' of https://github.com/zellij-org/zellij into layout-path-506a-kenji2021-05-18
|\|
| * Osc implementation (#517)Aram Drevekenin2021-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | * fix(compatibility): implement most osc methods * style(fmt): rustfmt * style(fmt): remove cargo warnings * style(fmt): make clippy happy * style(fmt): fix formatting after my clippy fixes broke it again ;P * fix(grid): fix tests
| * fmt and clippyKunal Mohan2021-05-16
| |
| * Big refactor: separate crates for client, server and utilitiesKunal Mohan2021-05-16
| |
| * handle error on termios initialization (#511)Thomas Linford2021-05-16
| |
* | Fix Clippy Suggestionsa-kenji2021-05-18
| |
* | Merge branch 'main' of https://github.com/zellij-org/zellij into layout-path-506a-kenji2021-05-16
|\|
| * clean and exit on window closeKunal Mohan2021-05-15
| |
| * Fix after rebaseKunal Mohan2021-05-15
| |
| * Do not pass config_options while spawning server processKunal Mohan2021-05-15
| |
| * Fix after rebaseKunal Mohan2021-05-15
| |
| * fix testingKunal Mohan2021-05-15
| |
| * Use ClientToServerMsg and ServerToClientMsg for IPCKunal Mohan2021-05-15
| |
| * Fix memory overflow error and add panic hook for serverKunal Mohan2021-05-15
| |
| * Switch to multiprocess model: Not looking goodKunal Mohan2021-05-15
| |
| * Remove unused importMatthias Beyer2021-05-15
| | | | | | | | Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
| * docs(changelog): Invert Asset Installationa-kenji2021-05-15
| |
| * Invert Assets Installation Featurea-kenji2021-05-15
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* | Split Layout Flaga-kenji2021-05-16
|/ | | | | | | * Split Layout Flag into `layout` that searches in default layout directories and `layout-path` that takes a path to a layout file Close #506.
* Merge pull request #503 from a-kenji/check-setupa-kenji2021-05-14
|\ | | | | Add `check` flag to the setup subcommand
| * Add `check` flag to the setup subcommanda-kenji2021-05-14
| | | | | | | | | | | | | | | | * The check option communicates default and config options to the user as well as optional compile time features * Move generate-completion from a subcommand to a flag in the setup subcommand
* | fix(input): forward unknown keys to active terminal (#501)Aram Drevekenin2021-05-13
| | | | | | | | | | * fix(input): forward unknown keys to active terminal * docs(changelog): update change
* | fix(compatibility): implement device reports (#500)Aram Drevekenin2021-05-13
|/ | | | | * fix(compatibility): implement device reports * docs(changelog): update change
* Merge branch 'main' of https://github.com/zellij-org/zellij into set-data-dira-kenji2021-05-12
|\
| * Merge branch 'main' of https://github.com/zellij-org/zellij into ↵a-kenji2021-05-12
| |\ | | | | | | | | | fix-simplified-ui
| | * fix(ui): handle pasted text properly (#494)Aram Drevekenin2021-05-12
| | | | | | | | | | | | | | | * fix(ui): handle pasted text properly * style(fmt): rustfmt
| * | Fix Simplified Uia-kenji2021-05-12
| |/ | | | | | | | | Propagate the config now, in all the places, as opposed to fallback to a default.
| * fix(compatibility): properly fill viewport with styles when clearing it (#493)Aram Drevekenin2021-05-12
| |
| * Slight rework of config loading.a-kenji2021-05-12
| | | | | | | | Merges the cli and file configuration