aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/input (follow)
Commit message (Collapse)AuthorAge
...
| | * Improve clarity of precedence in optionsa-kenji2021-07-09
| | |
| * | Merge pull request #600 from a-kenji/layout-commanda-kenji2021-07-09
| |\ \ | | |/ | |/| Add commands to layout
| | * Add commands to layouta-kenji2021-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the ability to run commands on loading a layout: ``` - direction: Horizontal split_size: Percent: 50 run: command: {cmd: htop} ``` or respectively: ``` - direction: Horizontal split_size: Percent: 50 run: command: {cmd: htop, args: ["-C"]} ``` In order to specify the difference of commands and plugins now the plugins need to be under the `run` section: ``` - direction: Vertical split_size: Fixed: 2 run: plugin: status-bar ``` This also means that this is a breaking change for people that already have a custom layout. Example layouts: ``` --- direction: Vertical parts: - direction: Horizontal split_size: Percent: 50 parts: - direction: Vertical split_size: Percent: 50 - direction: Vertical split_size: Percent: 50 run: command: {cmd: htop} - direction: Horizontal split_size: Percent: 50 run: command: {cmd: htop} ``` and: ``` --- direction: Horizontal parts: - direction: Vertical split_size: Fixed: 1 run: plugin: tab-bar - direction: Vertical parts: - direction: Vertical parts: - direction: Vertical split_size: Percent: 50 run: command: {cmd: htop} - direction: Vertical split_size: Percent: 50 run: command: {cmd: htop, args: ["-C"]} - direction: Vertical split_size: Fixed: 5 - direction: Vertical split_size: Fixed: 2 run: plugin: status-bar ``` closes #551, closes #284
| * | Add doc comment for the on_force_close optionKunal Mohan2021-07-09
| | |
| * | Add on_force_close config optionKunal Mohan2021-07-09
| | |
* | | Move `ModeInfo::new()` back to `get_mode_info()`Lovecraftian Horror2021-07-09
| | |
* | | Display session name within sessionLovecraftian Horror2021-07-08
|/ /
* | Change name of `Run` binding for actionsa-kenji2021-07-06
| | | | | | | | | | | | | | | | | | | | | | * Change ``` Run: {command: <path>, args: [ARGS], direction:<direction> } ``` into ``` Run: {cmd: <path>, args: [ARGS], direction:<direction> } ```
* | feat(ui): initial mouse support (#448)Thomas Linford2021-07-02
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Initial mouse support * enable mouse support (termion MouseTerminal) * handle scroll up and down events * Allow enabling/disabling of mouse reporting Store the mouse terminal on OsInputOutput * WIP: switch pane focus with mouse * testing to get mouse character selection * wip mouse selection * wip: mouse selection - initial handling of mouse events for text selection within a pane - wide characters currently problematic - selection is not highlighted * highlight currently selected text * improve get currently selected text from TerminalPane * copy selection to clipboard (wayland only for now) * Add missing set_should_render on selection update * Improve text selection - Strip whitespace from end of lines - Insert newlines when selection spans multiple lines * Simplify selection logic - Remove Range struct - Selection is not an Option anymore, it's empty when start == end * copy selection to clipboard with OSC-52 sequence * Improve text selection with multiple panes - Constrain mouse hold and release events to currently active pane - Fix calculation of columns with side by side panes * fix for PositionAndSize changes * Fix mouse selection with full screen pane. - Transform mouse event positions to relative when passing to pane. * Move selection to grid, rework highlighting. - Mark selected lines for update in grid output buffer, for now in the simplest way possible, but can be made more efficient by calculating changed lines only. - Clear selection on pane resize. - Re-add logic to forward mouse hold and release events only to currently active pane. * Tidy up selection - add method to get selection line range - add method to sort the current selection * Grid: move current selection up/down when scrolling - Make the selection work with lines in lines_above and lines_below - Todo: update selection end when scrolling with mouse button being held - Todo: figure out how to move selection when new characters are added. * Grid: move selection when new lines are added * Keep track of selection being active - Handle the selection growing/shrinking when scrolling with mouse button held down but not yet released. * Improve selection end with multiple panes * Tidying up - remove logging statements, unused code * Add some unit tests for selection, move position to zellij-utils * Change Position::new to take i32 for line * Grid: add unit tests for copy from selection * add basic integration test for mouse pane focus * Add basic integration test for mouse scroll * Use color from palette for selection rendering * Improve performance of selection render - Try to minimize lines to update on selection start/update/end * fixes for updated start method * fix lines not in viewport being marked for rendering - the previous optimization to grid selection rendering was always adding the lines at the extremes of previous selection, causing problems when scrolling up or down - make sure to only add lines in viewport * Disable mouse mode on exit * use saturating_sub for usize subtractions * copy selection to clipboard on mouse release * disable mouse on exit after error * remove left-over comments * remove copy keybinding * add default impl for selection methods in Pane - remove the useless methods from Impl Pane in PluginPane * move line diff between selections to selection * add option to disable mouse mode * Allow scrolling with mouse while selecting. * move action repeater to os_input_output, change timeout to 10ms - change repeater to take an action instead of a position with hardcoded action * replace mouse mode integration tests with e2e tests * cleanup * cleanup * check if mouse mode is disabled from merged options * fix missing changes in tests, cleanup
* Merge pull request #596 from a-kenji/run-command-actiona-kenji2021-07-02
|\ | | | | Add running commands to an action
| * Add running commands to an actiona-kenji2021-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the ability to bind running commands to an action. Eg: ``` - action: [Run: {command: "htop",},] key: [F: 6,] `` Optionally the direction and arguments can be specified: ``` - action: [Run: {command: "htop", args: ["-C",]},] key: [F: 7,] ``` The directional splits are analogous to the `[NewPane]` splits. ``` - action: [Run: {command: "htop", args: ["-C",], direction: "Up"},] key: [F: 8,] ```
* | Add option to specify default-shella-kenji2021-07-01
|/ | | | | | | * Adds an option to specify a default shell either by specifying `default_shell: [PATH]` in the config, or running zellij with `zellij options --default-shell [PATH]`
* Merge branch 'main' of https://github.com/zellij-org/zellij into ↵a-kenji2021-06-30
|\ | | | | | | modularize-spawn-terminal
| * chore(tests): move all integration tests to be either unit or e2e tests - ↵Aram Drevekenin2021-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | remove old testing infra (#589) * tests(integration): move basic integration tests to be unit tests * fix(tests): silently fail threadbus for tests * tests(unit): move compatibility tests to become unit tests for grid * tests(unit): move close_pane tests to become unit tests for grid * tests(e2e): move basic layout test to e2e * tests(unit): move move_focus tests to be unit tests * tests(unit): move resize_down tests to be unit tests * tests(unit): move resize_left tests to be unit tests * tests(unit): move resize_right tests to be unit tests * tests(unit): move resize_up tests to be unit tests * tests(infra): remove unused infra * style(fmt): make rustfmt happy * debug * debug * debug * debug * chore(test): shift volume mounting around because github actions is a special child
| * chore(clippy): needless_borrowa-kenji2021-06-29
| |
* | Modularize spawn_terminal_functiona-kenji2021-06-30
|/ | | | | * Breaks the spawn_terminal_function up in order to prepare for more functionality.
* Change `layout` directory from `data` to `config`a-kenji2021-06-16
| | | | | | | | | | | | | | | | | | * default layouts won't be installed by anymore, instead they will be directly loaded * `layout-dir` is now a subdirectory of the `config-dir` by default, instead of the `data-dir` POSSIBLE BREAKING CHANGE: In case of having custom layouts in the previous `layout-dir` one can switch either the layouts to the new dir, or set the `layout-dir` to be the current `layout-dir` * it is possible to change the location of the `layout-dir`: - `zellij options --layout-dir [LAYOUR_DIR]` - `layout_dir: [LAYOUT_DIR]`
* Merge branch 'main' of https://github.com/zellij-org/zellij into layout-errora-kenji2021-06-14
|\
| * Fix options in config filea-kenji2021-06-01
| | | | | | | | | | * options depended on specification of the `simplified_ui` flag, now they are independend of each other
* | Move `layout.rs` from `server` to `utils`a-kenji2021-06-14
|/ | | | * give feedback on most errors in the layout-file
* Merge branch 'main' of https://github.com/zellij-org/zellij into theme-configa-kenji2021-05-30
|\
| * Merge branch 'main' of https://github.com/zellij-org/zellij into ↵a-kenji2021-05-27
| | | | | | | | | | | | | | | | | | | | | | default-mode-368 * If starting in the locked mode after the merge, the locked mode seems to need 2 actions to go to the normal mode - after that everything works as expected. - This is not intended.
* | Add color theme configa-kenji2021-05-30
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * add option `theme` that allows for setting of a theme, the default is `default` * under `themes` the themes can be described as follows: either: ``` themes: default: fg: [0,0,0] bg: [0,0,0] black: [0,0,0] red: [0,0,0] green: [0,0,0] yellow: [0,0,0] blue: [0,0,0] magenta: [0,0,0] cyan: [0,0,0] white: [0,0,0] orange: [0,0,0] ``` or ``` themes: default: fg: 0 bg: 0 black: 0 red: 0 green: 0 yellow: 0 blue: 0 magenta: 0 cyan: 0 white: 0 orange: 0 ``` If the key is different from default, it needs to either be specified on start with `options --theme [THEME]`, or in the configuration file under theme: [THEME]. closes #390
* add keybinds for session mode and detachKunal Mohan2021-05-22
|
* Use Action enum for Quit and detach instead of separate messages under ↵Kunal Mohan2021-05-22
| | | | ClientToServerMsg
* add attach and list sessions subcommand to CliArgsKunal Mohan2021-05-22
|
* Add documentation to actions structa-kenji2021-05-22
| | | | * Add warning for renaming the actions
* Big refactor: separate crates for client, server and utilitiesKunal Mohan2021-05-16