1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-25 22:33:52 +03:00
Commit Graph

1834 Commits

Author SHA1 Message Date
Wez Furlong
d680953321
ci: use COPR for opensuse from now on
The images available to us on GH actions frequently break and I'm
tired of troubleshooting it and getting spammed by failed build
notifications around it.

I'm just going to use newer COPR builds for this platform from
now on.
2023-11-04 09:41:53 -07:00
Wez Furlong
ee73f26436
docs: fix emoji stuff
fec90ae04b didn't fix this the way I
thought it would.

refs: https://github.com/wez/wezterm/issues/4489
2023-11-04 07:51:27 -07:00
Wez Furlong
3e01871876
deps: wgpu -> 0.18 2023-10-30 07:41:12 -07:00
Benjamin Habié
bc99181fa2 docs: Fix typo 2023-10-29 18:41:47 -07:00
Wez Furlong
84782e9d1b
docs: changelog for #4457 2023-10-29 18:40:25 -07:00
Wez Furlong
fec90ae04b
docs: remove emoji extension
it's raising a warning, which promotes to an error in strict mode.
Sounds like it is going away, and we don't use it here anyway.
2023-10-17 09:15:26 -07:00
Wez Furlong
11dec45f08
docs: add debian 12 arm download
refs: https://github.com/wez/wezterm/issues/4134
2023-10-04 11:31:17 -07:00
Wez Furlong
80174a0454
docs: add ubuntu 22 arm download
and pave way for debian 12 version

refs: https://github.com/wez/wezterm/issues/4134
2023-10-04 10:27:30 -07:00
Wez Furlong
073d522083
docs: add info about installing via Copr 2023-10-03 10:40:57 -07:00
Wez Furlong
a61cc8eb64
docs: changelog for https://github.com/wez/wezterm/issues/4279 2023-10-02 07:53:48 -07:00
Frank Ebel
385c874514 docs: update Arch install location 2023-10-01 11:43:02 -07:00
evoshy
0af9366d15 Update appearance.md
typo at line 266
2023-10-01 11:42:13 -07:00
Wez Furlong
5e0fd1a06e
add wezterm record --cwd argument
refs: https://github.com/wez/wezterm/issues/4333
2023-09-29 09:30:24 -07:00
Wez Furlong
845fa5d4ae
add notification_handling option to control suppression
refs: https://github.com/wez/wezterm/issues/3727
2023-09-28 18:05:18 -07:00
Wez Furlong
0f894d7948
docs: changelog for #4257 2023-09-22 14:31:51 -07:00
Wez Furlong
bae73d34b5
color-schemes: fix gogh import
The cursor colors in gogh weren't imported quite right; this
fixes things up so that we use the background color together
with the cursor color from the scheme.

