1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-22 04:41:34 +03:00
Commit Graph

1121 Commits

Author SHA1 Message Date
Wez Furlong
b673dfd4d7 fixup some warnings, rename mux related flags 2019-06-13 21:53:14 -07:00
Wez Furlong
1d44098747 add cli command to list tabs 2019-06-13 21:53:14 -07:00
Wez Furlong
a6ff84a268 fixup fontconfig detection on centos 7
This compiles on my centos 7 machine, but I've not tried to run
the gui frontend on this system because it is headless.
2019-06-13 21:51:16 -07:00
Wez Furlong
2156d4d9a3 use https for freetype2, as it is easier to access via a proxy 2019-06-13 21:20:56 -07:00
Wez Furlong
01a8c32b55 unblock tunneled mux protocol work
It's taking a while for https://github.com/jwilm/vte/pull/20 to get
merged, so point to my branch directly while I build out some
tunneled mux protocol escape sequences.

I'll need to fork vte on crates.io if vte doesn't merge the PR
before the next termwiz crate bump.
2019-06-13 06:57:10 -07:00
Wez Furlong
1ec8575da5 make ClientSession generic over Read+Write 2019-06-12 23:35:32 -07:00
Wez Furlong
74717744ba Remove perssimstic do_paint call
This do_paint call was added in 8995974124
but I don't think it was intentional; it looks like an accidental commit
of something during debugging.

The intent is that we tick over and paint every tick (~50ms) and this
behavior here was causing us to paint after every input event, which is
undesirable when processing the selection.

refs: https://github.com/wez/wezterm/issues/33
2019-06-12 08:21:25 -07:00
Wez Furlong
b31e9ecb56 allow skipping mux permission check
When using WSL, we want to place the unix socket on NTFS and that
reports an insecure set of permissions which cause us to refuse
to start up.

As a bit of a gross hack, allow skipping that check by setting an
environmental variable:

```
WEZTERM_SKIP_MUX_SOCK_PERMISSIONS_CHECK= wezterm start --front-end muxserver
```

that works best in conjunction with this in the WSL `.wezterm.toml`
file: (swap `wez` with your username):

```
mux_server_unix_domain_socket_path = "/mnt/c/Users/wez/.local/share/wezterm/sock"
```

refs: https://github.com/wez/wezterm/issues/33
2019-06-12 07:39:28 -07:00
Wez Furlong
a2b52eb777 remove IsTabDead rpc; can infer it from poll 2019-06-12 07:05:38 -07:00
Wez Furlong
cc29782a72
add note about winpty 2019-06-11 08:55:30 -07:00
Wez Furlong
a63784e19a fix linux compilation 2019-06-11 08:45:01 -07:00
Wez Furlong
abe656f51a when attaching, don't spawn a new window unless nothing attached 2019-06-11 08:40:30 -07:00
Wez Furlong
7b7258d410 plumb title for mux tabs 2019-06-11 08:35:07 -07:00
Wez Furlong
a7306f520a improve window<->tab management in spawn and mux
spawn now requires that the window_id be passed in; this makes it
a bit easier to spawn a remote tab into an existing window.
As part of this, beef up how we manage the window/tab association.
2019-06-11 08:23:21 -07:00
Wez Furlong
7456c06028 basically working attach to remote tabs/windows
The Domain::spawn interface needs to be adjusted to allow indicating
which window we want to spawn into, or whether the spawn should
create a new window, but aside from that, we can now attach to
a mux server and instantiate tabs and windows!
2019-06-11 06:48:19 -07:00
Wez Furlong
9b6800f589 we can now pass the clipboard back from the remote tab
So clicking to select now populates the clipboard
2019-06-10 08:13:14 -07:00
Wez Furlong
2ae68209b7 improve dirty line management in client tabs
This fixes up a case where a tab was closed and the screen
didn't repaint to show the now-current tab.
2019-06-10 07:57:08 -07:00
Wez Furlong
2a91921b6e poll more frequently 2019-06-10 07:49:55 -07:00
Wez Furlong
b5856cf474 clear dirty lines as part of obtaining the coarse data 2019-06-10 07:45:04 -07:00
Wez Furlong
abd81d1c01 slightly improve cpu usage by limiting poll frequency
The client domain stuff is now what I'd describe as almost
basically functional.  It's not a great experience because
the latency is a bit high (it uses the coarse render data
as a proof of concept, and polls that every 100ms), and doesn't
connect the clipboard to the remote session.  It also doesn't
enumerate and instantiate tabs for existing tabs on the remote
server, and doesn't have a way to gracefully detach from the
remote.

