Aram Drevekenin
779679f53b
chore(version): bump development version
2022-03-11 16:13:01 +01:00
a-kenji
21f7b5baa5
fix(config): allow POSIX style --config
override ( #1205 )
...
Allow multiple `--config` flags, then use the latter.
Also allows similar behaviour for similar flags.
fixes : #310
2022-03-10 22:19:19 +01:00
Hoang Nguyen
58e816211e
fix(comp): typo in long option '--generate-completion' for fish ( #1183 )
2022-03-06 19:47:33 +01:00
a-kenji
d341f455ea
fix(comp): typo and add new option ( #1178 )
...
Use `-x` for exlusive options
2022-03-05 20:41:58 +01:00
a-kenji
e2ce261210
add(comp): dynamic completions for fish ( #1176 )
...
And infrastructure to make it possible
to add more dynamic completions for
different shells in the future.
eg:
```
zellij attach [completes-active-sessions]
zellij kill-session [completes-active-sessions]
```
fixes : #1030
2022-03-05 16:23:51 +01:00
a-kenji
cd4b8ae8b6
fix(layout): allow lowercase keys and values ( #1160 )
...
A layout needed to be specified as follows:
```
---
template:
direction: Horizontal
parts:
- direction: Vertical
body: true
- direction: Vertical
borderless: true
split_size:
Fixed: 1
```
now the same layout can be specified as:
```
---
template:
direction: horizontal
parts:
- direction: vertical
body: true
- direction: vertical
borderless: true
split_size:
fixed: 1
```
2022-03-03 14:08:51 +01:00
a-kenji
6d653e1521
add: set env
var's from config and layout ( #1154 )
...
Add ability to set `ENVIRONMENT VARIABLES` from the
config and the layout files.
example:
```
env:
ZELLIJ_CONFIG:
DEFAULT
```
or
```
env:
ZELLIJ_LAYOUT_NAME:
BUILD_SESSION
```
If two keys conflict (configuration and layout), then the key
from the layout is used.
fixes : #1059
2022-03-01 15:47:52 +01:00
a-kenji
4f84c36024
fix: typo in error message ( #1151 )
2022-02-28 23:00:47 +01:00
Kerfuffle
e2081f2649
fix: Allow terminal title passthrough even when not drawing pane frames. ( #1113 )
...
* fix: Allow terminal title passthrough even when not drawing pane frames.
* Minor formatting fix.
* Handle case where the session name is not set.
2022-02-28 17:54:41 +01:00
Cason Adams
ca015ce9b6
add tmux ctrl+b d shortcut for detach ( #1116 )
2022-02-27 12:03:17 +01:00
Cason Adams
8577dfca02
add: a few extra tmux binding keys ( #1098 )
2022-02-24 10:19:02 +01:00
a-kenji
06184e8a32
add(conf): add action to send ^b
( #1106 )
...
add an action to send `^b` while in `tmux-mode`
fixes #1095
2022-02-24 04:58:27 +01:00
Jae-Heon Ji
a489194b55
fix: invalid assignment of client_id
( #1052 )
...
* feat: sync socket connection in
* chore: apply clippy
* chore: change message name
2022-02-23 23:50:49 +09:00
Aram Drevekenin
39eddd8b1c
chore(version): bump development version
2022-02-22 13:36:39 +01:00
Aram Drevekenin
a0a0a7e5c4
feat(ux): tmux mode ( #1073 )
...
* work
* basic tmux move and functionality
* tmux mode ui
* rustfmt
2022-02-21 15:52:42 +01:00
Aram Drevekenin
821e7cbc5a
feat(ui): add floating panes ( #1066 )
...
* 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
2022-02-18 21:10:06 +01:00
Thomas Linford
18709acde9
feat(copy): allow osc52 copy destination configuration ( #1022 )
...
add copy_cliboard option to allow configuring copy destination to primary selection instead of default clipboard
2022-02-02 15:22:34 +01:00
Jae-Heon Ji
1d2e303926
feat: add focus attribute in layout ( #958 )
...
* 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
2022-02-01 02:19:21 +09:00
a-kenji
c82ee774ce
fix(config): warn on mode without actions ( #1035 )
...
Log with a warning, if the user finds himself in a mode,
that has no action associated with it.
fix #949
2022-01-31 16:24:06 +01:00
Marcin Puc
e58b67ce2e
chore(deps): update arg parsing to clap v3 ( #1017 )
...
* Update arg parsing to clap v3
* Ignore shell argument case
2022-01-23 20:59:03 +01:00
Jordan Callicoat
5f86dc4fd0
doc(config): add copy-command examples to default config (PR #996 ) ( #1019 )
2022-01-20 17:36:59 +01:00
Christophe Verbinnen
9cc2645db0
Add a copy command option ( #996 )
...
Usage: zellij options --copy-command "xclip -sel clip"
Co-authored-by: Christophe Verbinnen <christophev@knowbe4.com>
2022-01-15 12:38:45 +01:00
Aram Drevekenin
e06300f7db
chore(version): bump development version
2022-01-05 11:14:15 +01:00
Kunal Mohan
e23d06b70d
Feature: Configurable scroll buffer ( #936 )
...
* Configurable scroll buffer
* Fix unit test failures
* Add scroll_buffer_size description in the default config file
* Fix config file
2022-01-04 23:24:05 +05:30
Aram Drevekenin
d4b14d7657
feat(keybinds): improve default keybindings ( #991 )
2022-01-04 17:24:18 +01:00
LordMZTE
9e74d8d617
fix(plugins): typo that gives plugins the wrong theme ( #975 )
2021-12-28 08:58:25 +01:00
Aram Drevekenin
ce8e898e6d
chore(version): bump development version
2021-12-20 18:31:54 +01:00
Aram Drevekenin
6175d57702
chore(version): bump development version
2021-12-20 17:56:47 +01:00
Aram Drevekenin
ca8438b0aa
feat(collaboration): implement multiple users ( #957 )
...
* work
* feat(collaboration): implement multiple users
* style(cleanup): some leftovers
2021-12-20 17:31:07 +01:00
Aram Drevekenin
1a991ce7fb
chore(version): bump development version
2021-12-14 17:32:02 +01:00
Aram Drevekenin
5f1f190a85
chore(version): bump development version
2021-12-13 16:19:37 +01:00
Kunal Mohan
c75bcbd937
Feature: Add pane names ( #928 )
...
* 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
2021-12-09 23:30:40 +05:30
Aram Drevekenin
92bddf1b79
fix(plugins): support multiple users ( #930 )
...
* fix(plugins): support multiple clients
* fix(style): make clippy happy
2021-12-08 18:41:41 +01:00
Marcin Puc
56e85f87d6
fix(style): various internal refactorings
2021-12-07 10:24:42 +00:00
a-kenji
050fa8fd07
fix(config): unbind keys correctly ( #925 )
...
* turn off the merging of key bindings of layout and configuration
files for now.
In certain situations the keybindings would be overwritten.
Fix #923
2021-12-04 16:06:20 +01:00
a-kenji
b78a6d4258
fix(assets): update config option examples ( #920 )
...
* update config option examples:
```
no_pane_frames -> pane_frames
no_mouse_mode -> mouse_mode
```
closes #916
2021-12-03 11:13:56 +01:00
Aram Drevekenin
cbe0d5405e
fix(compatibility): do not duplicate bracketed paste in chunked stdin input ( #917 )
...
* debug message
* fix attempt
* oops
* remove log message
* rustfmt
* style(clippy): make clippy happy
* style(clippy): make clippy happy again!
2021-12-02 18:35:55 +01:00
a-kenji
adee5e78a9
fix(theme): add gray to theme ( #914 )
...
fix #912
* Add `gray` to theme
2021-11-30 11:03:20 +01:00
Tw
d7e460a3d6
Fix: missing theme in config ( #913 )
...
Signed-off-by: Tw <wei.tan@intel.com>
2021-11-30 09:46:48 +01:00
Aram Drevekenin
1ee743156c
chore(version): bump development version
2021-11-29 10:09:22 +01:00
Brooks J Rady
7cb165f0c2
fix(style): remove unused imports
2021-11-27 15:35:37 +00:00
Aram Drevekenin
6c6a4393f4
This adds a UI for multiple users in panes (behind a feature flag) ( #897 )
...
* feat(ui): multiple users in panes
* style(fmt): make rustfmt happy
* style(fmt): make clippy happy
2021-11-25 16:21:59 +01:00
a-kenji
cd55c86260
Feat: add esc to exit modes ( #889 )
...
* Add ability to return to normal mode from any mode,
except for the locked mode, by pressing the escape key
to the default keybindings
fix #887
2021-11-23 12:42:15 +01:00
a-kenji
b861baa6a1
First attempt to provide an overlay prompt ( #871 )
2021-11-15 20:13:05 +01:00
a-kenji
f6813df0e8
fix(typo): fix setup --check ( #869 )
2021-11-15 14:41:19 +01:00
a-kenji
347e02ea35
feature(layout): add layout config ( #866 )
...
feature(layout): add layout config (#866 )
* It is now possible to configure zellij through a layout:
The config file and the layout file will be merged, on conflicting
options the order is as follows:
1. config options `zellij options`
2. layout
3. config
Example:
```
---
template:
direction: Horizontal
parts:
- direction: Vertical
body: true
- direction: Vertical
borderless: true
split_size:
Fixed: 1
run:
plugin:
location: "zellij:tab-bar"
default_shell: fish
```
2021-11-14 22:58:20 +01:00
a-kenji
bd8c834d7c
fix(options): handling and overwriting cli opts ( #859 )
...
* 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'
```
2021-11-11 17:13:34 +01:00
Aram Drevekenin
26bd80be2d
chore(version): bump development version
2021-11-10 18:01:56 +01:00
Aram Drevekenin
0fec10b08b
chore(release): v0.20.1
2021-11-10 17:54:39 +01:00
a-kenji
abbe3b237a
add(feature): toggle boolean options with cli flag ( #855 )
...
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
2021-11-10 13:31:37 +01:00