1
1
mirror of https://github.com/wez/wezterm.git synced 2024-12-23 13:21:38 +03:00
Commit Graph

609 Commits

Author SHA1 Message Date
Wez Furlong
84bb2fdc46
deps: dedup some nix versions 2024-05-13 11:53:27 -07:00
Wez Furlong
1ca5e6cc90
deps: upgrade smol to 2.0 2024-05-13 10:26:29 -07:00
Wez Furlong
14d426fea8
add cargo deny config, update lru 2024-05-13 08:29:36 -07:00
Wez Furlong
0711455135
add default_ssh_auth_sock option
This is useful (essential!) for fixing up the default auth sock
under gnome, as we do not have a way to do that via whatever
logic may be present in the shell startup files.
2024-05-09 14:27:03 -07:00
Wez Furlong
4af418fddd
mux: enable ssh agent forwarding
This is done with a wezterm twist: not only is the auth sock forwarded,
but the mux on the remote end will automatically maintain a symlink to
point to the auth sock of the most recently active mux client, and set
SSH_AUTH_SOCK to that symlink so that your remote panes should always be
referencing something sane.

refs: https://github.com/wez/wezterm/issues/1647
refs: https://github.com/wez/wezterm/discussions/988
2024-05-09 12:52:29 -07:00
Wez Furlong
f6fdfeb9fd
mux: ssh: add override_proxy_command to SshDomain
This enables users to override the normal invocation completely,
which is helpful for example when connecting into a gui from
a remote host.

I was wondering why prefer-mux was in here, and my commit message
from 7afc9e4d56 suggests that I
hit an issue where the gui wasn't running and where I didn't care
because I wanted to hit the mux.

I think that makes it a little awkward to blanket remove the
--prefer-mux flag, but for those that don't want it, they should now
be able to configure to allow connected to the gui

```
  ssh_domains = {
    {
      name = "shortname",
      remote_address = "hostname",
      override_proxy_command = "wezterm cli proxy",
    },
  },
```
2024-05-08 15:32:38 -07:00
Wez Furlong
030596a2d4
rustfmt 2024-05-04 22:24:34 -07:00
Wez Furlong
7f35aac7a9
sync-color-schemes: fix mis-parse of color schemes
Double check that what we got looked enough like
our data when reading from a toml file
2024-05-04 22:01:00 -07:00
Wez Furlong
f01397ead3
sync color schemes
refs: https://github.com/wez/wezterm/pull/5232
2024-05-04 17:40:56 -07:00
Wez Furlong
d22e97dcef
deps: update hostname to 0.4 2024-05-04 17:11:47 -07:00
Wez Furlong
4f123a461b
macos (mostly): try harder to get initial dpi
There are a number of open issues that relate to getting the dpi
wrong when spawning a window. In theory it shouldn't matter because
we will immediately realize the difference and synthesize the correct
information, but evidence shows this isn't quite true.

What this commit does is:

* Override Connection::default_dpi() on macOS to return the
  effective_dpi from the active screen instead of the default
  non-retina dpi
* Adjust the Config::initial_size() method to accept an optional
  cell pixel dimension
* Add a helper function to wezterm-gui to compute the cell pixel
  dimensions given the config and the (usually default) dpi, and
  feed that through to Config::initial_size
* in the macos window impl, scale the computed geometry based on
  the ratio of the Connection::default_dpi and the default non-retina
  dpi.

This helps to avoid needing to do a fixup in the
https://github.com/wez/wezterm/issues/4966 case, and may help with
the various other macos quirky issues.

refs: https://github.com/wez/wezterm/issues/2958
refs: https://github.com/wez/wezterm/issues/3575
refs: https://github.com/wez/wezterm/issues/3900
refs: https://github.com/wez/wezterm/issues/4250
refs: https://github.com/wez/wezterm/issues/4285
refs: https://github.com/wez/wezterm/issues/4447
refs: https://github.com/wez/wezterm/issues/4851
refs: https://github.com/wez/wezterm/issues/4966
2024-02-06 22:57:05 -07:00
Wez Furlong
39d2b6ca85
remove show_update_window functionality
dependabot is trying to update pulldown-cmark, but it won't
work because the API has changed.

The update window is not enabled by default and I don't think
anyone uses it anyway, so let's just remove it and have less
code to compile and maintain.

