1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-27 07:18:13 +03:00
Commit Graph

3448 Commits

Author SHA1 Message Date
Nicolas
217dbfb99d Fix Mulitplexing typo in sidebar 2021-03-31 18:09:16 -07:00
Wez Furlong
d45bbed3fd ssh: fix handling wezterm ssh user@host:22 2021-03-29 21:21:31 -07:00
Wez Furlong
3ee86a2e8b wezterm-ssh: don't assume sh is in /bin
This improves compat with nixos
2021-03-29 21:11:54 -07:00
Wez Furlong
0e581b151f docs: changelog and ssh doc updates 2021-03-29 07:46:14 -07:00
Wez Furlong
1af47804d2 ci: fixup cirrus exclusion 2021-03-28 20:39:49 -07:00
Wez Furlong
5e9bbdeab3 ci: tweak freebsd ci for getdeps rust version check 2021-03-28 20:37:09 -07:00
Wez Furlong
e7e90c7390 ci: pass PATH into get-deps
I think this will help find rustc for platforms that use sudo
2021-03-28 20:33:32 -07:00
Wez Furlong
8a402411f0 get-deps: check min rust version 2021-03-28 20:26:07 -07:00
Wez Furlong
c6cd1a6a33 add placeholder for agent forwarding
It's not fully implemented by libssh2.
refs: https://github.com/libssh2/libssh2/issues/535
2021-03-28 18:27:03 -07:00
Wez Furlong
a3d4b4c722 tidy up unused config field 2021-03-28 18:26:51 -07:00
Wez Furlong
5cfce34b12 add wezterm cli spawn command
This spawns a new tab into the current window by default.
2021-03-28 13:57:29 -07:00
Wez Furlong
98604ff52e Add support for ProxyCommand
`wezterm ssh "-oProxyCommand=nc localhost 22" localhost`

refs: #233
2021-03-28 08:58:26 -07:00
Wez Furlong
32fa186c99 wezterm-gui: add wezterm ssh -oIdentityFile=/some/thing
Allow overriding ssh config options from the command line.

I don't want to replicate the many options that `ssh(1)` has;
this just exposes the `-oNAME=VALUE` syntax.  The config names
are those from `man ssh_config`; `IdentityFile` rather than `-i`.

refs: #457
2021-03-28 08:24:35 -07:00
Wez Furlong
a3a07c8da5 mux: add kill_pane rpc call
This is especially important now that exit_behavior can keep
empty panes around in unexpected circumstances.
2021-03-28 08:07:51 -07:00
Wez Furlong
b48f7f6c6a wezterm-client: adjust log level for TLS creds 2021-03-28 07:34:49 -07:00
Wez Furlong
f6db68564b wezterm-ssh: don't accidentally blend stdout into stderr 2021-03-28 07:29:57 -07:00
Wez Furlong
369888c94e wezterm-client: cut over to new wezterm-ssh bits
refs: https://github.com/wez/wezterm/issues/507
2021-03-28 07:18:38 -07:00
Wez Furlong
e96011bc26 wezterm-client: sort dep list
no functional change
2021-03-28 07:11:31 -07:00
Wez Furlong
be5c255f1b remove dead code 2021-03-28 07:11:31 -07:00
Wez Furlong
9745a24c63 fix: cli proxy would terminate too soon
refs: https://github.com/wez/wezterm/issues/507
2021-03-28 07:10:30 -07:00
Wez Furlong
c966dbae96 fixup win32 build 2021-03-27 21:04:21 -07:00
Wez Furlong
99131a2a98 fixup build on windows, and update tests 2021-03-27 20:40:40 -07:00
Wez Furlong
12225a099a fix spawning new tabs via launcher menu
I wonder how long this has been broken... rather than spawning
into domain "local" it would try to spawn into "`local`" and fail
silently because the error message wasn't logged.

So let's log it, and let's fix it.

refs: https://github.com/wez/wezterm/issues/468
2021-03-27 19:00:55 -07:00
Wez Furlong
53a13e60f5 start up "local" domain when spawning ssh
allows defining launch_menu items to spawn explicitly locally:

```lua
return {
  launch_menu = {
    {
      label = "Local zsh",
      args = {"zsh", "-l"},
      domain = {DomainName="local"},
    },
  }
}
```

refs: https://github.com/wez/wezterm/issues/468
2021-03-27 18:35:28 -07:00
Wez Furlong
26923eefd6 allow splits when using ssh 2021-03-27 18:24:34 -07:00
Wez Furlong
e103653923 RemoteSshDomain now uses wezterm-ssh crate
There are a few notable changes as a result:

* A number of `.ssh/config` options are now respected; host matching
  and aliasing and identity file are the main things
* The authentication prompt is inline in the window, rather than
  popping up a separate authentication window

Refs: https://github.com/wez/wezterm/issues/457
2021-03-27 18:12:34 -07:00
Wez Furlong
5aef725171 pty: unconditionally export some unix+ssh specific things
These were gated to the ssh feature, but I want to use them
with wezterm-ssh, and externally defined ssh pty implementation.
2021-03-27 07:25:00 -07:00
Wez Furlong
13f13d7309 wezterm-ssh: add pubkey based auth
I can't get this to succeed though; I suspect there may be a lingering
bug from libssh2 and/or trailing support for newer openssh features.

