1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-23 23:21:08 +03:00
wezterm/window/Cargo.toml
Wez Furlong da59a22297 x11: subscribe to Present extension configure notify events
The hope here is that the nvidia-specific resize issue might have
a workaround if it is emitting some other events that we were
previously not listening for.

This commit optionally enables the Present extension and listens
for its version of CONFIGURE_NOTIFY, routing it through the same
logic as the base CONFIGURE_NOTIFY event.

On my AMD hardware under Gnome, I see something like:

```
18:04:26.476  TRACE  window::os::x11::window > Present::ConfigureNotify: width 1168 -> 1180, height 858 -> 873, dpi 124.7998046875 -> 124.7998046875
18:04:26.478  TRACE  window::os::x11::window > Ignoring X::ConfigureNotify (1180x873 dpi=124.7998046875) because width,height,dpi are unchanged
```

with the Present event firing before the X event.

Let's see how this goes.

refs: #2063
refs: #1992
2022-06-03 18:08:51 -07:00

88 lines
2.5 KiB
TOML

[package]
name = "window"
version = "0.1.0"
authors = ["Wez Furlong"]
edition = "2018"
repository = "https://github.com/wez/wezterm"
description = "Cross platform window setup and render"
license = "MIT"
build = "build.rs"
[dev-dependencies]
k9 = "0.11.0"
[build-dependencies]
gl_generator = "0.14"
[features]
wayland = ["wayland-client", "smithay-client-toolkit", "wayland-egl", "wayland-protocols"]
[dependencies]
async-channel = "1.6"
async-io = "1.1"
async-task = "4.0"
async-trait = "0.1"
anyhow = "1.0"
bytes = "1.0"
config = { path = "../config" }
thiserror = "1.0"
bitflags = "1.3"
euclid = "0.22"
guillotiere = "0.6"
lazy_static = "1.4"
libloading = "0.6"
line_drawing = "0.8"
log = "0.4"
metrics = { version="0.17", features=["std"]}
promise = { path = "../promise" }
raw-window-handle = "0.3"
resize = "0.5"
serde = {version="1.0", features = ["rc", "derive"]}
tiny-skia = "0.6"
glium = { version = "0.31", default-features = false }
wezterm-bidi = { path = "../bidi" }
wezterm-color-types = { path = "../color-types" }
wezterm-font = { path = "../wezterm-font" }
wezterm-input-types = { path = "../wezterm-input-types" }
[target."cfg(windows)".dependencies]
clipboard-win = "2.2"
shared_library = "0.1"
winapi = { version = "0.3", features = [
"dwmapi",
"handleapi",
"imm",
"libloaderapi",
"synchapi",
"sysinfoapi",
"winerror",
"winuser",
]}
windows = { version="0.33.0", features = [
"UI_ViewManagement",
]}
winreg = "0.10"
[target.'cfg(all(unix, not(target_os = "macos")))'.dependencies]
dirs-next = "2.0"
filedescriptor = { version="0.8", path = "../filedescriptor" }
x11 = {version ="2.19", features = ["xlib_xcb"]}
xcb = {version="1.1", features=["render", "randr", "xkb", "xlib_xcb", "present"]}
xkbcommon = { version = "0.5.0-beta.0", features = ["x11", "wayland"], git="https://github.com/wez/xkbcommon-rs.git", branch="key-by-name"}
#xkbcommon = { version = "0.6", features = ["x11", "wayland"], path="../../xkbcommon-rs" }
mio = {version="0.8", features=["os-ext"]}
libc = "0.2"
smithay-client-toolkit = {version = "0.15", default-features=false, optional=true}
wayland-protocols = {version="0.29", optional=true}
wayland-client = {version="0.29", optional=true}
wayland-egl = {version="0.29", optional=true}
xcb-imdkit = { version="0.2", git="https://github.com/wez/xcb-imdkit-rs.git", rev="ede7c71b85fe2537efef6cf999a45690316211cf"}
[target.'cfg(target_os="macos")'.dependencies]
cocoa = "0.20"
objc = "0.2"
clipboard_macos = "0.1"
core-foundation = "0.7"
core-graphics = "0.19"
cgl = "0.3"