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

1881 Commits

Author SHA1 Message Date
Wez Furlong
91749f7f1f
docs and missing bit of #4535 #4523 2024-02-03 10:52:15 -07:00
Magnus Groß
beb29e8ff7 Mention the -e aliases explicitly in the help
Otherwise it is just hidden forever. We can't use the proper declarative
interface, because we are faking quite some stuff for "-e", so instead
we mention it explicitly in the help output.
2024-02-03 10:36:07 -07:00
Magnus Groß
191d28113e Always start a new process on "wezterm -e $CMD"
This is done for compatibility, as many tools assume that running a
command with "$TERMINAL -e $COMMAND" blocks until the command is
finished.

For example some tools delete a needed file after the command returns.
But since we always return immediately (in case --always-new-process is
not provided and if another wezterm instance is already running), this
would mean that the file is deleted before the command could do
anything.

Fixes #4523
2024-02-03 10:36:07 -07:00
Wez Furlong
99c17b166f
add wezterm start --new-tab and wezterm connect --new-tab
refs: https://github.com/wez/wezterm/discussions/4854
refs: https://github.com/wez/wezterm/discussions/4946
2024-02-03 07:51:06 -07:00
Wez Furlong
c3d37f9eda
docs: changelog for #4943 2024-02-02 19:39:42 -07:00
Wez Furlong
5eea7eb17b
don't show default key assignments in palette when they are disabled
refs: https://github.com/wez/wezterm/issues/4724
2024-02-02 19:13:49 -07:00
Wez Furlong
aa81a46d58
mux: allow specifying cache policy for process information
This allows individual call sites to be able to force an immediate
resolution of the process information.

This should help to address https://github.com/wez/wezterm/issues/4811
wherein the problem seems to be that the cwd used for a new spawn
is taken from a stale read.
2024-02-02 18:02:18 -07:00
Wez Furlong
a8223a756c
macos: add space between keycaps on command palette
refs: https://github.com/wez/wezterm/issues/4885
2024-02-02 16:48:51 -07:00
Wez Furlong
b0682e957f
speculative fix for tab title change not invalidating window
refs: https://github.com/wez/wezterm/issues/4941
2024-02-02 14:05:06 -07:00
Wez Furlong
7e9d71847d
fix tmux passthrough escape sequence encoding
Need to double up the ESC characters in the sequence that is
being passed through.

refs: https://github.com/wez/wezterm/issues/4940
2024-02-02 13:40:56 -07:00
Wez Furlong
8536d1313c
Revert "x11: scope the cyrillic ctrl-c workaround to cyrillic"
This reverts commit 15da2e64c2.

Let's back this out; I think I was too hasty and didn't fully
compare behavior with xterm prior to working on this.

refs: https://github.com/wez/wezterm/issues/4933
2024-02-02 10:59:40 -07:00
Wez Furlong
15da2e64c2
x11: scope the cyrillic ctrl-c workaround to cyrillic
The workaround was to allow ctrl-c to behave as expected for users
of cyrillic layouts, but it was scoped too broadly, as it impacted
eg: pressing ctrl-grave; in a spanish layout that is expected to
expand to º

This commit adjusts the scope of the workaround to only activate
when the original expansion is itself cyrillic.

I doubt this is the last we'll hear of this, but let's see
how it goes!

refs: https://github.com/wez/wezterm/issues/4933
2024-02-02 09:38:33 -07:00
Wez Furlong
4ca1941074
docs: changelog for #4910 2024-02-02 08:22:33 -07:00
Wez Furlong
17dadbeb1e
pty: don't try to spawn a directory from the cwd
When the cwd was set to a directory that contained
an executable directory whose name matched the argv0
of the command to be spawned, we'd incorrectly consider
that to be a valid candidate.

When later trying to spawn this, we'll fail with an EACCESS,
and in the context of wezterm, rust's internal error handling
machinery for this error would fail to write to a descriptor
because our close_random_fds() function has closed that descriptor
during pre_exec.  That in turn would cause rust to print a panic
message to the output stream of this semi-spawned process,
which would show briefly an error message with no useful context.

This commit resolves this issue by explicitly avoiding executable
directories in this case.

