1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-26 06:42:12 +03:00
Commit Graph

4722 Commits

Author SHA1 Message Date
Wez Furlong
bf34be3ab8 gui: ResetFontAndWindowSize should use known dpi
This code was partially replicating the initial window setup
where we didn't necessarily know the dpi, but in the context
where this is run, we do know the dpi for the window, so
let's consistently use that number throughout.

refs: #1039
2021-12-11 09:43:32 -07:00
Wez Furlong
a65a4af9a7 pty: speculative fixup of win32 build 2021-12-11 09:30:51 -07:00
Wez Furlong
7926c31209 pty: introduce ChildKiller trait
In the mux layer, we have some code that takes a `Child` and then
does a bit of naughty reaching through the abstraction to get at
the pid/handle of the child so that we can send it signals even
if the child is itself mutably (and thus exclusively) borrowed
for the purposes of waiting.

That worked fine for local processes spawned in the mux, but we also
use LocalPane to wrap around arbitrary `Child`ren, such as Ssh,
that are not local and that don't have a local process id, which
meant that this hack wouldn't work for them.

To make things a bit worse, those ssh ptys were used to ssh2 days
where we didn't have a way to signal the remote process and just
did nothing, leading to confusing situations such as
https://github.com/wez/wezterm/issues/1197

This commit graduates the hack mentioned in the first paragraph
to its own ChildKiller trait.  This makes the concept of waiting
for the Child distinct from signalling it and explicitly allows
getting a separate object that can be used for signalling.

With that in place, we're forced to implement something appropriate
for the ssh pty implementations; one in the pty crate itself,
one in wezterm-ssh and the wrapper that we use in the mux crate.

The upshot of this is that the `CloseCurrentPane` action now operates
correctly on panes that were the result of split operations.
2021-12-11 08:40:26 -07:00
Sandro Jäckel
66b6f9e6d0 Passthru exit code for other commands in $PROMPT_COMMAND 2021-12-10 20:50:38 -08:00
Wez Furlong
1d2b2cd34f cargo update 2021-12-10 15:26:10 -07:00
Wez Furlong
ebc6e6f8b9 Pick up updated ssh crate + windows fixes 2021-12-10 15:25:48 -07:00
Wez Furlong
04cb8d1d3b gui: skip mouse event handling if window is not focused
The intent is to workaround what appears to be an i3 bug.
Not totally sure this is a good change, but let's try it!

Might also help with an issue on macos.

refs: #1140
refs: #1310
2021-12-10 10:33:00 -07:00
Wez Furlong
7b402678e4 gui: fix initial pixel geometry on hidpi displays
refs: #1387
2021-12-10 09:20:41 -07:00
Wez Furlong
f905ec8100 fix some unused/unread field warnings 2021-12-10 08:18:36 -07:00
Wez Furlong
f11f2c72a3 fix: wezterm cli --no_auto_start switch had no effect
I upgraded Rust and it told me this field of the args
was never read; this commit plumbs that through!
2021-12-10 08:14:05 -07:00
Wez Furlong
852e88a3cc docs: show how to install via winget
refs: #1384
2021-12-09 22:29:20 -07:00
Wez Furlong
348ddcb122 quickselect: de-dup labels
refs: #1271
2021-12-09 09:50:32 -07:00
Wez Furlong
b9aec2fcad tabbar: fix double wide characters in tab titles
refs: #1371
2021-12-09 08:34:19 -07:00
Wez Furlong
4dd014b14e macos: enable rounded corners when title is disabled
refs: https://github.com/wez/wezterm/issues/1034
2021-12-08 21:44:21 -07:00
Wez Furlong
4143d254aa ci: tidy up separate uploader job
Enable it for tags/releases too, and remove some additional git fetches
and installation of the GH CLI inside containers that we no longer need.
2021-12-08 19:57:25 -07:00
Wez Furlong
20c9badfc8 ci: another pass at uploading, with the repo checked out 2021-12-08 11:19:00 -07:00
Wez Furlong
03c7986bb0 ci: bleh, do retry inline as part of upload 2021-12-08 10:31:56 -07:00
Wez Furlong
eeefca0908 ci: add dependency from upload -> build job 2021-12-08 10:16:58 -07:00
Wez Furlong
f89f9b5b31 ci: try uploading to tag outside of docker container 2021-12-08 10:14:08 -07:00
Wez Furlong
8d3b9e55c9 docs: update macos homebrew instructions
closes: #1374
2021-12-08 08:50:04 -07:00
Wez Furlong
66c3b05f53 docs: changelog for #1376 2021-12-08 08:31:22 -07:00
Luis Javier Merino Morán
b262568f0b DECSTR should reset DECLRMM
While the description at DEC STD-070 04-31 does not mention Left Right
Margin Mode (it does mention the left and right margins), the code at
04-34 sets it to FIXED (the reset state, the set state is SETABLE).