refs: https://github.com/wez/wezterm/issues/4257
2023-09-22 14:30:24 -07:00
Wez Furlong
23a0d56849
color schemes: fixup sync process, and sync
We could have duplicates in the raw data. Deal with that.
2023-09-22 14:30:23 -07:00
Wez Furlong
821f9f98a7
docs: changelog for #4226 #4227 2023-09-22 06:47:17 -07:00
Danielkonge
525080be89
Additions to the InputSelector (resolving #4226) (#4227)
* First step towards implementing #4226.
* Added InputSelector config options.
* Format + fix to prepare for PR to resolve #4226.
* Accept suggestion about pop().
* Fix typo.
* Tried fixing stuff from the feedback.
* Fixed typo.
* Fixed small mistake in docs.
* Small fix for label computation.
* Allow uppercase alphabet + add fuzzy_description.
* Minor cleanup.
* Use more standard alphabet (without j/k).
* Fixed docs after previous commit.
* Added key assignments to docs.
* Apply suggestions from code review (2 remaining)
* Updated arcording to feedback (added tests).
* Update docs (1 thing left to do)
* Added version details to the key table.

---------

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2023-09-22 06:42:43 -07:00
Wez Furlong
50cc44a53a
font-config: failed to resolve clusters like 3065,2686
Root cause is that font-config will try to find a single font that
satisfies a query like `fc-list ':charset=2686 3065'`, but if that
is impossible, there are no results.

The resolution is to split the query up and look for each individual
codepoint.

refs: #4310
2023-09-20 18:54:17 -07:00
Wez Furlong
f1be33939b
deps: update harfbuzz to 8.2.1 2023-09-20 17:59:05 -07:00
Wez Furlong
3e2b96755c
docs: clarify font_size
closes: #4303
2023-09-20 11:27:49 -07:00
Wez Furlong
65a9f95c75
docs: changelog for #4322 #3996 2023-09-20 11:24:02 -07:00
Wez Furlong
99c9613966
docs and derived files for zoom-pane
refs: #4160
2023-08-28 22:04:14 -07:00
Wez Furlong
a103b6d97a
fix CloseCurrentPane leaving a stranded pane in a tab
Repro for this issue was:

```console
$ WEZTERM_LOG=mux=trace,info ./target/debug/wezterm -n --config 'exit_behavior="CloseOnCleanExit"'
```

Then:

* Split left/right
* CloseCurrentPane

refs: #4030
2023-08-28 07:28:23 -07:00
Wez Furlong
2c95b98447
text cursor glyph renders at native cell size
Previously we'd use the scaled-by-line-height-and-cell-width dimensions
for the text cursor, leading to oddly dimensioned block cursors when
`line_height` or `cell_width` were configured.

This commit captures the native cell dimensions into the RenderMetrics
which makes it feasible for the glyph and sprite rendering logic to
reason about it.

The cursor rendering now renders at the native size and position by
using a transform to scale and translate into the correct spot.

We could potentially use the same technique for eg: braille or
other non-drawing characters
(https://github.com/wez/wezterm/issues/1957) although that is more
complex than just this commit.

refs: https://github.com/wez/wezterm/issues/2882
2023-08-26 14:11:13 -07:00
Wez Furlong
360ad2a3a9
fix strikethrough position for line_height != 1.0 2023-08-26 13:01:41 -07:00
Wez Furlong
b904ed7677
breaking(ish): pane.get_current_working_dir now returns Url
Previously we'd return the Url string.  Now we provide a Url
object that provides access to the various elements of the Url.

This will cause slightly breakage for folks that were treating
it as a string in their status event handlers, for example.

The docs have been updated to show how to run with both this
new Url object and also continue to run on older versions of
wezterm.

They now also show how to manually percent decode the url
for older versions of wezterm.

refs: https://github.com/wez/wezterm/discussions/4157
refs: https://github.com/wez/wezterm/issues/4000
2023-08-25 06:59:09 -07:00
Robson Roberto Souza Peixoto
547825072c doc: add missing config variable on tab_bar_style documentation 2023-08-25 05:25:27 -07:00
Wez Furlong
53988c7fe6
PaneSelect: add SwapWithActiveKeepFocus
refs: #3014
2023-08-24 22:32:19 -07:00
Wez Furlong
a9c7d28b09
PaneSelect: MoveToNewTab, MoveToNewWindow and show_pane_ids
refs: #4147
2023-08-24 19:56:46 -07:00
Wez Furlong
7c88c179e1
charselect: add emoji variations and new short codes section
Move the shortcode aliases out from the various emoji category
pages and into a new shortcode page.

Add variations, such as skin tones, to the different emoji
category pages.
2023-08-22 22:53:14 -07:00
Wez Furlong
098b928001
Update Noto Color Emoji to 2.038
This particular file has had the SVG table removed, reducing its
filesize from 23M down to 4.6M.

Previously, the png/bitmap based version was 9.5M, so this update
saves a few MB.

See discussion at:
https://github.com/harfbuzz/harfbuzz/discussions/4382#discussioncomment-6792813
2023-08-22 07:53:32 -07:00
Wez Furlong
89fbb87f0d
Add note about COLR v1 support
refs: https://github.com/wez/wezterm/issues/4148
2023-08-20 23:21:48 -07:00
Wez Furlong
6c7aa8159f
SHELL cleanup
* Allow set_environment_variables to set the SHELL.
  Previously, we'd always set it to the shell from the password
  database.  Now we do that by default, but if set_environment_variables
  has been used, we'll preserve that value for the environment
  of the to-be-spawned process

* Clarify the docs:
  * Remove the confusing version dependent sections that started
    with old behavior and rewrite in terms of the behavior that
    has been true for the past year
  * I've heard from a few people that they tried to change COMSPEC
    on Windows and pain ensued.  Try to nudge them to read the
    next paragraph that tells them what they are actually supposed
    to change.

refs: https://github.com/wez/wezterm/issues/4098
refs: https://github.com/wez/wezterm/issues/4168
closes: https://github.com/wez/wezterm/issues/3816
refs: https://github.com/wez/wezterm/issues/3317
2023-08-20 10:42:38 -07:00
Felipe
b112fb3f7a docs: fix typo in what-is-a-terminal.md
Change forsee to foresee.
2023-08-20 09:43:09 -07:00
UserIsntAvailable
fd9afa18c6 add awesome to default tiling_desktop_environments. 2023-08-19 16:31:09 -07:00
Gabriel Nützi
f2d78ff60d docs: improve visualizations in TTY and PTY explanations 2023-08-18 20:57:51 -07:00
Gabriel Nützi
2516afa249
docs: fix typo in what-is-a-terminal.md (#4154)
* docs: fix typo in  `what-is-a-terminal.md`

* Update docs/what-is-a-terminal.md

---------

Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2023-08-16 05:11:47 -07:00
Wez Furlong
edbf4ac1e4
add experiemental svg font support
The vertical alignment is wonky, and some glyphs have the wrong
aspect and are missig colors. eg: the watermelon glyph in Noto Color
Emoji (U+1f349).

Turn this off by default, and skip loading fonts that have svg by
default.
2023-08-15 10:33:45 -07:00
Wez Furlong
3b4d82e74c
docs: changelog for #3937 2023-08-06 10:25:08 -07:00
Wez Furlong
085e8da478
macos: fonts: use alternative fallback approach
The approach we were using previously was to ask macOS for the fallback
font list, but it didn't include the correct fonts for certain
codepoints.

Switch to using an alternative API that asks macOS which font to use for
a specific codepoint.

refs: #4099
2023-08-05 18:15:08 -07:00
Wez Furlong
a7c6ea8c1e
deps: harfbuzz -> 8.1.1
Second attempt to get on 8.1, tests seem good!

refs: https://github.com/harfbuzz/harfbuzz/issues/4358
2023-08-02 19:06:52 -07:00
xqrdot
419210bc14 corrected front_end.md 2023-08-02 07:15:27 -07:00
Wez Furlong
ca9cf23019
Revert "deps: harfbuzz -> 8.1.0"
This reverts commit e7bf2b4088.

The tests fail when built and run in release mode. There's
something fishy that needs investigation; will do so later.
2023-07-31 23:10:25 -07:00
Wez Furlong
e7bf2b4088
deps: harfbuzz -> 8.1.0 2023-07-31 22:32:21 -07:00
Wez Furlong
d1d4db20be
cargo update
Transitive deps now require rust 1.71, so update for that, as well
as some other minor changes required by transitive deps.
2023-07-30 20:09:15 -07:00
Ran Shaham
afb485eb47 docs: fix building without wayland command 2023-07-30 07:20:49 -07:00
Wez Furlong
3aa7da611a
fixup doc build for mkdocs 1.5 2023-07-26 16:10:42 -07:00
Wez Furlong
a07ab883af
persist charselect, repl history and others in data dir
We were using the runtime dir with a fallback to a directory
that was equivalent to the data dir on !xdg systems.  That
meant that the state in the runtime dir was often scrubbed
around a reboot.

refs: https://github.com/wez/wezterm/discussions/4019
refs: https://github.com/wez/wezterm/issues/4047
2023-07-22 10:31:03 -07:00
Wez Furlong
3e3df823e4
deps: update wgpu -> 0.17
Pick up my fix from https://github.com/gfx-rs/wgpu/pull/3924

closes: https://github.com/wez/wezterm/issues/3612
2023-07-22 08:00:59 -07:00
Wez Furlong
e048410491
imgcat: add resize and resample functionality
This is primarily to improve the chances of displaying an arbitrary
image without resorting to additional external tools, that may be
difficult or impossible to install.

refs: #3716
refs: #3264
2023-07-17 10:55:53 -07:00
Wez Furlong
69e610041b
sync color schemes 2023-07-16 23:13:08 -07:00
Wez Furlong
7214470073
docs: fix typo
closes: https://github.com/wez/wezterm/issues/4006
2023-07-16 12:31:27 -07:00
Wez Furlong
360247fe8d
windows: remove positional mods from termwiz overlay panes
otherwise, the termwiz line reader can become confused and
fail to recognize key presses like `(` which have SHIFT and LEFT_SHIFT
set.

refs: https://github.com/wez/wezterm/issues/3999
2023-07-16 09:45:22 -07:00
Wez Furlong
b7771feef6
imgcat: work better with tmux and conpty
Neither of these understand image protocols, and both are
an additional processing layer between the application and
wezterm.

This commit detects and wraps OSC sequences in tmux's passthru
sequence so that the data is passed on to wezterm rather than
elided from the data stream.

For image protocols in both tmux and conpty, work a little
smarter and explicitly move the cursor position to the same
location that wezterm would move it to.  That prevents the
display from being as mangled by tmux/conpty due to a diverging
understanding of the cursor position.

The logic isn't perfect, and can result in the x-coordinate
being incorrect, and this won't work with the new --position
argument either in its current state, without adding a lot
of complexity to deal with scrolling and relative and absolute
positioning handling.

To facilitate that, a new termwiz Terminal trait method has
been added to probe the terminal name, version, cell and pixel
dimensions. It's not pretty.

refs: https://github.com/wez/wezterm/issues/3624
refs: https://github.com/wez/wezterm/issues/3716
2023-07-15 22:13:19 -07:00
Wez Furlong
2e505ad869
imgcat: add --position, --no-move-cursor and --hold options
These allow additional control over image placement

refs: https://github.com/wez/wezterm/issues/3716
2023-07-15 16:27:52 -07:00
Wez Furlong
b54b0ce404
fix old NF 2.0 symbols for shortcuts in command palette
These got overlooked because they weren't using symbolic names.
Fix that while we're in here.

refs: #3988
2023-07-14 11:08:39 -07:00
Wez Furlong
af6134df4f
docs: fedora 35 is no longer supported 2023-07-12 12:59:37 -07:00
Wez Furlong
dfd1bb0ea4
docs: update for available linux builds
refs: https://github.com/wez/wezterm/issues/3973
2023-07-12 12:57:19 -07:00
Wez Furlong
5d1136d29b
Revert "front_end defaults to OpenGL again"
This reverts commit f4abf8fde7 so that
webgpu is the default again in nightly builds
2023-07-12 07:47:12 -07:00
Wez Furlong
35df521f76
docs: update for release 2023-07-12 07:46:13 -07:00
Wez Furlong
f4abf8fde7
front_end defaults to OpenGL again
Feels safest to do this until we can make a smoother fallback
experience for webgpu.

I will revert this after tagging the release so that nightly
runs webgpu by default.
2023-07-12 07:26:01 -07:00
Wez Furlong
28dcea0ab6
deps: harfbuzz -> 8.0.1 2023-07-12 06:37:34 -07:00
Wez Furlong
c7ff432581
mux server: register additional domains
Relocate the helper function to mux-server-impl and have both the GUI
and the mux server call it at the appropriate times.

Introduce default_mux_server_domain which is used instead of
default_domain in the mux server.  This is to avoid recursive
cycles when starting up the mux; we don't want the default
domain to be a unix client that connects to our selves because
we'll try to connect to ourselves, then in act of handling that
spawn in the default domain and try to connect to ourselves and
repeat.

refs: https://github.com/wez/wezterm/issues/3907
2023-07-11 09:34:34 -07:00
Wez Furlong
51294e03c1
docs: link tab:set_title to PromptInputLine example 2023-07-11 06:56:13 -07:00
Wez Furlong
64c3759091
docs: fix see-also list
mkdocs is a bit particular about markdown list syntax
2023-07-10 22:54:06 -07:00
Wez Furlong
58434ef685
docs: faq: add note about macos and sparse default path 2023-07-10 22:48:22 -07:00
Wez Furlong
d07ec3e8bb
docs: changelog for #3674 2023-07-10 17:17:39 -07:00
Wez Furlong
b9c23d19a1
new exit_behavior_messaging option
Controls the message that is shown when holding a pane open
after a process has completed.

refs: #3423
2023-07-10 17:14:48 -07:00
Wez Furlong
be6a350668
docs: changelog for #3856 2023-07-10 12:56:08 -07:00
Wez Furlong
59dd1b0098
docs: changelog for #3908 2023-07-10 06:35:12 -07:00
Wez Furlong
dbed5017f8
Add new color schemes: hardhacker and bamboo
refs: https://github.com/wez/wezterm/issues/3831
refs: https://github.com/ribru17/bamboo.nvim/issues/4
2023-07-09 21:26:18 -07:00
Wez Furlong
633e6e4481
color schemes: adjust sync aliasing
* Change aliasing to exact matches of the color data.
* Don't "GC" away schemes that are no longer reachable from aggregators;
  just because they are no longer listed elsewhere, doesn't mean that we
  should remove the name/scheme from wezterm if it was already made
  available in an earlier release.

refs: #3831
2023-07-09 21:20:48 -07:00
Wez Furlong
c399ee665a
hold pane open when spawn fails
Show the error message in the pane itself when a spawn attempt
fails, regardless of the exit_behavior setting.

refs: #3950
refs: #3928
2023-07-09 13:53:41 -07:00
Wez Furlong
c2f1be53ba
Fix divide by zero when resizing lots of tiny panes
refs: #3921
2023-07-09 13:10:18 -07:00
Wez Furlong
f09992f704
x11/wayland: fix ctrl-key for latin layouts
This is fixing a regression introduced by the fix for #2845.
The resolution for this is relatively straightforward, but took a bit
of effort to plumb.

Previously:
* CTRL/ALT/SUPER-modified keys with no explicit expansion would end
  up just taking the US layout version of the key.  That worked well
  for the intended problem with non-latin layouts, but for eg: German
  layouts it caused expansion to totally the wrong thing

Now:
* CTRL/ALT/SUPER-modified keys which effectively expand to non-ascii
  text (eg: cyrillic "Es") now take the equivalent key press from the
  US layout (which would be "c" in the "Es" case).  For European
  layouts this heuristic seems to avoid unexpected effects, but could
  do with some validation from native users.

To support this, the xkb code splits the `Keyboard` struct out from
some of the higher level logic and introduces a `KeyboardWithFallback`
struct that is built out of the user-selected keyboard layout, and
the fallback keyboard.  Now the fallback keyboard is fed the same
key inputs as the selected keyboard to correctly model the key
combinations.

refs: #3610
refs: #3933
2023-07-09 12:28:34 -07:00
Wez Furlong
1bfaf8522a
deps: harfbuzz -> 8.0.0 2023-07-09 07:38:36 -07:00
Wez Furlong
bc2601d8e9
docs: refine changelog for #3941 2023-07-06 09:34:55 -07:00
Wez Furlong
6be3f0e7ca
ssh: rewrite exit_behavior=Close -> CloseOnCleanExit during connection
ssh connection or host authentication errors would not be displayed
when the config was in its default exit_behavior=Close state.

This commit introduces some plumbing to allow a pane to override
the effective exit_behavior value, so that ssh sessions can now
rewrite it to CloseOnCleanExit while they are in the process
of connecting.

refs: #3941
2023-07-06 09:28:43 -07:00
Wez Furlong
609b61ec82
docs: changelog for #3929 2023-07-03 10:47:41 -07:00
Wez Furlong
f376468f46
docs: changelog for #3683
closes: #3683
2023-06-29 08:02:00 -07:00
Wez Furlong
2334e679a9
launcher: add ctrl-j/k assignments
refs: #3909
2023-06-29 07:59:41 -07:00
Wez Furlong
9a24f61c22
docs: fix tls_domains -> tls_clients
refs: #3892
2023-06-22 21:26:23 -07:00
Wez Furlong
f21dcb965e
wezterm cli tlscreds: add --pem output mode
refs: #3892
2023-06-22 21:21:34 -07:00
Wez Furlong
2aba1dee2b
docs: changelog for #3679 2023-05-29 21:18:54 -07:00
Wez Furlong
794a102b6a
deps: harfbuzz -> 7.3.0 2023-05-29 16:37:24 -07:00
Wez Furlong
c54548df7e
Fix ClearToEndOfLine in last column when wrap_next=true
Given a sequence like this, where the `ESC [ K` sequence is
emitted at the last column when wrap_next=true:

\u001b[47;30m  17:24:50 \u001b[0m\u001b[K

rather than treating the column as out of bounds, we'd clear the
final cell.

refs: #3548
2023-05-29 16:01:11 -07:00
Wez Furlong
e0a4ebd586
implicitly reset palette when setting it to the equivalent of the config
refs: #3685
2023-05-29 14:46:43 -07:00
Wez Furlong
3ab286bc68
docs: changelog for #3531 2023-05-29 07:08:58 -07:00
Wez Furlong
71819b4abc
more fallout from Nerd Font symbols breaking changes in 3.0 2023-05-28 20:08:21 -07:00
Wez Furlong
eabdf9cf1c
docs: changelog for #3767 2023-05-28 09:19:23 -07:00
Wez Furlong
cf3bc814ba
docs: changelog for #3703 2023-05-28 09:03:16 -07:00
Wez Furlong
f0b58ea083 Apply suggestions from code review 2023-05-28 09:01:22 -07:00
Ye Sijun
95ab807aab add color config for char select
Signed-off-by: Ye Sijun <junnplus@gmail.com>
2023-05-28 09:01:22 -07:00
Wez Furlong
30ef02ff56
docs: add docs for anti_alias_custom_block_glyphs
refs: #3788
refs: #1817
refs: #1753
2023-05-28 08:44:54 -07:00
Wez Furlong
05a2d63398
ci: remove alpine
per discussion on https://github.com/wez/wezterm/pull/3089 we don't
need to build for alpine any longer.
2023-05-27 14:10:07 -07:00
David O'Trakoun
13c0ba3776 fix docs - pane:split takes Top/Bottom 2023-05-27 09:50:03 -07:00
Wez Furlong
856c1ae371
docs: ssh: mention IdentityAgent
refs: https://github.com/wez/wezterm/issues/3775
2023-05-26 13:30:07 -07:00
Lorenzo Zabot
1cd340bbd2 docs: fix typo 2023-05-24 06:20:11 -07:00