refs: https://github.com/wez/wezterm/issues/4920
2024-02-01 17:18:42 -07:00
Wez Furlong
aa94a98314
fix invalidation on palette change
refs: https://github.com/wez/wezterm/issues/4932
and possibly: https://github.com/wez/wezterm/issues/2635
2024-02-01 15:58:14 -07:00
Wez Furlong
6e85ba49fd
docs: update freetype_load_flags 2024-01-31 08:00:18 -07:00
Wez Furlong
21af10e0f6
be smarter about NO_HINTING
Only use it when we think the dpi is high, otherwise use the
default freetype parameters.

refs: https://github.com/wez/wezterm/issues/4908
refs: https://github.com/wez/wezterm/issues/4902
2024-01-31 07:55:10 -07:00
Wez Furlong
47f647cadc
fixup parser for freetype_load_flags
It used `::default()` rather than `::empty()` for the initial
set of bits, and since the two are no longer equivalent, it
prevented being able to assign `freetype_load_flags = 'DEFAULT'`.

refs: https://github.com/wez/wezterm/issues/4902
2024-01-29 22:03:40 -07:00
Wez Furlong
c4f16fe339
macos: constrain fallback to normal attributes
refs: https://github.com/wez/wezterm/issues/4808
2024-01-29 20:02:54 -07:00
Wez Furlong
0621c1f19c
docs: update for latest release 2024-01-29 09:27:03 -07:00
Wez Furlong
1e552d7643
front_end defaults to OpenGL again
I meant to flip this back prior to cutting the most recent release,
and we've had a couple of issues already raised about WebGpu
and is transparency handling on Windows, and color/gamma.