From esctest:
DECSETTests.test_DECSET_DECLRMM_ModeResetByDECSTR
2021-12-08 07:29:52 -08:00
Wez Furlong
89d94e1a07 docs: changelog for https://github.com/wez/wezterm/pull/1377 2021-12-08 08:28:33 -07:00
Luis Javier Merino Morán
15f9d9b695 Support empty first param for CUP, HVP, SLRM, STBM
From esctest:
CUPTests.test_CUP_ColumnOnly
HVPTests.test_HVP_ColumnOnly

and the newly added at https://invent.kde.org/ninjalj/esctest.git:
DECSETTests.test_DECSET_DECLRMM_OnlyRight
DECSTBMTests.test_DECSTBM_OnlyBottom
2021-12-08 07:26:48 -08:00
Wez Furlong
0c4a320504 ci: reduce retries
There's not a lot of benefit for trying more than 3 times,
and we risk hitting API rate limits.
2021-12-06 20:46:02 -07:00
Wez Furlong
d98a72f350 ci: also grab artifacts when building a tag 2021-12-06 19:41:10 -07:00
Wez Furlong
1c0298c54d ci: capture artifact before uploading to release
This should make it possible to write a script to grab artifacts
and stick them into the appropriate release if something flakes out.
2021-12-06 19:37:33 -07:00
Wez Furlong
5fe24666fa docs: revise brew cask instructions
Thanks to @StreakInTheSky for figuring out how to disambiguate
this from the lagging brew cask.

refs: https://github.com/wez/wezterm/issues/1374
2021-12-06 17:05:35 -07:00
Wez Furlong
2d99e6e816 ci: fixup upload globs for ubuntu 2021-12-06 13:14:16 -07:00
Wez Furlong
d19a61ae9c ci: more fun with apt 2021-12-06 10:50:52 -07:00
Wez Furlong
6a310c4bd4 ci: ensure APT can use https sources 2021-12-06 10:40:51 -07:00
Wez Furlong
0882d2f546 ci: switch ubuntu20 back to a container
Something weird going on with the rust stuff
2021-12-06 10:37:54 -07:00
Wez Furlong
c033160500 ci: try to debug the debian issue 2021-12-06 10:21:06 -07:00
Wez Furlong
e1260b2337 ci: another stab at quoting for this GH key stuff
Objectively awful, but avoids a python dep on yaml
2021-12-06 10:12:25 -07:00
Wez Furlong
aa200ae8aa ci: try alternate quoting for the GH key install 2021-12-06 10:05:29 -07:00
Wez Furlong
03f5a23939 ci: powertools enable only on centos 2021-12-06 09:59:21 -07:00
Wez Furlong
7df420dce0 ci: dnf requires -y in automation 2021-12-06 09:55:59 -07:00
Wez Furlong
4d5af41f91 ci: fix missing python f"" for "{sudo}" 2021-12-06 09:54:17 -07:00
Wez Furlong
c942dbe02d ci: need curl installed before we can do the GH cli install on debian 2021-12-06 09:52:19 -07:00
Wez Furlong
faec667ff9 ci: install config manager on fedora 2021-12-06 09:49:28 -07:00
Wez Furlong
be1b54ba33 ci: try installing GH inside containers
`gh` is pre-installed in native runners only; when we build in a
container, we need to install it for ourselves.

This commit drops support for building on centos7 as it is a PITA
to get this working there.
2021-12-06 09:45:14 -07:00
Wez Furlong
1e8ebdadfd ci: switch to GH CLI for uploading to releases
I lost a few hours over the weekend because the GH release uploads
are flakey and the action I was using doesn't internally perform
retries.  I had to manually delete the failed uploads from the release
and then re-trigger the builds across several platforms, several times
for both of the releases I pushed this weekend :-/

This commit speculatively switches over to using the GH cli in the
hopes that the error reporting is better, and also because it is
simpler to externally drive a retry loop.

Let's see how this goes.
2021-12-06 09:14:15 -07:00
Wez Furlong
15dcfa4c48 docs: changelog for https://github.com/wez/wezterm/issues/1365 2021-12-05 20:21:18 -07:00
Wez Furlong
672c1cc135 ci: arch pkgbuild should conflict as well as provide wezterm 2021-12-05 19:26:49 -07:00
Wez Furlong
54f1914cce docs: changelog for windows/mux fixes 2021-12-05 19:24:59 -07:00
Wez Furlong
bde2c728bf ci: use consistent git core.abbrev setting for TAGNAME
refs: https://github.com/wez/wezterm/issues/1365
2021-12-05 19:21:06 -07:00
Wez Furlong
ce06d59a94 cargo update 2021-12-05 19:07:49 -07:00
Wez Furlong
955b37ff64 mux server: redirect stdout,stderr to log file on Windows
This got lost somewhere along the way.

Importantly, we need to explicitly set the pty to use invalid stdio
handles for the spawned child in order to avoid a weird situation
where eg: cmd or powershell would end up writing to the log file
despite it being spawned into its own PTY.

refs: #1358
2021-12-05 10:11:43 -08:00
Wez Furlong
13b2337235 mux: assertively error out if we get an unexpected serial
refs: #1358
2021-12-05 09:46:27 -08:00
Wez Furlong
fada0c6ac3 mux: improve diagnostics when spawning mux server
refs: #1358
2021-12-05 09:14:33 -08:00