Waleed Khan
4afedd626d
build(pty): don't use std::os::fd::RawFd
symbol directly
...
For whatever reason, `portable-pty` doesn't build until Rust v1.66 due to a failure to import `std::os::fd::RawFd`. According to `cargo-msrv`:
```
$ cargo msrv --linear
Fetching index
Determining the Minimum Supported Rust Version (MSRV) for toolchain aarch64-apple-darwin
Using check command cargo check
⠲ Checking 1.68.0 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
⠴ Checking 1.68.0 ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
Check for toolchain '1.68.0-aarch64-apple-darwin' succeeded
Check for toolchain '1.67.1-aarch64-apple-darwin' succeeded
Check for toolchain '1.66.1-aarch64-apple-darwin' succeeded
Check for toolchain '1.65.0-aarch64-apple-darwin' failed with:
┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Compiling libc v0.2.139 │
│ Compiling autocfg v1.1.0 │
│ Checking cfg-if v1.0.0 │
│ Compiling proc-macro2 v1.0.51 │
│ Compiling quote v1.0.23 │
│ Compiling syn v1.0.109 │
│ Compiling unicode-ident v1.0.8 │
│ Compiling version_check v0.9.4 │
│ Compiling pkg-config v0.3.26 │
│ Compiling memchr v2.5.0 │
│ Checking bitflags v1.3.2 │
│ Checking once_cell v1.17.1 │
│ Compiling log v0.4.17 │
│ Compiling num-traits v0.2.15 │
│ Compiling futures-core v0.3.26 │
│ Compiling crossbeam-utils v0.8.15 │
│ Compiling serde_derive v1.0.152 │
│ Compiling thiserror v1.0.39 │
│ Compiling serde v1.0.152 │
│ Compiling jobserver v0.1.26 │
│ Checking pin-project-lite v0.2.9 │
│ Compiling cc v1.0.79 │
│ Checking getrandom v0.2.8 │
│ Checking scopeguard v1.1.0 │
│ Compiling ahash v0.7.6 │
│ Checking futures-sink v0.3.26 │
│ Checking futures-io v0.3.26 │
│ Compiling slab v0.4.8 │
│ Checking lazy_static v1.4.0 │
│ Compiling lock_api v0.4.9 │
│ Checking smallvec v1.10.0 │
│ Checking num_cpus v1.15.0 │
│ Compiling num-integer v0.1.45 │
│ Compiling siphasher v0.3.10 │
│ Compiling rand_core v0.6.4 │
│ Checking fastrand v1.9.0 │
│ Compiling rand v0.8.5 │
│ Compiling phf_shared v0.11.1 │
│ Compiling memoffset v0.8.0 │
│ Checking adler v1.0.2 │
│ Checking pin-utils v0.1.0 │
│ Compiling indexmap v1.9.2 │
│ Compiling futures-channel v0.3.26 │
│ Compiling libz-sys v1.1.8 │
│ Compiling anyhow v1.0.69 │
│ Checking hashbrown v0.12.3 │
│ Compiling phf_generator v0.11.1 │
│ Compiling futures-task v0.3.26 │
│ Checking miniz_oxide v0.6.2 │
│ Checking socket2 v0.4.9 │
│ Compiling crossbeam-epoch v0.9.14 │
│ Compiling futures-util v0.3.26 │
│ Compiling crc32fast v1.3.2 │
│ Checking strsim v0.10.0 │
│ Checking crossbeam-channel v0.5.7 │
│ Checking fnv v1.0.7 │
│ Compiling typenum v1.16.0 │
│ Compiling memoffset v0.6.5 │
│ Checking event-listener v2.5.3 │
│ Checking byteorder v1.4.3 │
│ Checking concurrent-queue v2.1.0 │
│ Checking parking v2.0.0 │
│ Compiling rayon-core v1.11.0 │
│ Checking waker-fn v1.1.0 │
│ Checking async-lock v2.7.0 │
│ Checking futures-lite v1.12.0 │
│ Checking signal-hook-registry v1.4.1 │
│ Checking crossbeam-deque v0.8.3 │
│ Compiling generic-array v0.14.6 │
│ Checking flate2 v1.0.25 │
│ Checking spin v0.9.5 │
│ Checking nanorand v0.7.0 │
│ Checking aho-corasick v0.7.20 │
│ Compiling polling v2.5.2 │
│ Checking regex-syntax v0.6.28 │
│ Compiling ucd-trie v0.1.5 │
│ Checking either v1.8.1 │
│ Compiling phf_codegen v0.11.1 │
│ Compiling lua-src v544.0.1 │
│ Compiling luajit-src v210.4.5+resty2cf5186 │
│ Compiling nom v5.1.2 │
│ Compiling num-rational v0.4.1 │
│ Checking rayon v1.7.0 │
│ Compiling async-io v1.12.0 │
│ Checking weezl v0.1.7 │
│ Checking regex-automata v0.1.10 │
│ Checking async-task v4.3.0 │
│ Checking simd-adler32 v0.3.4 │
│ Compiling core-foundation-sys v0.8.3 │
│ Checking base64 v0.21.0 │
│ Checking tinyvec_macros v0.1.1 │
│ Checking rustc-hash v1.1.0 │
│ Checking lab v0.11.0 │
│ Compiling tinyvec v1.6.0 │
│ Checking zune-inflate v0.2.50 │
│ Compiling mlua v0.8.8 │
│ Checking regex v1.7.1 │
│ Compiling terminfo v0.7.5 │
│ Checking png v0.17.7 │
│ Checking threadpool v1.8.1 │
│ Checking dirs-sys v0.3.7 │
│ Checking percent-encoding v2.2.0 │
│ Checking half v2.2.1 │
│ Checking lebe v0.5.2 │
│ Checking color_quant v1.1.0 │
│ Checking bit_field v0.10.2 │
│ Checking form_urlencoded v1.1.0 │
│ Checking gif v0.11.4 │
│ Checking unicode-normalization v0.1.22 │
│ Checking dirs v4.0.0 │
│ Checking jpeg-decoder v0.3.0 │
│ Checking block-buffer v0.9.0 │
│ Checking digest v0.9.0 │
│ Checking async-channel v1.8.0 │
│ Checking phf_shared v0.10.0 │
│ Compiling libgit2-sys v0.14.2+1.5.1 │
│ Checking cpufeatures v0.2.5 │
│ Checking unicode-bidi v0.3.10 │
│ Checking utf8parse v0.2.0 │
│ Checking opaque-debug v0.3.0 │
│ Compiling thiserror-impl v1.0.39 │
│ Compiling futures-macro v0.3.26 │
│ Compiling wezterm-dynamic-derive v0.1.0 (/Users/waleed/Workspace/wezterm/wezterm-dynamic/derive) │
│ Compiling bytemuck_derive v1.4.0 │
│ Compiling phf_macros v0.11.1 │
│ Compiling pin-project-internal v1.0.12 │
│ Checking tiff v0.8.1 │
│ Compiling signal-hook v0.3.15 │
│ Checking deltae v0.3.0 │
│ Checking scoped_threadpool v0.1.9 │
│ Checking atomic-waker v1.1.0 │
│ Checking blocking v1.3.0 │
│ Checking bytemuck v1.13.1 │
│ Checking phf v0.11.1 │
│ Compiling idna v0.3.0 │
│ Checking csscolorparser v0.6.2 │
│ Checking pin-project v1.0.12 │
│ Checking filedescriptor v0.8.2 (/Users/waleed/Workspace/wezterm/filedescriptor) │
│ Compiling pest v2.5.6 │
│ Checking flume v0.10.14 │
│ Checking sha2 v0.9.9 │
│ Checking exr v1.5.3 │
│ Checking vtparse v0.6.2 (/Users/waleed/Workspace/wezterm/vtparse) │
│ Compiling num-derive v0.3.3 │
│ Checking phf v0.10.1 │
│ Checking nix v0.24.3 │
│ Checking signal-hook v0.1.17 │
│ Checking termios v0.3.3 │
│ Checking serial-core v0.4.0 │
│ Checking ioctl-rs v0.1.6 │
│ Checking termios v0.2.2 │
│ Compiling async-net v1.7.0 │
│ Checking semver-parser v0.10.2 │
│ Compiling async-process v1.6.0 │
│ Compiling pest_meta v2.5.6 │
│ Compiling async-fs v1.6.0 │
│ Checking semver v0.11.0 │
│ Checking memmem v0.1.1 │
│ Checking unicode-segmentation v1.10.1 │
│ Checking finl_unicode v1.2.0 │
│ Checking fixedbitset v0.4.2 │
│ Checking hex v0.4.3 │
│ Checking same-file v1.0.6 │
│ Checking walkdir v2.3.2 │
│ Checking serial-unix v0.4.0 │
│ Compiling pest_generator v2.5.6 │
│ Checking url v2.3.1 │
│ Checking image v0.24.5 │
│ Checking async-executor v1.5.0 │
│ Checking bstr v0.2.17 │
│ Compiling miniz_oxide v0.4.4 │
│ Checking serial v0.4.0 │
│ Checking nix v0.25.1 │
│ Checking euclid v0.22.7 │
│ Checking dirs-sys-next v0.1.2 │
│ Checking filetime v0.2.20 │
│ Checking winnow v0.3.4 │
│ Checking downcast-rs v1.2.0 │
│ Checking shell-words v1.1.0 │
│ Checking dirs-next v2.0.0 │
│ Checking smol v1.3.0 │
│ Checking lru v0.7.8 │
│ Checking fsevent-sys v4.1.0 │
│ Checking match_cfg v0.1.0 │
│ Compiling pest_derive v2.5.6 │
│ Checking promise v0.2.0 (/Users/waleed/Workspace/wezterm/promise) │
│ Checking hostname v0.3.1 │
│ Checking notify v5.1.0 │
│ Checking colorgrad v0.6.2 │
│ Compiling enum-display-derive v0.1.1 │
│ Compiling wezterm-config-derive v0.1.0 (/Users/waleed/Workspace/wezterm/config/derive) │
│ Checking umask v0.1.0 (/Users/waleed/Workspace/wezterm/umask) │
│ Checking shlex v1.1.0 │
│ Compiling openssl-src v300.0.12+3.0.8 │
│ Checking foreign-types-shared v0.1.1 │
│ Checking itoa v1.0.6 │
│ Checking foreign-types v0.3.2 │
│ Compiling io-lifetimes v1.0.5 │
│ Compiling rustix v0.36.9 │
│ Checking errno v0.2.8 │
│ Compiling openssl-sys v0.9.71 │
│ Checking ordered-float v3.4.0 │
│ Checking toml_datetime v0.6.1 │
│ Checking serde_spanned v0.6.1 │
│ Compiling objc_exception v0.1.2 │
│ Checking wezterm-dynamic v0.1.0 (/Users/waleed/Workspace/wezterm/wezterm-dynamic) │
│ Checking toml_edit v0.19.4 │
│ Checking portable-pty v0.8.0 (/Users/waleed/Workspace/wezterm/pty) │
│ error[E0412]: cannot find type `RawFd` in `std::os::fd` │
│ --> pty/src/unix.rs:326:48 │
│ | │
│ 326 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> { │
│ | ^^^^^ not found in `std::os::fd` │
│ | │
│ help: consider importing this type alias │
│ | │
│ 3 | use std::os::unix::prelude::RawFd; │
│ | │
│ help: if you import `RawFd`, refer to it directly │
│ | │
│ 326 - fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> { │
│ 326 + fn as_raw_fd(&self) -> Option<RawFd> { │
│ | │
│ │
│ error[E0412]: cannot find type `RawFd` in `std::os::fd` │
│ --> pty/src/serial.rs:245:48 │
│ | │
│ 245 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> { │
│ | ^^^^^ not found in `std::os::fd` │
│ | │
│ help: consider importing this type alias │
│ | │
│ 8 | use std::os::unix::prelude::RawFd; │
│ | │
│ help: if you import `RawFd`, refer to it directly │
│ | │
│ 245 - fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> { │
│ 245 + fn as_raw_fd(&self) -> Option<RawFd> { │
│ | │
│ │
│ error[E0412]: cannot find type `RawFd` in `std::os::fd` │
│ --> pty/src/lib.rs:114:48 │
│ | │
│ 114 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd>; │
│ | ^^^^^ not found in `std::os::fd` │
│ | │
│ help: consider importing this type alias │
│ | │
│ 40 | use std::os::unix::prelude::RawFd; │
│ | │
│ help: if you import `RawFd`, refer to it directly │
│ | │
│ 114 - fn as_raw_fd(&self) -> Option<std::os::fd::RawFd>; │
│ 114 + fn as_raw_fd(&self) -> Option<RawFd>; │
│ | │
│ │
│ error[E0603]: module `fd` is private │
│ --> pty/src/unix.rs:326:44 │
│ | │
│ 326 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> { │
│ | ^^ private module │
│ | │
│ note: the module `fd` is defined here │
│ │
│ error[E0603]: module `fd` is private │
│ --> pty/src/serial.rs:245:44 │
│ | │
│ 245 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> { │
│ | ^^ private module │
│ | │
│ note: the module `fd` is defined here │
│ │
│ error[E0603]: module `fd` is private │
│ --> pty/src/lib.rs:114:44 │
│ | │
│ 114 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd>; │
│ | ^^ private module │
│ | │
│ note: the module `fd` is defined here │
│ │
│ Checking wezterm-color-types v0.2.0 (/Users/waleed/Workspace/wezterm/color-types) │
│ Checking wezterm-bidi v0.2.2 (/Users/waleed/Workspace/wezterm/bidi) │
│ Some errors have detailed explanations: E0412, E0603. │
│ For more information about an error, try `rustc --explain E0412`. │
│ error: could not compile `portable-pty` due to 6 previous errors │
│ warning: build failed, waiting for other jobs to finish... │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Finished The MSRV is: 1.66.1 ██████████████████████████████████████████████████████████████████████████████████████████████ 00:05:30
```
However, the issue is simple to work around: just don't use the symbol `std::os::fd::RawFd` directly. This commit:
1) changes the interface to use a new exported symbol `RawFd` from the `crate::unix` module;
2) imports `std::os::unix::io::RawFd` instead of `std::os::fd::RawFd` as the symbol exported from `crate::unix`.
Doing so fixes the build in earlier versions of Rust:
```
$ cargo +1.63.0 check -p portable-pty --all-targets
Checking portable-pty v0.8.0 (/Users/waleed/Workspace/wezterm/pty)
error[E0412]: cannot find type `RawFd` in `std::os::fd`
--> pty/src/unix.rs:326:48
|
326 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> {
| ^^^^^ not found in `std::os::fd`
|
help: consider importing this type alias
|
3 | use std::os::unix::prelude::RawFd;
|
help: if you import `RawFd`, refer to it directly
|
326 - fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> {
326 + fn as_raw_fd(&self) -> Option<RawFd> {
|
error[E0412]: cannot find type `RawFd` in `std::os::fd`
--> pty/src/serial.rs:245:48
|
245 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> {
| ^^^^^ not found in `std::os::fd`
|
help: consider importing this type alias
|
8 | use std::os::unix::prelude::RawFd;
|
help: if you import `RawFd`, refer to it directly
|
245 - fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> {
245 + fn as_raw_fd(&self) -> Option<RawFd> {
|
error[E0412]: cannot find type `RawFd` in `std::os::fd`
--> pty/src/lib.rs:114:48
|
114 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd>;
| ^^^^^ not found in `std::os::fd`
|
help: consider importing this type alias
|
40 | use std::os::unix::prelude::RawFd;
|
help: if you import `RawFd`, refer to it directly
|
114 - fn as_raw_fd(&self) -> Option<std::os::fd::RawFd>;
114 + fn as_raw_fd(&self) -> Option<RawFd>;
|
error[E0603]: module `fd` is private
--> pty/src/unix.rs:326:44
|
326 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> {
| ^^ private module
|
note: the module `fd` is defined here
error[E0603]: module `fd` is private
--> pty/src/serial.rs:245:44
|
245 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd> {
| ^^ private module
|
note: the module `fd` is defined here
error[E0603]: module `fd` is private
--> pty/src/lib.rs:114:44
|
114 | fn as_raw_fd(&self) -> Option<std::os::fd::RawFd>;
| ^^ private module
|
note: the module `fd` is defined here
Some errors have detailed explanations: E0412, E0603.
For more information about an error, try `rustc --explain E0412`.
error: could not compile `portable-pty` due to 6 previous errors
warning: build failed, waiting for other jobs to finish...
error: could not compile `portable-pty` due to 6 previous errors
$ cargo +1.63.0 check -p portable-pty --all-targets
Finished dev [unoptimized + debuginfo] target(s) in 0.17s
```
2023-03-12 20:48:01 -07:00
Wez Furlong
4b2973a9d4
deps: open -> 4.0
2023-03-12 20:37:58 -07:00
Wez Furlong
5c4a84726e
wezterm-ssh: fix leaky tests, as described in https://nexte.st/book/leaky-tests.html
2023-03-12 20:34:37 -07:00
Wez Furlong
0d231f6fe4
cargo update
2023-03-12 20:22:05 -07:00
Wez Furlong
fe6280f082
docs: fix pane:split direction top/bottom -> up/down
...
refs: https://github.com/wez/wezterm/issues/3231
2023-03-10 18:26:48 -07:00
Wez Furlong
e026d0427e
include ssh config map in debug logging when running wezterm ssh -v
...
refs: #3176
2023-03-08 11:07:18 -07:00
grant0417
c3286f1bf9
Add comment
2023-03-06 15:00:40 -08:00
Grant Gurvis
9782b71cf1
Filter figterm from stateful check
2023-03-06 15:00:40 -08:00
Wez Furlong
55982436d9
cargo update
2023-03-05 22:18:33 -07:00
Pavel Roskin
a7cc87f30f
gdi.rs: Avoid non-idiomatic iterations over Option, they cause warnings
2023-03-05 13:16:49 -08:00
Wez Furlong
2d05f8f1f2
ssh: support %l and %L in config files
...
We also log a warning when an unsupported token is used.
refs: https://github.com/wez/wezterm/issues/3176
2023-03-01 18:44:11 -07:00
Wez Furlong
0ac1cbc47c
deps: socket2 -> 0.5
2023-02-26 22:33:28 -07:00
Wez Furlong
6878ec3a92
cargo update
2023-02-26 22:32:52 -07:00
Wez Furlong
fecf3bb60b
docs: add mdbook-admonish
2023-02-25 18:19:47 -07:00
Wez Furlong
494fab09ba
ci: docs: deploy directly, rather than via gh_pages branch
2023-02-25 17:49:57 -07:00
Wez Furlong
c5247d21fa
add lp
2023-02-24 17:13:44 -07:00
Wez Furlong
c53d06bcd1
add ko-fi
2023-02-24 17:01:26 -07:00
Wez Furlong
e6ffeaf285
docs: fixup get_pane_direction docs
...
refs: https://github.com/wez/wezterm/issues/3141
refs: https://github.com/wez/wezterm/pull/3011
2023-02-21 20:37:43 -07:00
Artyom Nesterenko
23211fc8a5
Fix typo in "Terminal Emulators and PTYs" section
2023-02-19 07:06:57 -08:00
Maxim Sokolov
3b39aa551d
add docs
2023-02-17 12:03:42 -08:00
Maxim Sokolov
fbadf64f98
simplify direction conversion to lua
2023-02-17 12:03:42 -08:00
Maxim Sokolov
7221c1b3f3
add lua methods to access position and pane in the direction
2023-02-17 12:03:42 -08:00
Wez Furlong
0b7d222240
ci: try harder for app image build
2023-02-17 12:13:42 -07:00
Evgeny
349e9641da
docs: shell-integration: document Xonsh support
2023-02-17 10:41:20 -08:00
Wez Furlong
0bcbdc1baa
ci: maybe fix appimage build
2023-02-17 11:33:35 -07:00
Wez Furlong
70f255bce8
cargo update
2023-02-17 11:30:15 -07:00
Wez Furlong
a5c2b1f3ad
ci: generate appimage from ubuntu20
...
We were doing this from 18, but with 18 on its way out on GH actions,
bump it up.
2023-02-12 10:31:06 -07:00
Wez Furlong
3509e210ce
termwiz: bump version ready for publish
2023-02-12 06:57:31 -07:00
Aram Drevekenin
f2e342a25f
fix(input): support alt-left-bracket
2023-02-12 05:46:17 -08:00
Wez Furlong
b021551080
maybe fix win32 build
2023-02-11 10:07:31 -07:00
Wez Furlong
0006014f02
ssh: detect exit-signal state for channels
...
Need to use a newer version of libssh-rs that can report this state,
as the underlying libssh doesn't fold it into the process exit
status.
refs: https://github.com/wez/wezterm/issues/3095
2023-02-11 10:03:44 -07:00
Wez Furlong
797d3819b7
wsl: default_cwd is now ~
...
This matches up better to most peoples expectations
refs: https://github.com/wez/wezterm/issues/2826
2023-02-11 08:21:18 -07:00
Wez Furlong
73f50efb7f
ls-fonts: emulate the effect of normalize_output_to_unicode_nfc
...
This aids in debugging:
```
; wezterm --config normalize_output_to_unicode_nfc=false ls-fonts --text $(echo a$'\u301\u302')
LeftToRight
0 x_adv=8 cells=1 glyph=aacute,190 wezterm.font("JetBrains Mono", {weight="Regular", stretch="Normal", style="Normal"})
/usr/share/fonts/jetbrains-mono-fonts/JetBrainsMono-Regular.otf, FontConfig
0 á̂ \u{61}\u{301}\u{302} x_adv=0 cells=0 glyph=uni0302,1646 wezterm.font("JetBrains Mono", {weight="Regular", stretch="Normal", style="Normal"})
/usr/share/fonts/jetbrains-mono-fonts/JetBrainsMono-Regular.otf, FontConfig
```
```
; ./target/debug/wezterm --config normalize_output_to_unicode_nfc=true ls-fonts --text $(echo a$'\u301\u302')
LeftToRight
0 x_adv=8 cells=1 glyph=aacute,190 wezterm.font("JetBrains Mono", {weight="Regular", stretch="Normal", style="Normal"})
/usr/share/fonts/jetbrains-mono-fonts/JetBrainsMono-Regular.otf, FontConfig
0 á̂ \u{e1}\u{302} x_adv=0 cells=0 glyph=uni0302,1646 wezterm.font("JetBrains Mono", {weight="Regular", stretch="Normal", style="Normal"})
/usr/share/fonts/jetbrains-mono-fonts/JetBrainsMono-Regular.otf, FontConfig
```
refs: #3093
2023-02-11 08:15:08 -07:00
micmine
f224ed4cc5
Allow negative number for cli get-text line
2023-02-11 07:14:48 -08:00
Wez Furlong
66ec3f6eb6
make command palette font a little larger
...
refs: https://github.com/wez/wezterm/issues/1485
2023-02-10 15:24:45 -07:00
Wez Furlong
a30d624920
docs: command palette font size/color
...
refs: https://github.com/wez/wezterm/issues/1485
2023-02-10 09:59:06 -07:00
Wez Furlong
51e0c1b393
x11/wayland: restore mouse copying to both clipboard and primary selection
...
I don't recall changing it to copy to the primary selection only, and
it doesn't feel like it is something I would want anyway, and I think
it generally makes things annoying for all but power users
https://fosstodon.org/@trentskunk@mstdn.social/109808345817367266
2023-02-09 12:56:51 -07:00
Wez Furlong
a5b449f364
ssh: do our own proxycommand handling
...
Adapt the code we were using for libssh2 and use it for both
libssh and libssh2 so that we have consistent proxy command
support on both unix and windows, and both versions of the
ssh libraries.
This may help resolve the linked issue on windows, or at least,
uncover the next layer of problem(s).
refs: https://github.com/wez/wezterm/issues/3083
2023-02-09 09:08:46 -07:00
Wez Furlong
508ea437df
window: negative caching for xdg-portal
...
When it outright doesn't work, just cache that state rather than
repeatedly querying it.
refs: https://github.com/wez/wezterm/issues/3082
2023-02-09 08:49:35 -07:00
Anthony M. Cook
3b691a7688
Add Solus build dependencies
2023-02-09 07:08:38 -08:00
Wez Furlong
62dc342128
cargo update
2023-02-08 21:25:41 -07:00
Wez Furlong
69fce071ea
config: allow config_builder to work with set_config_overrides
...
refs: https://github.com/wez/wezterm/issues/3079
2023-02-08 21:24:26 -07:00
Wez Furlong
fd5c6dceb1
window: use a shorter timeout for xdg portal reads
...
A user reported this:
08:47:13.372 DEBUG window::os::x11::connection > Unable to
resolve appearance using xdg-desktop-portal: Read:
org.freedesktop.DBus.Error.TimedOut: Failed to activate service
'org.freedesktop.portal.Desktop': timed out
(service_start_timeout=120000ms)
which is an issue with their xdg-portal service.
Rather than have wezterm block for 2 minutes on startup, we give it
1 second, and log the issue as a warning.
2023-02-08 09:19:28 -07:00
Antoine Busch
70d2829b79
palette: add CTRL-p / CTRL-n key bindings to move up/down
2023-02-08 07:13:18 -08:00
Wez Furlong
1596934132
docs: command palette
...
refs: https://github.com/wez/wezterm/issues/1485
2023-02-07 16:32:42 -07:00
Wez Furlong
e5e5ce610e
palette: add full doc and enum name to text to match
...
refs: https://github.com/wez/wezterm/issues/1485
2023-02-07 15:41:37 -07:00
Wez Furlong
3eede5c248
macos: make initial position consistent with window:set_position
...
refs: https://github.com/wez/wezterm/issues/2976
2023-02-07 13:02:59 -07:00
Wez Furlong
d00845baad
docs: webgpu
...
refs: https://github.com/wez/wezterm/issues/2756
2023-02-07 11:16:55 -07:00
Wez Furlong
fc27defd25
ci: remove ubuntu 18
...
refs: https://github.com/actions/runner-images/issues/6002
2023-02-07 09:48:33 -07:00
Wez Furlong
cc15f97a55
mux: only resize zoomed pane when resizing a tab
...
Previously, when resizing a tab, we'd unzoom it, recompute the resize
deltas and adjust every pane's non-zoomed position and re-zoom the
original pane.
When the alt screen is active, wezterm doesn't reflow resized lines,
and there a number of situations where the only effective change to
the line was updating a seqno; the content of those panes doesn't
actually update until the application(s) attached to the PTY
receive SIGWINCH from the kernel.
Since we were resizing the zoomed pane twice in quick succession
we could double-tap SIGWINCH and the application might coalesce
and process only one of the resize events.
The result of that was that we might see the state from either
the first or second resize event and then not get any other updates
until the application repainted itself.
This commit re-structures the resize behavior around zooms so that
we only resize the zoomed pane. When unzooming we'll fixup the
no-zoomed sizes for the whole tab. That means that we need to
store the pre-zoom size in order to correctly calculate those
sizes for the case where a pane was zoomed, the tab resized, and
then the pane was unzoomed again.
refs: https://github.com/wez/wezterm/issues/3068
2023-02-07 09:32:08 -07:00