mirror of
https://github.com/wez/wezterm.git
synced 2024-12-25 06:12:16 +03:00
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
16e7457049
This commit allows the x11 window implementation to detect changes in the DPI that occur after a window is created. These can occur when changing desktop resolution or when changing the accessibility option for "Large Text" in gnome. In order to avoid continually polling for the value on every resize, we look for the `_GTK_EDGE_CONSTRAINTS` atom in our property change notifications. This seems to be sent at least as often as the dpi/scaling changes. It's also worth noting that some dpi changes don't generate resize events, so we can't just read the dpi value on every resize, because we'd miss some of those changes. Part of this commit changes the font scaling logic: previously we'd keep a notion of "dpi scale" to apply. That dates from an earlier time in wezterm where we didn't think that we knew an actual dpi value. The way that worked was that we'd compare our current guestimate of the DPI against what we though the baseline OS dpi should be to produce a scaling factor. On X11 that dpi value is global and we'd effectively always produce a revised scaling factor of 1 after we'd set up the initial window. This commit changes that logic to just pass down the actual DPI value to the font code. That DPI value already accounts for HiDPI scaling so this is hopefully a NOP change for the other systems. refs: https://github.com/wez/wezterm/issues/667 |
||
---|---|---|
.cargo | ||
.github | ||
assets | ||
async_ossl | ||
base91 | ||
bintree | ||
ci | ||
codec | ||
config | ||
deps | ||
docs | ||
env-bootstrap | ||
filedescriptor | ||
licenses | ||
luahelper | ||
mux | ||
promise | ||
pty | ||
rangeset | ||
ratelim | ||
strip-ansi-escapes | ||
tabout | ||
term | ||
termwiz | ||
test-data | ||
tmux-cc | ||
umask | ||
vtparse | ||
wezterm | ||
wezterm-client | ||
wezterm-font | ||
wezterm-gui | ||
wezterm-gui-subcommands | ||
wezterm-input-types | ||
wezterm-mux-server | ||
wezterm-mux-server-impl | ||
wezterm-ssh | ||
wezterm-toast-notification | ||
window | ||
.cirrus.yml | ||
.gitignore | ||
.gitmodules | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
get-deps | ||
LICENSE.md | ||
README.md | ||
wt-record | ||
wt-replay |
Wez's Terminal
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
User facing docs and guide at: https://wezfurlong.org/wezterm/
Screenshot of wezterm on macOS, running vim
Installation
https://wezfurlong.org/wezterm/installation.html
Getting help
This is a spare time project, so please bear with me. There are a couple of channels for support:
- You can use the GitHub issue tracker to see if someone else has a similar issue, or to file a new one: https://github.com/wez/wezterm/issues
- Start or join a thread in our GitHub Discussions; if you have general questions or want to chat with other wezterm users, you're welcome here!
- There is a Matrix room via Element.io for (potentially!) real time discussions.
The GitHub Discussions and Element/Gitter rooms are better suited to questions than it is to bug reports, but don't be afraid to use whichever you are most comfortable using and we'll work it out.