However, it is possible to connect and spawn tabs and interact
with them.
2019-06-10 07:27:35 -07:00
Wez Furlong
f95cdfad0e clippy 2019-06-09 21:15:43 -07:00
Wez Furlong
70579b45b7 improve error handling in mux codec 2019-06-09 21:00:00 -07:00
Wez Furlong
24559d508f fix a couple of warnings 2019-06-09 18:00:46 -07:00
Wez Furlong
8b6317ba19 add resize to clienttab 2019-06-09 17:59:41 -07:00
Wez Furlong
d00eb0cab4 implement client side send paste 2019-06-09 16:39:54 -07:00
Wez Furlong
86cd39eb4e we can now send input to a client tab 2019-06-09 16:33:57 -07:00
Wez Furlong
c1e605aedf register client tab with mux, add reader that never reads 2019-06-09 15:58:06 -07:00
Wez Furlong
46fb1fe40c we can now see the remote tab rendered via the muxed domain 2019-06-09 13:38:19 -07:00
Wez Furlong
ee54864d6a allow writing to a muxed tab 2019-06-09 13:00:36 -07:00
Wez Furlong
661daa4f77 add stub renderable for muxed tab 2019-06-09 12:44:22 -07:00
Wez Furlong
e55233aa3d add option to use mux domain 2019-06-09 11:41:47 -07:00
Wez Furlong
18d5814b4f add stub for muxed tab 2019-06-09 11:35:17 -07:00
Wez Furlong
a89373be63 make mux traits Downcast-able 2019-06-09 11:14:43 -07:00
Wez Furlong
7197ee6277 add Downcast trait to FrontEnd
This removes some awkwardness in the impl by allowing casting
to a concrete implementation.  This is a pattern I want to use
more widely and this diff proves the concept.
2019-06-09 11:13:05 -07:00
Wez Furlong
bfdeca4b79 start building out the muxed client Domain 2019-06-09 10:58:52 -07:00
Wez Furlong
e98d8acb96 add spawn rpc 2019-06-09 08:15:37 -07:00
Wez Furlong
0a1dd49409 more dyn courtesy of cargo +nightly fix 2019-06-09 07:44:02 -07:00
Wez Furlong
b43c207167 remove defunkt write_all function
This was from a time when we were miusing non-blocking io
2019-06-09 07:36:30 -07:00
Wez Furlong
8055957406 clippy 2019-06-09 07:33:00 -07:00
Wez Furlong
92917a3a66 use PtySize in Tab::resize interface 2019-06-09 06:53:24 -07:00
Wez Furlong
c8ad858a29 connect domain id to spawn_tab
Even though we currently only have a single domain, we're now able
to spawn tabs in alternate domains.
2019-06-08 21:31:33 -07:00
Wez Furlong
87e7a7089c assign domains ids and associate tabs with them
The idea is that we can use this to spawn a tab in a
specific domain.  For example, "spawn tab in domain of current tab"
or "spawn tab in default domain".
2019-06-08 21:30:54 -07:00
Wez Furlong
5ebad9e63a dyn everywhere 2019-06-08 21:28:11 -07:00
Wez Furlong
f41c62c07b another linux build fix 2019-06-08 18:46:53 -07:00
Wez Furlong
68d5287acb fixup linux build 2019-06-08 18:25:12 -07:00
Wez Furlong
63b18c4951 couple of readme fixes 2019-06-08 16:26:34 -07:00
Wez Furlong
75a950328a tweak log level for ignored freetype error 2019-06-08 15:40:57 -07:00
Wez Furlong
5ccff722ef more log 2019-06-08 15:37:55 -07:00
Wez Furlong
5bf2268292 more log changes 2019-06-08 15:30:47 -07:00
Wez Furlong
34d6d95b6f adopt log and env_logger for logging 2019-06-08 15:17:41 -07:00