closes: https://github.com/wez/wezterm/pull/4964
2024-02-05 07:04:37 -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
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
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
Wez Furlong
bbcac86436
sync color schemes 2024-01-27 11:36:34 -07:00
Wez Furlong
c0b61d1c6d
Revert "x11: add experimental x11_use_passive_key_updates config option"
This reverts commit c7c0cabbb7.
2024-01-23 14:09:44 -07:00
Wez Furlong
c7c0cabbb7
x11: add experimental x11_use_passive_key_updates config option
In discussion about the ongoing weirdness with modifier processing,
it sounds like we could/should be using `update_key` rather than
`update_mask` under X11.  (Wayland: has to use `update_mask`,
per the docs:
https://docs.rs/xkbcommon/latest/xkbcommon/xkb/struct.State.html#method.update_key)

I quickly tried out a proof of concept with this and it
doesn't seem to hurt, but since I'm unsure if there are other
nuances to consider, I've put this behind a config option.

`x11_use_passive_key_updates` defaults to true which results
in the use of `update_mask` on X11.

Setting it to false will switch to using `update_key` instead,
and may improve handling of xkb states.

refs: https://github.com/wez/wezterm/issues/4841
refs: https://github.com/ibus/ibus/issues/2600
refs: https://github.com/wez/wezterm/pull/4151
2024-01-23 12:19:40 -07:00
Wez Furlong
a471618397
shlex: update usage to avoid warnings about NUL bytes 2024-01-23 06:07:27 -07:00
rawnly
6dbea8ff5e chore: run fmt 2024-01-21 14:06:01 -07:00
rawnly
32a090e353 macos: code cleanup 2024-01-21 14:06:01 -07:00
rawnly
163606afec fix: moved window level state update 2024-01-21 14:06:01 -07:00
rawnly
209d039c5d fix: refactor window level + Toggle options 2024-01-21 14:06:01 -07:00
rawnly
9901866962 macos: floating window logic cleanup 2024-01-21 14:06:01 -07:00
rawnly
2e66a4b0df macos: save window level on window_state 2024-01-21 14:06:01 -07:00
Federico Vitale
ab8cc83383 macos: removed cfg on ToggleFloatingWindow
"The only place where the behavior should vary by os is inside the window crate"
2024-01-21 14:06:01 -07:00
rawnly
ae67f85ea3 macos: added platform checks for ToggleFloatingWindow
Signed-off-by: rawnly <rawnly@users.noreply.github.com>
2024-01-21 14:06:01 -07:00
rawnly
8906d03851 macos: added floating window 2024-01-21 14:06:01 -07:00
Wez Furlong
ba85958a61
deps: update env-logger
Note that we are pinned on 0.10 for env-bootstrap, where we use it
only for its module filter parser.
2024-01-20 16:01:10 -07:00
Wez Furlong
c607c6a59c
allow rgba for all window_frame colors
refs: https://github.com/wez/wezterm/issues/3580
2024-01-20 10:06:02 -07:00
Andrew Stone
28ac1c845b
Adds config option for command palette rows (#4595)
Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2023-12-01 07:56:41 -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
c75f20f21c
deps: ordered-float -> 4.1.0
closes: https://github.com/wez/wezterm/pull/4338
2023-09-28 14:39:22 -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
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
bf545f1cc1
deps: update toml 0.7 -> 0.8 2023-09-20 11:33:04 -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
64dd96917d
fonts: repurpose experimental_svg_fonts -> ignore_svg_fonts
Now we can optionally skip loading svg fonts, making our default
to continue to try to use them.

We don't actually support interpreting svg data, but we do now
support COLR v1 data which is found in some of those same fonts.

refs: https://github.com/wez/wezterm/issues/4148
2023-08-20 22:59:22 -07:00
Wez Furlong
e1044a6d5f
font: colr: add font_colr_rasterizer option
The harfbuzz driven rasterization of COLR glyphs is superior to
my attept at a freetype driven rasterizer, so let's default to
the harfbuzz version.

This change means that the default for most regular glyphs is
freetype, but we'll use harfbuzz for COLR glyphs.
2023-08-20 22:55:02 -07:00
Wez Furlong
c7b689e369
fonts: starting building out harfbuzz rasterizer
This seems like it might be a way to get COLR support without
too much effort.

This commit just adds bitmap image support as a first step
2023-08-20 15:18:09 -07:00
UserIsntAvailable
fd9afa18c6 add awesome to default tiling_desktop_environments. 2023-08-19 16:31:09 -07:00
Wez Furlong
0499ab0430
mlua 0.9 is now stable; update 2023-08-17 09:26: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
f7f253ec28
macos: add config.dpi_by_screen config option
Allows specifying the precise dpi to use on a per-screen basis:

```lua
return {
  dpi_by_screen = {
    ["Built-in Retina Display"] = 144,
  },
}
```

The screen names are the same as those returned from
`wezterm.gui.screens()`.

Changing either `dpi` or `dpi_by_screen` in the config will now cause
the window to be immediately resized/adjusted to the changed dpi
override.

Ultimately, I'd like to deprecate `dpi` in favor of `dpi_by_screen`,
but can't do that until this functionality is ported to windows, x11
and wayland.

refs: #4096
2023-08-05 20:48:59 -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