refs: https://github.com/wez/wezterm/issues/457
2021-03-26 23:54:57 -07:00
Wez Furlong
6bb941b653 wezterm-ssh: flesh out improved ssh crate
This implementation should be less prone to stutters/stalls
than my earlier hacky implementation in pty/src/ssh.rs
2021-03-26 21:57:44 -07:00
Wez Furlong
c6308202cb hyperlinks, selection by word and line deal with wrapping better
These now operate in terms of logical lines so they deal with
lines that have wrapped outside the viewport better than in
previous releases.

closes: https://github.com/wez/wezterm/issues/408
2021-03-26 14:52:00 -07:00
Wez Furlong
0f23c140d1 partial revert of prior commit; it's not quite right
https://github.com/wez/wezterm/issues/408
2021-03-26 13:52:39 -07:00
Wez Furlong
d827be990d speculatively apply hyperlinks to logical lines
This might be all that is needed to make multiline implicit hyperlinks
function, but I need to transfer this commit to another machine to try
it.

refs: https://github.com/wez/wezterm/issues/527
refs: https://github.com/wez/wezterm/issues/408
2021-03-26 13:47:27 -07:00
Wez Furlong
57b0911504 add Pane::get_logical_lines
refs: https://github.com/wez/wezterm/issues/527
refs: https://github.com/wez/wezterm/issues/408
2021-03-26 13:18:44 -07:00
Wez Furlong
e0f5b41446 rangeset: clippy 2021-03-26 11:57:13 -07:00
Wez Furlong
945c95faa7 fixup .ssh path on windows 2021-03-26 10:03:22 -07:00
Wez Furlong
cdae65238a ssh2: on windows, link against openssl
The wincng based build doesn't recognize newer keys which makes it
impossible to connect to a reasonably up to date Fedora installation.

This commit points to my branch of ssh2-rs that has some changes to
build ssh2 against the vendored openssl that is already part of
the dependency graph for wezterm.

refs: https://github.com/wez/wezterm/issues/507
2021-03-26 10:00:43 -07:00
Wez Furlong
cfe6894e83 fix warning on win32 2021-03-26 09:10:32 -07:00
Wez Furlong
64236c6216 clippy 2021-03-26 09:03:28 -07:00
Wez Furlong
a220237b90 bintree: clippy lint 2021-03-26 09:01:54 -07:00
Wez Furlong
bc5c1fcfc4 wezterm-ssh: set defaults for user, port and agent 2021-03-26 08:51:12 -07:00
Wez Furlong
41223e9c1b get-deps: avoid warning when run on macos
refs: #577
2021-03-26 08:30:08 -07:00
Wez Furlong
0643e8b0ed add window:get_selection_text_for_pane
refs: https://github.com/wez/wezterm/issues/575
2021-03-25 22:10:29 -07:00
Wez Furlong
1a7d3828fd ensure lines are marked dirty when rewrapping
refs: https://github.com/wez/wezterm/issues/574
2021-03-25 16:02:27 -07:00
Wez Furlong
dc4676047e stronger invalidation when resizing
This seems to make it very difficult to reproduce the blanked
out regions in the related issue.

refs: https://github.com/wez/wezterm/issues/574
2021-03-25 15:16:50 -07:00
Aaron Abramov
786888ce0a update k9 to 0.11.0 to make it work with rustc@1.51.0
1.51.0 no longer takes non string literals in `panic()`. k9@0.11.0 fixes that
2021-03-25 10:39:00 -07:00
Wez Furlong
99f79143b4 cargo update 2021-03-25 10:08:03 -07:00
Wez Furlong
2902a76c5c lint: fix some clippy stuff 2021-03-25 10:05:34 -07:00
Wez Furlong
3bec6fb5c0 lint: remove redundant semicolons
Newer versions of Rust emit warnings for these
2021-03-25 09:44:27 -07:00
Wez Furlong
dbd7fc28a5 Raise minimum Rust version to 1.51, de-vendor openssl on unix
Rust 1.51 allows addressesing a long-standing TODO which was that we
shouldn't need to build a vendored copy of openssl on most sensible unix
systems.

We do require a vendored copy on macOS and Windows, but due to the way
that Cargo's feature resolver worked, it wasn't possible for this
requirement to be respected.

Rust 1.51 introduces `resolver="2"` which can deal with this feature
resolution!

https://doc.rust-lang.org/nightly/cargo/reference/features.html#feature-resolver-version-2

The upshot of this is that building wezterm on real unix systems that
are not macos will now link against the system libssl, resulting in both
a shorter compile time and less headaches arising from having a slightly
different openssl used by wezterm than the rest of the system.

cc: @jsgf
2021-03-25 09:43:50 -07:00
Wez Furlong
a2bad801d2 don't rewrap the alt screen on resize
It is only used by applications that repaint on a resize event,
and us rewrapping makes it harder to have an ideal view afterwards.

This change makes us more consistent with VTE's behavior in this case.

This helps with https://github.com/wez/wezterm/issues/574 but doesn't
completely resolve it.
2021-03-25 08:39:44 -07:00