Commit graph

271 commits

Author SHA1 Message Date
Kyle Sutherland-Cash
ce92374f8e cargo fmt 2021-05-08 10:55:13 -07:00
Kyle Sutherland-Cash
4fb4faa28d Markups from self-review 2021-05-08 05:07:41 -07:00
Kyle Sutherland-Cash
9a3e8bcb84 First round of merging against server-client and color stuff 2021-05-08 04:32:31 -07:00
dantepippi
543b70a2bd
Moving the sync command to the Tab mode (#412)
* Moving the sync command to the Tab mode

* Fixing bug related to plugin panes and sync mode

When sync mode was enabled the input from a plugin pane was being
incorrectly ignored.
2021-05-07 16:07:23 +02:00
Aram Drevekenin
632a7a3209
fix(compatibility): upgrade vte to support csi subparameters (#469)
* fix(compatibility): upgrade vte to support csi subparameters

* style(fmt): rustfmt and clippy
2021-05-07 16:03:45 +02:00
a-kenji
c6ec5b22c9
Merge pull request #468 from a-kenji/partial-unbind-modes
Add more Functionality to Unbind
2021-05-07 15:07:23 +02:00
Kunal Mohan
61e8d09151 hotfix(logging): let logging fail silently while testing 2021-05-07 16:50:58 +05:30
Kunal Mohan
2446aec82c hotfix(logging): fix atomic_create_file and make set_permissions() return an error 2021-05-07 15:42:00 +05:30
a-kenji
c7ad6d33ea !fixup Add more Functionality to Unbind
* Used the unbind
2021-05-07 10:54:35 +02:00
a-kenji
79a4f76e93 Add more Functionality to Unbind
The default keybinds can be unbound either for a specific mode, or for every mode.
It supports either a list of `keybinds`, or a bool indicating that every keybind
should be unbound:

```
keybinds:
    unbind: true
```
Will unbind every default binding.

```
keybinds:
    unbind: [ Ctrl: 'p']
```
Will unbind every default `^P` binding for each mode.
```
keybinds:
    normal:
        - unbind: true
```
Will unbind every default keybind for the `normal` mode.
```
keybinds:
    normal:
        - unbind: [ Alt: 'n', Ctrl: 'g']
```
Will unbind every default keybind for `n` and `^g` for the `normal` mode.
2021-05-07 10:51:35 +02:00
Kunal Mohan
d5433f8f89
Merge pull request #223 from zellij-org/isolate-pty
Psuedo Client-Server model
2021-05-06 22:11:07 +05:30
Kunal Mohan
7982636741 explicitly set file and directory permissions 2021-05-06 22:01:27 +05:30
Aram Drevekenin
837cb8d15a
fix(compatibility): pass vttest 8 (#461)
* fix(compatibility): pass vttest 8

* style(comment): remove unused

* style(grid): sometimes it's just easier to do what clippy wants...
2021-05-05 17:09:24 +02:00
Kunal Mohan
c1dd2c588e Fix after rebase 2021-05-04 20:48:28 +05:30
Kunal Mohan
585b225290 Use ZELLIJ_SOCKET_DIR env variable and make user specific tmp dir 2021-05-04 20:48:18 +05:30
Kunal Mohan
a05a12dbec Add version to socket path to avoid problems after version update 2021-05-04 20:48:17 +05:30
Kunal Mohan
d33106431d Fix after rebase 2021-05-04 20:48:17 +05:30
Kunal Mohan
ea552d71e4 Introduce IpcReceiverWIthContext and move ipc stuff to common/ipc.rs
Fall back to /tmp/zellij-{uid} directory if runtime_dir is not available.
Use serialize_into() to avoid Vec allocation.
And some cleanup
2021-05-04 20:48:17 +05:30
Kunal Mohan
c6f93ba0d2 use better names for senders, receivers and threads 2021-05-04 20:48:17 +05:30
Kunal Mohan
913697b144 Place socket file in runtime directory or cache directory and use names crate for socket file name 2021-05-04 20:48:17 +05:30
Kunal Mohan
93956bdcca use bincode::deserialize_from() to prevent data loss. 2021-05-04 20:48:17 +05:30
Kunal Mohan
da9b6fd607 use BufRead and BufWrite with sockets 2021-05-04 20:48:17 +05:30
Kunal Mohan
3f70c585c2 nit fixes 2021-05-04 20:48:16 +05:30
Kunal Mohan
1eb732773a use Uuid to generate unique server socket names 2021-05-04 20:48:16 +05:30
Kunal Mohan
9110e444b8 remove Split, OpenFile and MoveFocus from CliArgs 2021-05-04 20:48:16 +05:30
Kunal Mohan
42079f8d04 Refactor CommandIsExecuting to have a single variant 2021-05-04 20:48:16 +05:30
Kunal Mohan
b7aa3fc21a Use interprocess crate for IPC 2021-05-04 20:48:16 +05:30
Kunal Mohan
9fc1f0038e Refactor ServerInstruction enum to use Action enum 2021-05-04 20:48:16 +05:30
Kunal Mohan
27393dfcf3 Share SessionMetadata between the server_router and the ipc_server thread 2021-05-04 20:48:15 +05:30
Kunal Mohan
246899a1dd Remove ErrorContext from IpcSender and nit fixes 2021-05-04 20:48:15 +05:30
Kunal Mohan
fedb588330 Fix after rebase 2021-05-04 20:48:15 +05:30
Kunal Mohan
30d0ec2a40 fix terminal window resize tests by restricting lifetime of locks 2021-05-04 20:48:15 +05:30
Kunal Mohan
2a648187fc Fix after rebase 2021-05-04 20:48:15 +05:30
Kunal Mohan
223ee743e1 Move screen and plugins to client side.
Remove AppInstruction enum
spawn pty thread, screen thread and plugin thread on demand
2021-05-04 20:48:15 +05:30
denis
ee14d5f5dd wip: helper functions for ServerInstruction 2021-05-04 20:48:14 +05:30
Kunal Mohan
ea732166e3 client side threads should send messages directly to server and router threads should do the actual routing 2021-05-04 20:48:14 +05:30
Kunal Mohan
4f088e8185 split start into start_server and start_client 2021-05-04 20:48:14 +05:30
Kunal Mohan
2059d2c6aa Fix after rebase 2021-05-04 20:48:14 +05:30
Kunal Mohan
813547483f Rename notify_server to connect_to_server 2021-05-04 20:47:52 +05:30
Kunal Mohan
e30ec5745e Add router thread on server side as well 2021-05-04 20:47:52 +05:30
Kunal Mohan
90982c3e47 Some documentation an ClientOsApi stuff 2021-05-04 20:47:52 +05:30
Kunal Mohan
fe8fb79da0 a probable fix for tests 2021-05-04 20:47:52 +05:30
Kunal Mohan
af445394c0 minor fix while opening new tab 2021-05-04 20:47:52 +05:30
Kunal Mohan
bbcea31988 Synchronize update tabs actions using command_is_executing 2021-05-04 20:47:52 +05:30
Kunal Mohan
965cc71918 Hide IpcChannel entirely behind OsApi 2021-05-04 20:47:52 +05:30
Kunal Mohan
660434be06 documentation and nit fix 2021-05-04 20:47:52 +05:30
Kunal Mohan
bc2345c413 Hide server-side Ipc channels creation behind OsApis and some documentation fixes 2021-05-04 20:47:52 +05:30
Kunal Mohan
3ef2715827 increase snapshot time 2021-05-04 20:47:51 +05:30
Kunal Mohan
5d06a49f8a fix fmt errors 2021-05-04 20:47:51 +05:30
Kunal Mohan
fd1debaa79 Fix after rebase 2021-05-04 20:47:51 +05:30