Commit graph

265 commits

Author SHA1 Message Date
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
188febfc05
fix(stability): avoid link handler panic on bad index (#1356)
root cause needs investigating, but for now fix the crash.
2022-04-28 11:45:21 +02:00
Aram Drevekenin
7ba49658f7
fix(ipc): empty ipc msg crash (#1351)
* fix(ipc): recover from corrupted channel state

* style(fmt): rustfmt
2022-04-27 10:44:14 +02:00
Aram Drevekenin
22b68c0654
fix(compatibility): fix crash and don't allow cursor beyond row width (#1349)
* fix(compatibility): fix crash and don't allow cursor beyond row width

* style(fmt): rustfmt
2022-04-26 22:38:54 +02:00
Jae-Heon Ji
f2a7e73687
fix: minor system improvements (#1328) 2022-04-16 16:11:46 +09: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
raphCode
d4b8199d02
fix(pty): send SIGHUP instead of SIGTERM when closing a pane (#1320)
SIGHUP correctly states the intention behind sending a signal when a
pane is closed: The controlling terminal is "hung up".
Also, SIGHUP is better suited than SIGTERM since bash ignores the
latter. This led to the zombie processes observed by some users.
Furthermore, SIGHUP has a special meaning in bash's job control, namely
re-sending the signal to all owned jobs before exiting.
2022-04-15 19:47:46 +02:00
Aram Drevekenin
cd99d3a547
fix(compatibility): various ansi fixes (#1324)
* fix(compatibility): rotate scroll region up properly

* fix(compatibility): rotate scroll region down properly

* style(fmt): rustfmt
2022-04-14 11:52:37 +02:00
Aram Drevekenin
b185f2827f
fix(multiuser): properly clear UI when a user detaches (#1317) 2022-04-13 10:05:38 +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
Amir Arad
f9278a9ab8
refactor(tab): tiled_pane_grid (#1299)
* use `try_` methods when applicable

* fix bug

* extract commonresize check  logic

* clean unused import
2022-04-12 10:48:10 +02:00
Aram Drevekenin
c08145ef5a
fix(compatibility): single line scroll and other edge cases (#1307) 2022-04-09 13:34:32 +02:00
Aram Drevekenin
bd39891f78
fix(compatibility): keep colors when scrolling (#1305) 2022-04-09 00:00:02 +02:00
Aram Drevekenin
b4e113c6a4
fix(compatibility): don't crash on invalid state when padding line (#1285) 2022-03-30 09:48:41 +02:00
Thomas Linford
e537ba9b9d
Revert "fix(compatibilty): do not use current cursor style in csi erase display (#1142)" (#1283)
This reverts commit efd2fa412f.
2022-03-29 19:14:15 +02:00
Thomas Linford
303123f9c6
fix(selection): rendering of characters with unset background (#1250)
create cursor with RESET_STYLES instead of empty styles
2022-03-28 20:36:51 +02:00
Aram Drevekenin
6443a727ea
fix(compatibility): ansi scroll down (#1279)
* fix(compatibility): ansi scroll down

* style(fmt): rustfmt
2022-03-28 12:39:54 +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
b5cb5474bb
fix(screen): crash in intermediate no-tabs state (#1272)
* fix(screen): log error instead of crashing in intermediate state with no active tabs

* style(fmt): rustfmt
2022-03-25 15:41:08 +01:00
Aram Drevekenin
bf4f90d694
fix(screen): handle various edge cases rather than crashing (#1269)
* fix(screen): handle various edge cases rather than crashing

* style(fmt): rustfmt

* fix(logging): add error logs when unable to find tab

* style(fmt): rustfmt
2022-03-25 10:35:45 +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
Thomas Linford
c4d62f8f61
fix(crash): ensure ZELLIJ_TMP_DIR exists when starting plugins (#1256) 2022-03-23 09:20:46 +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
a-kenji
092926c5d8
fix(wasm_vm): use cache_dirs for ephemeral plugin data (#1230)
fix(wasm_vm): use `cache_dirs` for ephemeral plugin data

Use proper `cache_directories` by default, that users can be expected
to have proper write permissions for.

The directory is used for plugin hashes, and compilation data.
2022-03-17 11:57:38 +01:00
a-kenji
b0276dfd74
fix(feat): disable_automatic_asset_installation (#1226)
* 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
2022-03-17 11:40:09 +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
Thomas Linford
7e008bb039
fix(compatibility): home and end in cursor keys mode (#1190) 2022-03-09 21:21:15 +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
Thomas Linford
8d3bd3c9b0
fix(floating-panes): update tooltip after hiding floating panes with mouse (#1186) 2022-03-07 11:45:01 +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
Thomas Linford
efd2fa412f
fix(compatibilty): do not use current cursor style in csi erase display (#1142) 2022-02-27 21:15:03 +01:00
Orhun Parmaksız
4d64742fd0
refactor: fix unused code warnings (#1087) 2022-02-27 13:23:59 +01:00
Aram Drevekenin
3bbae77921
fix(compatibility): properly clear pane before switching to alternate screen (#1120) 2022-02-25 15:01:08 +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
tfgast
cef3f1e408
fix(terminal): ensure Title doesn't overrun (#1094)
The set title escape code needs to be terminated with a bell character. See https://tldp.org/HOWTO/Xterm-Title-3.html
2022-02-24 11:22:24 +01:00
Ken Matsui
3346238a6b
fix(style): remove unnecessary borrow operators (#1084) 2022-02-24 11:08:05 +01:00
Ken Matsui
e73ce08ddf
fix(style): remove redundant .clone() calls (#1085) 2022-02-24 11:07:09 +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
346e093414
fix(cleanup): simplify loop (#1077) 2022-02-24 08:08:23 +01:00
Ken Matsui
f1f5ac01af
fix(lint): simplify unnecessary return statements (#1080) 2022-02-23 20:37:01 +01:00
Ken Matsui
28c2046890
fix(lint): replace unnecessary assert_eq! with assert! (#1079) 2022-02-23 20:35:52 +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