Commit Graph

2154 Commits

Author SHA1 Message Date
imsuck
a001833975
fix(compact-bar): mouse-click in simplified-ui (#1917)
* fix(compact-bar): mouse-click in simplified-ui

* fix(compact-bar): fix formatting
2022-11-17 22:53:41 +09:00
Aram Drevekenin
6c15292667
docs(changelog): pane frame fix 2022-11-16 18:00:54 +01:00
Aram Drevekenin
81b08d6057
fix(panes): ensure ejected pane always has a frame (#1950) 2022-11-16 17:59:52 +01:00
Aram Drevekenin
aa2adda475
docs(changelog): cli cwd fix 2022-11-16 16:27:21 +01:00
Aram Drevekenin
cc3ac25c74
fix(cli): measure cwd from cli client rather than the zellij server (#1947)
* fix(cli): measure cwd from cli client rather than the zellij server

* style(fmt): rustfmt
2022-11-16 16:25:01 +01:00
Jae-Heon Ji
ed64cff9b5
docs(changelog): add catppuccin themes 2022-11-16 21:48:15 +09:00
Jae-Heon Ji
c344902e5e
feat(themes): add catppuccin themes (#1937)
* feat(themes): add catppuccin themes

* chore: add official link
2022-11-16 21:47:01 +09:00
har7an
dc922907eb
changelog: Add PR #1769
which falls back to `/bin/sh` if `$SHELL` doesn't exist.
2022-11-15 15:26:33 +00:00
Shunsuke Mie
4aae81faf8
fix(pty): use /bin/sh when SHELL env variable is not found (#1769)
This commit fixes #1722.

In some environment, the SHELL environemnt variable is not exists. It
causes a panic that is reported as #1722. Use generic shell (/bin/sh) to
prevent the panic.

This is a same behavior as tmux.
https://github.com/tmux/tmux/blob/master/spawn.c#L329-L331
2022-11-15 15:22:38 +00:00
Aram Drevekenin
c66a8c0629
docs(changelog): plugin data flow 2022-11-15 12:25:09 +01:00
Aram Drevekenin
3d2a6d6a5a
refactor(plugins): change the data flow (#1934)
* refactor(plugins): do not block render loop

* refactor(plugins): cleanup

* style(fmt): rustfmt

* fix(plugins): various rendering pipeline fixes
2022-11-15 12:21:36 +01:00
Jae-Heon Ji
b2b5bdc564
docs(changelog): update log path 2022-11-13 23:27:18 +09:00
哇呜哇呜呀咦耶
8626e7ab40
update log path (#1927) 2022-11-13 23:25:37 +09:00
har7an
342d1629d0
Errors: Ignore errors from async when quitting (#1918)
* utils/errors: Fix function order in `to_anyhow`

impl for `SendError`. Previously we attached the context to `anyhow!`,
which is wrong (because it doesn't create an `Err` type itself) and
leads to strange behavior where the error seemingly is immediately
panicked upon.

Instead, Wrap `anyhow!` into an `Err()` and then attach the context to
that. This achieves the intended goal and doesn't lead to premature
termination.

* server/terminal_bytes: Ignore error in `listen`

which occurs when quitting zellij with the `Ctrl+q` keybinding. At the
end of the `listen` function we break out of a loop and send a final
`Render` instruction to the Screen. However, when quitting zellij as
mentioned above, the Screen thread is likely dead already and hence we
cannot send it any Instructions. This causes an error in the async tasks
of the panes that handle reading the PTY input.

If we leave the error unhandled, we will have error messages in the log
whenever we quit zellij, even though the application exited normally.
Hence, we now send the final `Render` instruction but do not care
whether it is sent successfully or not.

This is a "workaround" for the fact that we cannot tell whether the
application is quitting or not.

* server/terminal_bytes: Add FIXME note

* changelog: Add PR #1918

don't log errors from async pane threads when quitting zellij
2022-11-12 10:18:15 +00:00
Jae-Heon Ji
b52ca5d13f
docs(changelog): support text input from clipboard 2022-11-12 11:48:20 +09:00
哇呜哇呜呀咦耶
9f827805f1
Support clipboard to text input (#1926) 2022-11-12 11:47:02 +09:00
Aram Drevekenin
a71b2ae890 chore(version): bump development version 2022-11-10 11:48:09 +01:00
Aram Drevekenin
e8baa35515
chore(release): bring back stripping 2022-11-10 10:47:00 +01:00
Aram Drevekenin
c086e33ed3 chore(release): v0.33.0 2022-11-10 09:50:57 +01:00
Aram Drevekenin
d68db715d1
chore(ci): remove msrv check (#1923) 2022-11-09 23:03:11 +01:00
har7an
49b831c032
docs: Improve error handling docs (#1919)
* docs: Improve error handling docs

and add more TL;DRs and new sections about handling specific errors, and
logging errors.

* contributing: Add more coding tips
2022-11-09 18:01:36 +00:00
Aram Drevekenin
d4beabfeb2
docs(changelog): termwiz bump 2022-11-09 17:25:44 +01:00
Jonathan LEI
cbec62c71a
chore(deps): bump termwiz to 0.19.0 (#1896)
* chore(deps): bump termwiz to 0.19.0

* chore: bump MSRV to 1.60
2022-11-09 17:24:41 +01:00
har7an
5975af6e42
cargo: Don't strip release binary (#1916)
* cargo: Don't strip release binary

because the lack of debug symbols makes the panic backtrace completely
useless. It will show a long list of unknown locations then.

Except for a minor space saving of 3-4 MB, debug symbols don't have any
negative side-effects for our application that we're aware of.

* changelog: Add PR #1916

Don't strip debug symbols from release binaries so the backtraces
contain the function names involved.

* cargo: Explicitly keep debug symbols

and add a comment explaining why.
2022-11-09 08:40:02 +00:00
har7an
48bc2281c7
Fix: better error reporting when failing to load plugins (#1912) (#1914)
* utils/input/plugins: Return `Result` when loading

a plugin and failing to find it. Since we look up the plugin in multiple
locations, make sure we preserve each of these lookup failures and
report them to the user. This way the user can see what locations were
actually checked.

In addition, before performing the lookup, deduplicate the array of
locations to check. This prevents errors where we look up the same
plugin multiple times in the exact same locations, which can leave a bad
impression on anyone reading it who isn't familiar with the code.

* server/wasm_vm: Remove obsolete context

which was previouly required because the function it is attached to
returned only an `Option` instead of a `Result`.
2022-11-09 07:28:02 +00:00
Rhythm Bansal
4ba52c80cd
made the README more aesthetic (#1885) 2022-11-08 16:48:12 +01:00
Aram Drevekenin
0cbb08317f
docs(changelog): temp_dir lib 2022-11-08 16:40:44 +01:00
Jonathan LEI
6c79ff9b31
fix: use temp_dir for getting temp folder (#1898) 2022-11-08 16:39:30 +01:00
Aram Drevekenin
1bb12e720e
docs(changelog): kanagawa theme 2022-11-08 16:31:11 +01:00
Serif-7
46dae69f56
docs(examples): create kanagawa.kdl (#1913)
* Create kanagawa.kdl

* style(format): adjust indentation

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2022-11-08 16:30:20 +01:00
matu3ba
ec023197f6
fix(examples): convert ALT-centered config to kdl and smoothify (#1910)
- Alt-hjkl for pane movements everywhere
- faster pane creation in pane mode with hjkl
- add space to exit mode, if it does not break workflow
- dense: only 127 LOC keybindings, 7 LOC general config
- comment-heavy (for potential useful things): 61 LOC comments
2022-11-08 15:56:16 +01:00
raphCode
0477d93444
Do not advertise 24 bit color support unchecked (#1900)
* Fix bat syntax colors when using mosh

Original reason for this line according to Aram:
I set this variable as part of the Sixel support to get notcurses to
work properly. I tried communicating with the notcurses maintainers
about a workaround for this, but to no avail.

* Changelog

* Improve changelog message

* Remove empty function
2022-11-08 13:33:35 +01:00
har7an
453142775c
errors: Remove log::error in server (#1881)
* server/wasm_vm: Replace `log::error!`

with better error logging by means of `non_fatal`. This preserves the
original error and allows adding context information on top. Also makes
error formatting more uniform across the application.

* server/tab: Replace `log::error!`

with better error logging by means of `non_fatal`. This preserves the
original error and allows adding context information on top. Also makes
error formatting more uniform across the application.

* server/route: Replace `log::error!`

and propagate the error to the caller instead.

* server/pty: Replace `log::error!`

with better error logging by means of `non_fatal`. This preserves the
original error and allows adding context information on top. Also makes
error formatting more uniform across the application.

Also add per-instruction error context to make it clear what we tried to
accomplish when an error occured.

* server/panes/tiled_panes: Merge dependencies

and sort them into a better order.

* server/panes/tiled_panes: Replace `log::error!`

with better error logging by means of `non_fatal`. This preserves the
original error and allows adding context information on top. Also makes
error formatting more uniform across the application.

* server/os_input_output: Merge depndencies

and sort them into a better order.

* server/logging_pipe: Replace `log::error!`

with better error logging by means of `non_fatal`. This preserves the
original error and allows adding context information on top. Also makes
error formatting more uniform across the application.

* server/os_io: Remove uses of `log::error`

* changelog: Add PR #1881

* server/os_io: Gracefully handle failing resize

for terminals IDs that don't exist, instead of propagating the error to
the user.

* server/lib: Remove leftover log message

* server/pty: Log error cause

rather than providing a hard-coded error reason which is plain wrong in
this context.

* server/screen: Remove calls to `log::error!`

and change `get_active_tab(_mut)?` to return a `Result` instead of an
`Option`. This already makes many places in the code obsolete where
previously "failed to get active tab..." was logged manually.

Rather than logging, use the `anyhow::Error`s we have, along with all
their context information, and log these instead.
2022-11-08 10:56:23 +00:00
Aram Drevekenin
39c8d97054
docs(changelog): various no-frame bugs 2022-11-05 14:46:42 +01:00
Aram Drevekenin
6c3c0f51d0
fix(panes): moving and toggling embed/float with frames (#1909)
* fix(ui): frame broken or missing when embedding/floating without pane frames

* fix(panes): offset properly without pane frames
2022-11-05 14:45:45 +01:00
Aram Drevekenin
dde6ecf09a
docs(changelog): focus in/out event 2022-11-04 17:30:29 +01:00
Aram Drevekenin
8d1a497d10
feat(terminals): send focus in/out events to terminal panes (#1908)
* feat(terminals): send focus in/out events to terminal panes

* style(fmt): rustfmt

* style(fmt): rustfmt
2022-11-04 17:29:41 +01:00
Aram Drevekenin
c34853adac
docs(changelog): cli action tty fix 2022-11-03 11:38:58 +01:00
Aram Drevekenin
582b2458fd
fix(cli-actions): do not query termios for the cli client (#1905) 2022-11-03 11:37:36 +01:00
Aram Drevekenin
98b66109a6
docs(changelog): zellij edit fix 2022-11-03 11:07:48 +01:00
Aram Drevekenin
9ebc9b74ee
fix(edit): treat cwd properly (#1904) 2022-11-03 11:06:37 +01:00
Aram Drevekenin
4905ae65b8
docs(changelog): bold/dim reset fix 2022-11-02 19:25:50 +01:00
Pedro Fedricci
ece1cbe533
fix(terminal): Reset dim SGR independently from bold (#1803) 2022-11-02 19:24:40 +01:00
Aram Drevekenin
897038638d
docs(changelog): clear floating panes indication 2022-11-02 18:12:37 +01:00
Aram Drevekenin
eebbf246b6
fix(ui): clear floating panes indication when closing a command pane (#1897) 2022-11-02 18:11:54 +01:00
Aram Drevekenin
97131fd7f8
docs(changelog): backslash config convert fix 2022-11-02 16:45:20 +01:00
noyez
c8f3b94fde
fix(converter): YAML => KDL conversion with backslash hotkey. (#1879)
* Fixing YAML => KDL conversion with backslash hotkey.

Previously if the hotkey of backslash was used the yaml => kdl
conversion would create a KDL statement like so: `bind "\" {...}`.
That is incorrect kdl syntax since the backslash escapes the following
quote character. A way to get proper KDL is `bind r"\" {...}`. This
commit changes if the old HotKey is a backslash a properly creates KDL
syntax to address the backslash character.

* rustfmt
2022-11-02 16:39:56 +01:00
Aram Drevekenin
4ab04c59a2
docs(changelog): terminating char in search 2022-11-02 14:36:29 +01:00
哇呜哇呜呀咦耶
f334415d57
fix(search): allow terminating char to clear search term (#1853)
* allow terminating char to clear search term

* format code
2022-11-02 14:35:23 +01:00
Jae-Heon Ji
8f293f584f
docs(changelog): remove space from shared_except 2022-11-02 20:17:23 +09:00