1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-29 00:21:57 +03:00
Commit Graph

2099 Commits

Author SHA1 Message Date
Wez Furlong
c95215b057 ci: rename <target>pr to just <target> 2020-02-12 13:36:31 -08:00
Wez Furlong
5d2d5222cd ci: forgot to set the release tag for nightly builds 2020-02-12 13:32:05 -08:00
Wez Furlong
ed9d8c9aeb ci: remove old badges from readme 2020-02-12 13:21:57 -08:00
Wez Furlong
d96a942421 ci: black format generate-workflows 2020-02-12 13:20:11 -08:00
Wez Furlong
b6673db39a CI: disambiguate fedora and centos nightly rpms 2020-02-12 13:16:13 -08:00
Wez Furlong
98984ec3a5 CI: take a stab at generating workflows 2020-02-12 13:05:21 -08:00
Wez Furlong
d5f467513a CI: build rpms for centos 7 2020-02-12 08:30:41 -08:00
Wez Furlong
9d668a6a33 cargo update 2020-02-11 07:49:05 -08:00
Jun Wu
4651b4c703 termwiz: bump regex to 1.0+
This makes termwiz (likely) use the same regex when being compiled
together with other dependencies in the eco-system.
2020-02-11 07:45:50 -08:00
Jun Wu
ca2e9c013a termwiz: do not depend on derive_builder
derive_builder has some extra dependencies that take a while to compile.
The builder feature can be expressed via a 30-line macro. So let's do
that to make termwiz compile faster.
2020-02-11 07:45:50 -08:00
Jun Wu
f51650c891 termwiz: remove dep on palette
The palette crate has a codegen step that translates svg_colors.txt to named.rs.
That makes it hard to build using buck.

Remove the palette dependency so termwiz is easier to build using buck.

I made sure the following code:

    fn main() {
        use termwiz::color::RgbColor;
        let r = RgbColor::from_rgb_str("#02abcd").unwrap();
        let r1 = r.to_tuple_rgba();
        let r2 = r.to_linear_tuple_rgba();
        println!("r1 = {:?}", r1);
        println!("r2 = {:?}", r2);
    }

prints

    r1 = (0.007843138, 0.67058825, 0.8039216, 1.0)
    r2 = (0.000607054, 0.4072403, 0.6104956, 1.0)

before and after the change.
2020-02-11 07:45:50 -08:00
Jun Wu
2dc4cfe61d vtparse: avoid build.rs codegen
Change build.rs codegen to const_fns. This makes vtparse more friendly for buck
build.

Note const_fn functions still have limitation on the current stable (1.41)
rustc (ex. native "match" or "if" cannot be used in const_fn). So I used some
tricks to get it compile.
2020-02-10 22:41:56 -08:00
Wez Furlong
412d0de7f5 rustfmt 2020-02-10 22:23:18 -08:00
Wez Furlong
0242cb7007 Add a minimum tab width for the tab bar
This is a soft minimum rather than a hard minimum, and is not
configurable.

refs: https://github.com/wez/wezterm/issues/147
2020-02-10 22:14:15 -08:00
Wez Furlong
dedce44c54 reattach tabs when reconnecting to a domain
This helps to restore any individually dropped tabs and to detect
tabs that were created by other clients across a reconnection.

refs: https://github.com/wez/wezterm/issues/127
2020-02-10 22:14:15 -08:00
Wez Furlong
df98af9243 Allow building an RPM on CentOS 2020-02-10 19:22:38 -08:00
Wez Furlong
79d8342a9d improve portability of window path/uri check for osc 7 2020-02-09 13:16:08 -08:00
Wez Furlong
65707aba56 allow setting default values for environment variables
This is useful for setting up a reasonable initial environment.
For example, on Windows you might want to set the `prompt` environment
so that some basic shell integration is enabled; this will cause new
tabs to open with the same cwd as the current tab:

```
set_environment_variables = { "prompt"="$E]7;file://localhost/$P$E\\$P$G" }
```

This setting is intended to apply only to the local domain.

refs: https://github.com/wez/wezterm/issues/146
2020-02-09 12:55:04 -08:00
Wez Furlong
15e875f765 make setting tab bar colors more ergonomic
closes: https://github.com/wez/wezterm/issues/148
2020-02-09 09:34:59 -08:00
Wez Furlong
d73a37be24 plumb OSC 7 cwd through to windows pty layer
This allows this prompt setting to work:

```
prompt $E]7;file://localhost/$P$E\$P$G
```

although this one sets it for future prompts:

```
setx prompt $E]7;file://localhost/$P$E\$P$G
```

refs: https://github.com/wez/wezterm/issues/146
2020-02-09 09:10:26 -08:00
Wez Furlong
1a50075ae6 windows: remove gross wsl spawning workaround
This doesn't appear to be needed anymore (perhaps is windows build
dependent?) and removing it is the nicer, cleaner thing to do.
2020-02-09 08:40:51 -08:00
Wez Furlong
9558fbe6a4 Added hide_tab_bar_if_only_one_tab config option
refs: https://github.com/wez/wezterm/issues/143
2020-02-08 08:15:36 -08:00
Wez Furlong
7d94aaa475 Added initial_rows, initial_cols configuration
Allows specifying the size of new windows.