I think I'll just leave this at OpenGL for a while, until WebGpu
catches up a bit better.
2024-01-28 20:21:57 -07:00
Wez Furlong
616b218e32
freetype_load_flags now defaults to NO_HINTING 2024-01-28 20:21:57 -07:00
Andrii
4156185c9e fix typo in installation example
The installation example mentions the Ubuntu 20 package, while the provided example is for the Ubuntu 22 package
2024-01-28 14:39:39 -07:00
Wez Furlong
3a66f67fa0
docs: fix typo (duplicate issue id) 2024-01-28 08:05:57 -07:00
Wez Furlong
0b2b85d5d8
docs: changelog for kitty image protocol fixes
refs: #1156
refs: #1156
refs: #1663
refs: #2084
refs: #2422
refs: #2761
refs: #3918
refs: #4233
refs: #4847
2024-01-28 08:01:25 -07:00
Wez Furlong
e7111a2bfa
fix laggy tab bar update after closing a tab
refs: https://github.com/wez/wezterm/issues/4880
2024-01-28 07:38:10 -07:00
Wez Furlong
e23ab47239
macos: ignore LastResort font in fallback suggestions
refs: https://github.com/wez/wezterm/issues/4877
2024-01-27 23:28:20 -07:00
Wez Furlong
6de7c60452
docs: update changelog to show latest release 2024-01-27 13:11:29 -07:00
Wez Furlong
6bb474a732
docs: update for retired and newly supported linux builds 2024-01-27 13:09:39 -07:00
Wez Furlong
11c1dd6527
docs: manual fixup of color scheme data
There's something bad in there, will need to fixup the sync
script, but first, let's unblock the doc build for the release.
2024-01-27 12:53:07 -07:00
Wez Furlong
c85fa0b73b
docs: update for latest release 2024-01-27 12:50:49 -07:00
Wez Furlong
bbcac86436
sync color schemes 2024-01-27 11:36:34 -07:00
Wez Furlong
f30ea0a6eb
new: pane:get_lines_as_escapes()
refs: https://github.com/wez/wezterm/issues/4780
2024-01-27 11:22:48 -07:00
Wez Furlong
b2ae5ade79
docs: show how to get whole scrollback in get_xxx_as_text
Folks often ask how to do this. Pre-empt the question.
2024-01-27 11:05:43 -07:00
Wez Furlong
2a8bdfa603
launcher: allow ctrl-[ to close launcher menu
refs: https://github.com/wez/wezterm/issues/4722
2024-01-27 09:01:33 -07:00
Wez Furlong
7f3a835548
fix excessive calls to format-tab-title
* Removed title update from main render loop
* Add to PaneFocused event
* term: only emit Alert::OutputSinceFocusLost for the first
  seqno bump after losing focus, rather than on every bump.
  That event indirectly causes the title to update

refs: https://github.com/wez/wezterm/issues/4788
2024-01-25 23:14:38 -07:00
Wez Furlong
29d8bcc6ea
docs: remove selection restriction
This used to make things such that the copy button for `console`
blocks would only copy the input and not the output, but it
doesn't seem to have that effect any more, and now just prevents
selecting portions of the output.

That's a PITA because eg: the CLI --help pages use `console`
to show which options are available.

I think something has probably changed somewhere in upstream mkdocs
because this used to work as I mentioned above.

refs: https://github.com/squidfunk/mkdocs-material/issues/6697
2024-01-25 13:09:36 -07:00
Wez Furlong
1f9f3f2a5d
docs: changelog for https://github.com/wez/wezterm/pull/4850
and rustfmt on my little tweak
2024-01-25 08:23:17 -07:00
Wez Furlong
6db993c6cd
docs: fix typo 2024-01-25 07:04:31 -07:00
Wez Furlong
30d6c6d9c0
docs: fix typo 2024-01-24 22:11:22 -07:00
Wez Furlong
ad762e5aa2
docs for https://github.com/wez/wezterm/pull/4824 2024-01-24 22:07:14 -07:00
Wez Furlong
46732d049a
x11: speculatively allow pasting latin-1 data
refs: https://github.com/wez/wezterm/issues/4402
2024-01-24 16:31:56 -07:00
Andrii
925568a215 Update AttachDomain.md
Fix typo.
2024-01-24 15:23:39 -07:00
Daniel Kongsgaard
1ca3d48cfa Update shell-integration.md 2024-01-24 13:01:38 -07:00
Wez Furlong
223ba32de2
x11: fix handling of high-speed key events
test scenario is:

```
bash -c "sleep 5; for((i=0;i<30;i++)); do xdotool keydown --delay 0 Shift_L keydown --delay 0 9 keyup --delay 0 Shift_L keyup --delay 0 9; done"
```

That should cause a series of `(` characters to be emitted, but prior to
this commit is was usually mostly `9`'s.

What's changing here is:
* We copy the pertinent fields from the last xcb StateNotify event.
  That ostensibly has the current modifier and layout state, but
  because it comes from the X server, it doesn't factor in knowledge
  from the IME.
* When processing an XCB key event, compute the current modifier
  mask and override the XKB state with it.
* Now XKB will produce correct information about the key syms
* Restore the modifier state from the saved StateNotify information.

refs: https://github.com/wez/wezterm/pull/4151
refs: https://github.com/wez/wezterm/issues/4615
refs: https://github.com/fcitx/fcitx5/issues/893
refs: https://github.com/ibus/ibus/issues/2600
refs: https://github.com/wez/wezterm/issues/3840
2024-01-24 08:04:39 -07:00
Wez Furlong
b3c996016e
docs: changelog for #4828
closes: https://github.com/wez/wezterm/issues/4828
2024-01-24 06:53:35 -07:00
Wez Furlong
73c8bbb8e0
docs: changelog and update for #4426 2024-01-23 06:30:32 -07:00
Wez Furlong
74e2c79d9c
docs for #4839 and apply to other areas with similar issue
refs: https://github.com/wez/wezterm/pull/4839
2024-01-23 05:55:18 -07:00
Wez Furlong
76028ca154
docs: changelog for #2373 #4339 2024-01-21 18:02:15 -07:00
Wez Furlong
5e9688bd4e
Update Symbols Nerd Font Mono to 3.1.1
Procedure is:

* Download the `NerdFontsSymbolsOnly.zip` release asset
* Extract the font into assets/fonts
* Run the codegen to update nerdfonts_data.rs:
  `cd termwiz/codgen ; cargo run`
* Apply formatting: `cd ../../ ; cargo +nightly fmt`
* Update the list of symbols in the docs:
  * edit `docs/config/lua/wezterm/nerdfonts.md`
  * delete the table
  * Run the embedded vim command that will regenerate the table

refs: https://github.com/wez/wezterm/pull/4656
2024-01-21 16:25:04 -07:00