Commit graph

1852 commits

Author SHA1 Message Date
a-kenji
0b6001305b
feat: add capability to dispatch actions from cli (#1265)
* feat: add capability to dispatch actions from cli

Add capability to dispatch actions from the cli.

Can be invoked through `zellij action [actions]`

Automatically sends the action either to the current session,
or if there is only one session to the single session.

If there are multiple sessions, and no session is specified it will
error out.

Example:
1.
```
zellij action "[NewTab: , NewTab: ]"
```
2.
```
zellij -s fluffy-cat action '[NewPane: , WriteChars: "echo Purrr\n" ]'
```
3.
```
zellij -s fluffy-cat action '[ CloseTab, ]
```

* add: error message on malformed input

Add an error message on malformed input, for the `action`'s dispatch.
Rather than resulting in a panic.

* add: function to query the client id

* add: send specific actions to certain clients

Adds ability to send actions, that don't impact the server state
to all connected clients. For example `MoveFocus`

* add: client_id to non blocking actions

* chore(fmt): `cargo fmt`

* add: pick correct session, if there is exactly one

* add: use correct `client_id` for detach action

* add: make `[ ]` opaque to the user

* add: miette to toplevel to improve error message

* add: fake client reading configuration

Add the fake client reading configuration files,
this allows actions, that rely on configuration work
correctly. This is an intermediate solution, and should ideally not
be needed. It would be better if most of this state would be handled
by the server itself.

* chore(fmt): rustmt

* add: ability to detach multiple clients

Add ability to detach multiple clients at the same time.

* remove: obsolete functionality

* remove: unused functionality

* add: send correct action upon exiting

* chore(update): cargo update
2022-06-15 11:20:06 +02:00
a-kenji
253a140804
fix(themes): gruvbox-dark (#1499) 2022-06-14 22:34:05 +02:00
a-kenji
4bb0bfcafb chore(changelog): update clap 2022-06-14 18:33:16 +02:00
a-kenji
f5a8f95307
chore(deps): update clap: 3.1.18 -> 3.2.2 (#1496) 2022-06-14 18:32:19 +02:00
Jae-Heon Ji
7f242d38f1
docs(changelog): deduplicate code in screen.rs 2022-06-14 00:49:45 +09:00
har7an
13d9110280
Deduplicate code in zellij-server screen (#1453) 2022-06-14 00:45:42 +09:00
a-kenji
88757d16a9
fix(themes): unify filename and themename usage (#1492) 2022-06-13 10:51:44 +02:00
a-kenji
6f029bda54
flake.lock: Update (#1489)
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/236cc2971ac72acd90f0ae3a797f9f83098b17ec' (2022-06-03)
  → 'github:nixos/nixpkgs/e0169d7a9d324afebf5679551407756c77af8930' (2022-06-08)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/e64770eac18a1983232a5bc55fa443d9f15cc489' (2022-06-04)
  → 'github:oxalica/rust-overlay/2aef1450ab6ab1ff44f1fbfd8ef2202bcba9d9d3' (2022-06-11)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-06-12 11:01:40 +02:00
amaihoefner
b19e3d9d14
fix: tab selection by left click in compact-bar (#1485) 2022-06-11 20:43:36 +02:00
a-kenji
0e897ba156 docs(changelog): update cli tooltips 2022-06-11 15:58:06 +02:00
a-kenji
298ea2d9b7
fix(cli): clear up tooltip information (#1488) 2022-06-11 15:57:25 +02:00
a-kenji
0cd43a5d1b
fix: update architecture-docs (#1487) 2022-06-11 15:23:11 +02:00
Jae-Heon Ji
8340559c78
docs(changelog): add checksum 2022-06-11 11:21:37 +09:00
Jae-Heon Ji
53da135c3f
ci: add checksum for release binary (#1482) 2022-06-11 11:18:29 +09:00
a-kenji
13c3b052f3 add: trailing comma in match blocks 2022-06-10 20:05:02 +02:00
a-kenji
67d2673cae
add(style): add trailing comma in match blocks (#1483)
This makes it easier to distinguish from normal blocks
2022-06-10 20:03:13 +02:00
a-kenji
bcaa6b82c5 add: typos 2022-06-10 17:05:13 +02:00
Jae-Heon Ji
794662af82
docs(changelog): fix typo 2022-06-10 23:46:10 +09:00
Kian-Meng Ang
16b53aa52f
docs: fix typos (#1481) 2022-06-10 23:37:55 +09:00
a-kenji
edac2eb5a9
add(ci/makefile): run clippy on all features (#1479)
Run clippy on all exposed features, to minimize the possiblility
of breakage.
2022-06-10 12:21:01 +02:00
a-kenji
10baf303c9 add: lints to blame-ignore 2022-06-10 11:44:31 +02:00
a-kenji
9544a09786
add: fix a small lint (#1476) 2022-06-10 11:42:47 +02:00
a-kenji
5b0c2633e7
add(README): quick links to documentation (#1473) 2022-06-09 23:23:34 +02:00
a-kenji
8e51eec877
remove: obsolete nonfunctional configurations (#1474)
The nonfunctional configurations are not needed anymore,
the `tmux-overview` configuration is also not needed anymore,
since there is now a prefix mode that emulates some tmux behaviour,
which is already a good example in the default configuration.
2022-06-09 23:10:36 +02:00
a-kenji
a614d11737
ci(nix): retry nix build on spurious failure (#1472) 2022-06-09 19:58:16 +02:00
Aram Drevekenin
663797f5e3
docs(readme0: adjust installation methods 2022-06-08 15:58:53 +02:00
a-kenji
d0435ab67b chore(changelog): add default-layout option 2022-06-07 21:35:26 +02:00
a-kenji
3ee214ef35
add(option): default_layout (#1467)
* add(option): `default_layout`

Add `option` `default_layout` / `default-layout`,
that allows specifying a different layout, that should
be loaded on start.

Eg:
```
default_layout: compact
```

* add(manpage): `default_layout`
2022-06-07 21:32:04 +02:00
a-kenji
f005c843d8
remove: obsolete comment (#1465) 2022-06-07 20:18:11 +02:00
a-kenji
c7231921e2
move: test-template layout to layouts directory (#1464)
* move: `test-template` layout to `layouts` directory

* remove(layout): test-template
2022-06-07 19:59:24 +02:00
a-kenji
f11fa14f79 chore(changelog): update crossbeam 0.8.0 -> 0.8.1 2022-06-07 18:22:01 +02:00
a-kenji
0f24e684b6
chore(deps): update crossbeam (#1463)
There is a possible race condition in `0.8.0`.
2022-06-07 18:14:05 +02:00
raphCode
92c5c6cb03
Add logging to ipc receiver (#1459)
* Add logging to ipc receiver

* Add to changelog
2022-06-07 17:14:22 +02:00
Aram Drevekenin
6d15af04bd chore(version): bump development version 2022-06-07 15:38:56 +02:00
Aram Drevekenin
3c692248d8 chore(release): v0.30.0 2022-06-07 15:31:52 +02:00
Aram Drevekenin
747b4ae7db
docs(changelog): status bar tips 2022-06-07 14:29:59 +02:00
Aram Drevekenin
3be718371a
feat(ui): add status bar tips (#1462)
* feat(ui): add more tips to status bar

* fix(e2e): clear status-bar-tips cache for each test

* style(fmt): rustfmt
2022-06-07 14:28:39 +02:00
Aram Drevekenin
3e5312087b
docs(changelog): tweak simplified ui 2022-06-06 22:32:58 +02:00
Aram Drevekenin
4a8d72d7b9
feat(ui): tweak simplified UI (#1458)
* fix(ui): tweak simplified-ui tabs

* fix(ui): tweak simplified-ui status bar

* style(fmt): rustfmt
2022-06-06 22:32:14 +02:00
Thomas Linford
627bb71f37
docs(changelog): mouse selection stuck fix 2022-06-06 12:08:10 +02:00
Thomas Linford
c2453b471b
fix(mouse): selection sometimes getting stuck (#1418)
- when multiple mouse events are read from stdin,
start mouse hold repeat loop only if hold event is the last.
2022-06-06 12:06:48 +02:00
Aram Drevekenin
bded92f553
feat(ui): minor tweaks to the compact tab bar (#1457)
* feat(ui): minor tweaks to the compact tab bar

* style(fmt): rustfmt
2022-06-06 11:30:40 +02:00
Aram Drevekenin
56aa269a4b
docs(changelog): client loop fix 2022-06-06 09:31:07 +02:00
Spyros Roum
496196214a
fix(client): exit client-loop on empty message receive (#1454) 2022-06-06 09:30:26 +02:00
Aram Drevekenin
e75b8da1ff
docs(changelog): edit scrollback with default editor 2022-06-06 09:22:11 +02:00
Cosmin Popescu
e1fcf3a6db
feat(scroll): edit scrollback with default editor (#1456)
* initial commit for opening the current buffer in an editor

* fix(editor): take hidden panes into consideration when manipulating tiled grid

* when closing an edit buffer, take the geometry of the replaced buffer from the closed buffer

* if the floating panels are displayed, don't add to hidden panels the current buffer

* strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels

* Revert "strategy changing - put the panels inside a suppressed_panels HashMap instead of hidden_panels"

This reverts commit c52a203a20cf4c87c147be8b9c193ed6458c1038.

* remove the floating panes by moving them to the tiled_panes in hidden_panels

* feat(edit): open editor to correct line and don't crash when none is set

* formatting

* feat(edit): use suppressed panes

* style(fmt): rustfmt and logs

* style(fmt): clean up unused code

* test(editor): integration test for suppressing/closing suppressed pane

* test(e2e): editor e2e test

* style(fmt): rustfmt

* feat(edit): update ui and setup

* style(fmt): rustfmt

* feat(config): allow configuring scrollback_editor explicitly

* style(fmt): rustfmt

* chore(repo): build after merging

Co-authored-by: Aram Drevekenin <aram@poor.dev>
2022-06-06 09:20:07 +02:00
a-kenji
58cc8fb2e1
flake.lock: Update (#1455)
Flake lock file updates:

• Updated input 'flake-utils':
    'github:numtide/flake-utils/04c1b180862888302ddfb2e3ad9eaa63afc60cf8' (2022-05-17)
  → 'github:numtide/flake-utils/1ed9fb1935d260de5fe1c2f7ee0ebaae17ed2fa1' (2022-05-30)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/83658b28fe638a170a19b8933aa008b30640fbd1' (2022-05-26)
  → 'github:nixos/nixpkgs/236cc2971ac72acd90f0ae3a797f9f83098b17ec' (2022-06-03)
• Updated input 'rust-overlay':
    'github:oxalica/rust-overlay/0be302358da0f8ea3d3cc24a0639b6354fc45e7c' (2022-05-28)
  → 'github:oxalica/rust-overlay/e64770eac18a1983232a5bc55fa443d9f15cc489' (2022-06-04)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-06-05 10:32:41 +02:00
a-kenji
2241128c4f
fix(compact-bar): remove duplicate padding (#1451) 2022-06-03 19:58:27 +02:00
a-kenji
9f777fbacc docs(changelog): add compact-bar & compact layout 2022-06-03 11:20:06 +02:00
a-kenji
d62e6fb57e
add(plugin): compact-bar & compact layout (#1450)
* add(plugin): `compact-bar` & `compact` layout

* add(nix): `compact-bar` plugin

* add(config): `compact-bar` to the config

* add(workspace): `compact-bar` to workspace members

* add(assets): `compact-bar`

* chore(fmt): rustfmt

* add(nix): add `compact-bar`

* add: compact layout to dump command

* nix(build): fix destination of copy command

* add(makefile): add `compact-bar` to `plugin-build`

* add(layout): `compact-bar` to layout

* add: install `compact-bar` plugin

* fix(test): update input plugin test

* fix(plugin): default colors for compact-bar
2022-06-03 11:14:38 +02:00