Thomas Linford
bfa4942c5b
fix(mouse): mouse events not forwarded to plugin panes ( #1369 )
...
* fix mouse click and release events not forwarded to plugin panes
2022-05-02 22:06:47 +02:00
Thomas Linford
03ffd08ebb
fix(mouse): improve mouse event reporting ( #1329 )
...
* fix: do not rebroadcast mouse press events
* fix: do not send generated mouse hold events to applications
* begin selecting only if click is on terminal pane
2022-04-30 18:46:17 +02:00
raphCode
1f4e3d88c8
Fix crash on renaming a floating pane ( #1323 ) ( #1357 )
...
* Fix crash on renaming a floating pane (#1323 )
* Add rename tests for embedded and floating panes
* docs(changelog): fix floating pane rename
2022-04-29 16:16:53 +02:00
Aram Drevekenin
58d52d40e8
fix(compatibility): adjust saved cursor position on resize ( #1362 )
...
* fix(compatibility): adjust saved cursor position on resize
* style(fmt): rustfmt
2022-04-29 11:21:46 +02:00
Aram Drevekenin
640d1058a4
Fix title widechar overflow ( #1361 )
...
* fix(ui): make sure wide characters don't cause a title overflow
* style(fmt): rustfmt
2022-04-29 10:30:30 +02:00
Aram Drevekenin
0dc136ec5f
fix(compatibility): respond to bg and fg color ansi queries ( #1358 )
...
* fix(compatibility): respond to background/foreground queries
* style(fmt): rustfmt
* style(clippy): make clippy happy
* style(fmt): rustfmt
* style(fmt): remove unused code
2022-04-28 17:26:44 +02:00
Thomas Linford
198625b055
feat(copy): add copy_on_select option ( #1298 )
...
* feat(copy): add copy_on_select option
with default value of true, keep current behavior of automatically
copying selection to clipboard when done selecting.
with copy_on_select = false, on mouse release the selection remains, and
can be copied with the `Copy` action.
* add example to default.yaml
* add copy action example to default.yaml, cleanup
* fix updated tab tests
* fix selection changing while scrolling after release
* fix clippy warnings
2022-04-16 09:04:06 +02:00
Aram Drevekenin
19adb29be5
feat(signals): support XTWINOPS 14 and 16 (and query the terminal for them 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
2022-04-12 18:07:32 +02:00
raphCode
bda37c3dd3
fix(tab): catch and report errors about tty I/O ( #1051 )
...
Quick and dirty bandaid fix to some server crashes which occur to me lately.
The underlying issue seems to be a race condition somewhere when the shell in the pane
exits and the tty file descriptor becomes invalid, but zellij wants to write/read it?
Bug trigger:
- open some panes
- exit the shells in the panes by spamming Ctrl-D
works best when the system only runs on a single CPU, run the following to disable all
cores but one:
echo 0 | sudo tee /sys/devices/system/cpu/cpu*/online
Co-authored-by: raphTec <git@raphtec.net>
2022-03-25 16:30:32 +01:00
Aram Drevekenin
f5a3d8f301
fix(tab): floating panes embed/fullscreen and frame color ( #1267 )
...
* fix(tab): floating panes embed/fullscreen and frame color
* style(fmt): rustfmt
2022-03-24 18:53:54 +01:00
Aram Drevekenin
509f236023
fix(tab): do not crash when only floating panes are left ( #1266 )
2022-03-24 17:19:09 +01:00
Brooks Rady
9bfafde123
feat(ui): round frame corners ( #1227 )
...
* 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
2022-03-22 14:58:16 +00:00
Aram Drevekenin
ab74b9974a
refactor(tab): move tiled panes to their own module ( #1239 )
...
* work
* tests passing
* simplify render state
* move more stuff to state
* moved tiled panes outside
* move files around
* style(fmt): rustfmt
2022-03-18 10:32:43 +01:00
Thomas Linford
9961a28cb5
feature(mouse): forward mouse events ( #1191 )
...
* handle sgr mouse mode enable by applications
* forward mouse events
* fix scroll events not forwarded to floating panes
* improve mouse hold/release with floating panes
2022-03-10 13:14:02 +01:00
Aram Drevekenin
95e512c36d
fix(compatibility): replace wide characters under cursor properly ( #1196 )
...
* fix(compatibility): replace wide characters under cursor properly
* style(fmt): rustfmt
2022-03-09 11:04:07 +01:00
Thomas Linford
7de77536ab
refactor(tab): simplify mouse hold and release ( #1185 )
2022-03-08 18:26:33 +01:00
Jae-Heon Ji
5a56aa0603
Improve: more explicit detach instruction ( #1161 )
...
* feat: update detach and remove client
* chore: apply clippy warning
* fix(tests): update snapshot
2022-03-07 19:20:13 +09:00
Thomas Linford
c5eea7bd91
refactor(tab): simplify logic for scrolling active pane ( #1184 )
2022-03-06 19:50:33 +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
Ken Matsui
31def4102f
fix(style0: simplify find(..).is_some() to any(..) and use += instead ( #1081 )
2022-02-24 11:29:56 +01:00
Ken Matsui
3346238a6b
fix(style): remove unnecessary borrow operators ( #1084 )
2022-02-24 11:08:05 +01:00
Ken Matsui
21df45cf22
fix(style): replace sort_by with sort_by_key ( #1089 )
2022-02-24 11:03:03 +01:00
Ken Matsui
28c2046890
fix(lint): replace unnecessary assert_eq! with assert! ( #1079 )
2022-02-23 20:35:52 +01:00
Aram Drevekenin
256671aecc
fix(ui): restore get active at ( #1076 )
...
* don't crash if misusing the plugin pane api
* restore get active at
* rustfmt
2022-02-21 20:13:32 +01:00
Aram Drevekenin
9fa94970cc
fix(ui): floating panes UI ( #1074 )
...
* basic ui
* update plugins
* rustfmt
2022-02-21 18:01:35 +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
Thomas Linford
a576b3150f
fix(scroll): scroll page up/down by actual amount of rows ( #1025 )
...
use pane content_rows to take account of frame enabled/disabled
2022-01-26 18:19:38 +01:00
Jae-Heon Ji
8d224cb84a
feat: accept only printable unicode char ( #1016 )
...
* feat: accept only printable unicode char
* chore: revert comments
2022-01-25 22:11:31 +09: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
f6c56f6ea3
style(comment): remove outdated
2022-01-12 09:38:04 +01:00
Aram Drevekenin
737787702e
style(format): remove debug message
2022-01-11 17:03:47 +01:00
Aram Drevekenin
0d0064afff
fix(panes): do not crash when closing fixed pane ( #987 )
2022-01-04 11:43:34 +01:00
Aram Drevekenin
153ed175af
fix(plugins): send events to plugins properly in a multiuser env ( #986 )
2022-01-03 16:55:21 +01:00
Aram Drevekenin
7dad61e529
refactor(tab): separate concerns (namely move pane positioning actions out of tab) ( #985 )
...
* refactor: move resizing methods to pane resizer
* refactor: move focus and close methods to pane grid
* refactor(tab): move move methods positioning to pane grid
* refactor(tab): separate pane resizer from pane grid
* style(fmt): make rustfmt happy
* style(fmt): make clippy happy
2022-01-03 15:56:41 +01:00