Refs: https://github.com/wez/wezterm/issues/142
2020-02-07 21:43:12 -08:00
Wez Furlong
8f3a233773 Remove dep on palette for resolving color names
Embed rgb.txt and parse it on the fly to produce the list of colors.
This list is a superset of palette's SVG color list.

refs: https://github.com/wez/wezterm/pull/144
2020-02-07 08:58:53 -08:00
Wez Furlong
c7012dec9b refactor: move PDU handling logic to sessionhandler
This is conceptually slightly cleaner and allows sessionhandler to
be agnostic of the details of the channel used to communicate with
the client; it just has a Sender<DecodedPdu> to work with.
2020-02-03 07:46:52 -08:00
Wez Furlong
a8a0ad579e move the umask setting to happen earlier 2020-02-02 20:42:21 -08:00
Wez Furlong
b07ed45447 ci: gah, another round of windows 2020-02-02 20:01:36 -08:00
Wez Furlong
f64cdbe0fa docs: add stable AppImage download link 2020-02-02 18:27:11 -08:00
Wez Furlong
461598af7c revise reported version number
The CI had an issue on windows so I tagged again to kick it into
action and make a new release; revise the version number reported
in the changelog.
2020-02-02 18:20:48 -08:00
Wez Furlong
765184e507 ci: fixup windows tag builder 2020-02-02 18:19:21 -08:00
Wez Furlong
b21e5feba4 docs: update for tls auto-pki changes 2020-02-02 18:17:31 -08:00
Wez Furlong
2489abf9cb connui: accommodate multi-line 2fac prompts
This fixes up the cursor position when the remote host sends
a multi-line prompt.
2020-02-02 17:01:31 -08:00
Wez Furlong
6fb4d61dc0 fix default timeout for default unix domain 2020-02-02 15:44:49 -08:00
Wez Furlong
7257cf18c2 add some more diagnostics for mux connections
I suspect some race condition because adding these made the connect
time hang stop reproducing for me on my local network.

Will try this to the corp vpn.

refs: https://github.com/wez/wezterm/issues/127
2020-02-02 15:02:30 -08:00
Wez Furlong
cb9ec2fa2a biffed: native_tls
We use openssl on all platforms now
2020-02-02 13:03:07 -08:00
Wez Furlong
7504742612 ci: prefer strawberry perl on windows for nightly and tag builds 2020-02-02 13:03:07 -08:00
Wez Furlong
fa4bddd943 mux: improve error handling around ssh bootstrap and tls setup
Work a bit harder to capture more context and log it.

As of this commit, windows is now able to use openssl to connect to
a remote mux over TLS.
2020-02-02 13:03:07 -08:00
Wez Furlong
6d2695d650 nth time's the charm? 2020-02-02 13:03:07 -08:00
Wez Furlong
7e7c67edd6 set the proper path to strawberry perl 2020-02-02 13:03:07 -08:00
Wez Furlong
af084ee720 Try harder to tell cargo where to find perl
It doesn't seem to be finding the executable we want
2020-02-02 13:03:07 -08:00
Wez Furlong
2ea2adf682 tell openssl-src to directly run strawberry perl 2020-02-02 13:03:07 -08:00
Wez Furlong
48729f8287 maybe tell GH actions to add perl to the path 2020-02-02 13:03:07 -08:00
Wez Furlong
462e84f351 build static on windows for static openssl linkage
openssl-src will link openssl statically if the target feature
is set to crt-static, so let's do that.
2020-02-02 13:03:07 -08:00
Wez Furlong
274d22edda tls: revisit cargo features
This commit adjusts the features in Cargo.toml to allow building
without openssl on unix systems.

It teaches the native_tls flavor of the code to perform bootstrapping
via ssh, but is still not usable because there still isn't a way
to get native_tls to use PEM files.
2020-02-02 13:03:07 -08:00
Wez Furlong
9b02089849 mux: tls: auto-bootstrap via ssh
This makes the tls channel much easier to use; the config can now be as
simple as this on the server side:

```toml
[[tls_servers]]
bind_address = "192.168.1.8:8080"
```

and this on the client side:

```
[[tls_clients]]
name = "hostname"
bootstrap_via_ssh = "192.168.1.8"
remote_address = "hostname:8080"
```

and then `wezterm connect hostname` will use ssh to connect to the
host, start the mux server, request the CA and client certs and
then connect to it over TLS.

This is implemented only for openssl at the moment.
2020-02-02 13:03:07 -08:00
Wez Furlong
d2080a4e90 mux frontend: don't panic during shutdown
We could panic with a send error during shutdown in some cli/proxy
related cases.  Avoid that.
2020-02-02 13:03:07 -08:00
Wez Furlong
b5e22941f3 connui: don't panic if the user closes the window while in use
If we're actively outputting to the window and the user closes it,
we don't need to panic.

Make the window a little larger now that it shows more data.
2020-02-02 13:03:07 -08:00
Wez Furlong
28243b2a32 mux: sound groundwork for auto pki
This is a step towards automatic management of TLS certs for the
mux stuff.
2020-02-02 13:03:07 -08:00
Wez Furlong
18a45657be mux: add read and write timeout options for sockets
Adds a default 60 second timeout for read and write for the tls
and unix domain sockets that we create.  This applies to ssh
domains, but not `wezterm ssh` sessions that go direct to ssh ptys.
2020-02-02 13:03:07 -08:00
Wez Furlong
e908dee2bc docs: fix vim typo :-p 2020-02-01 09:11:41 -08:00