aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAge
...
* feat(ui): add status bar tips (#1462)Aram Drevekenin2022-06-07
| | | | | | | * feat(ui): add more tips to status bar * fix(e2e): clear status-bar-tips cache for each test * style(fmt): rustfmt
* feat(scroll): edit scrollback with default editor (#1456)Cosmin Popescu2022-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * initial commit for opening the current buffer in an editor * fix(editor): take hidden panes into consideration when manipulating tiled grid * when closing an edit buffer, take the geometry of the replaced buffer from the closed buffer * if the floating panels are displayed, don't add to hidden panels the current buffer * strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels * Revert "strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels" This reverts commit c52a203a20cf4c87c147be8b9c193ed6458c1038. * remove the floating panes by moving them to the tiled_panes in hidden_panels * feat(edit): open editor to correct line and don't crash when none is set * formatting * feat(edit): use suppressed panes * style(fmt): rustfmt and logs * style(fmt): clean up unused code * test(editor): integration test for suppressing/closing suppressed pane * test(e2e): editor e2e test * style(fmt): rustfmt * feat(edit): update ui and setup * style(fmt): rustfmt * feat(config): allow configuring scrollback_editor explicitly * style(fmt): rustfmt * chore(repo): build after merging Co-authored-by: Aram Drevekenin <aram@poor.dev>
* add(plugin): `compact-bar` & `compact` layout (#1450)a-kenji2022-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add(plugin): `compact-bar` & `compact` layout * add(nix): `compact-bar` plugin * add(config): `compact-bar` to the config * add(workspace): `compact-bar` to workspace members * add(assets): `compact-bar` * chore(fmt): rustfmt * add(nix): add `compact-bar` * add: compact layout to dump command * nix(build): fix destination of copy command * add(makefile): add `compact-bar` to `plugin-build` * add(layout): `compact-bar` to layout * add: install `compact-bar` plugin * fix(test): update input plugin test * fix(plugin): default colors for compact-bar
* feat(cli): merge --layout and --layout-path (#1426)Spyros Roum2022-05-28
| | | | | | | | | * Merge --layout and --layout-path * Fix e2e tests * style(comment): reword help text Co-authored-by: Aram Drevekenin <aram@poor.dev>
* fix(deps): Rename `suggestion` crate to `suggest` (#1387)Ken Matsui2022-05-10
|
* feat: Attach sessions by unique prefix name (#1169) (#1360)raphCode2022-05-03
| | | | | | | | | | | | | | | * feat: Attach sessions by unique name prefix (#1169) This makes attaching to sessions more convenient since only the first character(s) of the session name must be typed. If this prefix matches multiple sessions and is therefore ambiguous, zellij will complain and show all sessions names starting with these characters. If any session name matches the given string exact, it is attached immediately, therefore it is always possible to attach to every session, even if the set of session names is not prefix-free. * Add feature to changelog * Try to fix flaky e2e test
* fix: change the way sessions are sorted (#1347)Jae-Heon Ji2022-04-29
| | | | | * chore: add TODO comment * feat: change the sort method to mtime
* Fix title widechar overflow (#1361)Aram Drevekenin2022-04-29
| | | | | * fix(ui): make sure wide characters don't cause a title overflow * style(fmt): rustfmt
* fix(compatibility): respond to bg and fg color ansi queries (#1358)Aram Drevekenin2022-04-28
| | | | | | | | | | | * fix(compatibility): respond to background/foreground queries * style(fmt): rustfmt * style(clippy): make clippy happy * style(fmt): rustfmt * style(fmt): remove unused code
* fix(ipc): empty ipc msg crash (#1351)Aram Drevekenin2022-04-27
| | | | | * fix(ipc): recover from corrupted channel state * style(fmt): rustfmt
* fix: minor system improvements (#1328)Jae-Heon Ji2022-04-16
|
* fix(multiuser): properly clear UI when a user detaches (#1317)Aram Drevekenin2022-04-13
|
* feat(signals): support XTWINOPS 14 and 16 (and query the terminal for them ↵Aram Drevekenin2022-04-12
| | | | | | | | | | | | | on startup and SIGWINCH) (#1316) * feat(signals): get pixel info from terminal emulator * feat(signals): query for pixel info on sigwinch * feat(signals): reply to csi 14t and csi 16t * style(fmt): rustfmt * style(comments): remove outdated
* fix(compatibility): ansi scroll down (#1279)Aram Drevekenin2022-03-28
| | | | | * fix(compatibility): ansi scroll down * style(fmt): rustfmt
* feat(ui): add navigation with alt + arrow keys (#1264)Aram Drevekenin2022-03-25
| | | | | | | | | | | | | | | | | | | * feat(ui): change from non-working alt-brackets to alt-arrows * style(fmt): rustfmt * fix: improve parsing of `alt` combination keys The binding of the keys can now be specified with: - Alt: 'c' - Alt: Up - Alt: Down - Alt: Left - Alt: Right * chore(fmt): rustfmt Co-authored-by: a-kenji <aks.kenji@protonmail.com>
* chore(deps): move from termion to termwiz for STDIN handling (#1249)Aram Drevekenin2022-03-23
| | | | | | | | | | | | | | | | | | | * fix(deps): switch from termion to termwiz for STDIN parsing * style(fmt): clippy * style(fmt): moar clippy * style(fmt): rustfmt * fix(tests): e2e mouse press * style(fmt): rustfmt * bring back polling * fmt fmt fmt * fix some e2e flakiness
* feat(ui): round frame corners (#1227)Brooks Rady2022-03-22
| | | | | | | | | | | | | | | * feat(ui): round frame corners * Allow rounded_corners to be set without a palette * Revert "Allow rounded_corners to be set without a palette" This reverts commit 9271a4b5452f2e59e0ebd55136343f0fbfabaa13. * fix(style): remove redundant code * fix(style): clippy lints that somehow got missed * feat(config): add ui config section
* refactor(tab): move tiled panes to their own module (#1239)Aram Drevekenin2022-03-18
| | | | | | | | | | | | | | | * work * tests passing * simplify render state * move more stuff to state * moved tiled panes outside * move files around * style(fmt): rustfmt
* fix(feat): `disable_automatic_asset_installation` (#1226)a-kenji2022-03-17
| | | | | | | | | | | | | | | | | | * fix(feat): `disable_automatic_asset_installation` This fixes a regression in the feature system: The asset installation didn't get turned off by the feature. Add error logging to the install functions. Properly show features in setup disable `mkdir` in `wasm_vm` on `feature-disable-asset-installation` Alternative: Is this even needed? We make sure the directory is there upon the normal asset installation. fixes #1130
* fix(compatibility): replace wide characters under cursor properly (#1196)Aram Drevekenin2022-03-09
| | | | | * fix(compatibility): replace wide characters under cursor properly * style(fmt): rustfmt
* Improve: more explicit detach instruction (#1161)Jae-Heon Ji2022-03-07
| | | | | | | * feat: update detach and remove client * chore: apply clippy warning * fix(tests): update snapshot
* fix(cli): `list-sessions` stderr on fail (#1174)a-kenji2022-03-04
| | | | | Change `list-sessions` to report an error `1` on the shell and put the output to stderr, this can be valuable for scriping and should be consistent with expectations
* fix(tests): ensure e2e tests use updated plugins (#1047)Thomas Linford2022-02-27
| | | | | | | | | | * launch zellij with --data-dir flag in e2e tests, to avoid using prebuilt plugins from assets dir, and instead use the ones from the docker mount. * make the tests use plugins built in release mode to avoid some test failures due to timing issues. * format Makefile.toml. * set uid 1001 to in e2e action (thanks to https://github.com/francisfuzz/actions-uid-gid)
* fix(input): handle discontiguous STDIN input (#1119)Aram Drevekenin2022-02-25
| | | | | | | | | | | | | | | | | * log stdin reads and events * attempt fix for incomplete mouse sequences * read events directly from stdin * fix flaky e2e test * bring back bracketed paste * rustfmt * remove unused Co-authored-by: Thomas Linford <linford.t@gmail.com>
* fix: invalid assignment of `client_id` (#1052)Jae-Heon Ji2022-02-23
| | | | | | | * feat: sync socket connection in * chore: apply clippy * chore: change message name
* fix(ui): floating panes UI (#1074)Aram Drevekenin2022-02-21
| | | | | | | * basic ui * update plugins * rustfmt
* fix(copy): rejoin wrapped lines (#1069)Thomas Linford2022-02-21
| | | When copying wrapped lines do not treat them as separate lines.
* feat(ux): tmux mode (#1073)Aram Drevekenin2022-02-21
| | | | | | | | | * work * basic tmux move and functionality * tmux mode ui * rustfmt
* feat(ui): add floating panes (#1066)Aram Drevekenin2022-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * basic functionality * close and reopen scratch terminal working * embed/float and resize whole tab for floating and static floating panes * move focus working * fix focus change in floating panes * move pane with mouse * floating z indices * tests and better resize algorithm * starting to work on performance * some performance experimentations * new render engine * reverse painters algorithm for floating panes * fix frame buffering * improve ux situation * handle multiple new panes on screen without overlap * adjust keybindings * adjust key hints * fix multiuser frame ui * fix various floating/multiuser bugs * remove stuff * wide characters under floating panes * fix wide character frame override * fix non-frame boundaries interactions with floating panes * fix selection character width * fix title frame wide char overflow * fix existing tests * add tests * refactor output out of tab * refactor floating panes out of tab * refactor tab * moar refactoring * refactorings and bring back terminal window title setting * add frame vte output * remove more unused stuff * remove even more unused stuff * you know the drill * refactor floating panes and remove more stuffs * refactor pane grids * remove unused output caching * refactor output * remove unused stuff * rustfmt * some formatting * rustfmt * reduce clippy to normal * remove comment * remove unused * fix closign pane * fix tests
* fix(compatibility): resolve fzf crash (#1056)Thomas Linford2022-02-12
| | | | * grid: add fzf test case * revert alternate viewport creation to contain an empty row
* fix(compatibility): do not set scroll buffer in alternate screen (#1032)Thomas Linford2022-02-02
| | | | | | avoid moving lines to lines_above when in alternate screen. adjust resizing when in alternate screen: * remove extra lines instead of sending to lines_above * truncate excess characters
* feat: add focus attribute in layout (#958)Jae-Heon Ji2022-02-01
| | | | | | | | | | | | | | | | | | | * feat(layout): add focus attribute in layout * feat: add state of focus to tab * chore: i love clippy * test(layout): update focus options * feat: add focus pane * feat: apply focus-pane when layout is only loaded * change the instruction name for focus-on-tab * chore: apply cargo-fmt * test: add e2e testcase
* chore(deps): update arg parsing to clap v3 (#1017)Marcin Puc2022-01-23
| | | | * Update arg parsing to clap v3 * Ignore shell argument case
* feat: change dependency for `process_cwd` (#1001)Jae-Heon Ji2022-01-13
| | | | | | | | | | | * feat: change dependency for process_cwd * test: add unittest for get_cwd * chore: apply clippy * test: change tty to openpty * test(e2e): update case
* feat(keybinds): improve default keybindings (#991)Aram Drevekenin2022-01-04
|
* Implement passing the bell signal to the terminal (#981)auronandace2022-01-03
| | | | | | | * implement passing the bell signal to the terminal * Add files via upload add fixture to test against
* fix(commands): add install default assets (#961)Jae-Heon Ji2021-12-29
|
* 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(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
* 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
* 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(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
* Prevent a zellij session from attaching to itself. (#911)Kunal Mohan2021-11-30
| | | | | | * fix #905 Prevent a zellij session from attaching to itself. * Add check while attaching using index as well
* 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
* Merge branch 'suggestion-for-similar-session-name' of ↵a-kenji2021-11-11
|\ | | | | | | https://github.com/ken-matsui/zellij into ken-matsui-suggestion-for-similar-session-name
| * feat(sessions): Suggestion for a similar session nameKen Matsui2021-11-11
| | | | | | | | | | | | | | | | Remove unnecessary to_string Replace `garando_syntax` crate with `lev_distance` which is much smaller Replace `lev_distance` crate with `suggestion` to simplify the code