wez / wezterm

A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
https://wezfurlong.org/wezterm/
Other
17.55k stars 784 forks source link

Mouse pointer size GNOME setting is ignored by wezterm windows #2595

Open kappa opened 2 years ago

kappa commented 2 years ago

What Operating System(s) are you seeing this problem on?

Linux X11, Linux Wayland

Which Wayland compositor or X11 Window manager(s) are you using?

This is a standard Fedora 36 setup with GNOME 42. I tried both Wayland and X11 and the behavior is identical.

WezTerm version

wezterm 20221004-190909-eefd57b8

Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?

Yes, and I updated the version box above to show the version of the nightly that I tried

Describe the bug

GNOME lets the user to change the mouse pointer size. This works across most of the windows but over wezterm the pointer reverts to the default size.

See the video.

Peek 2022-10-06 10-26.webm

To Reproduce

$ gsettings set org.gnome.desktop.interface cursor-size 96

Move your mouse.

Configuration

no config

Expected Behavior

The mouse pointer is huge.

Logs

Debug Overlay wezterm version: 20220905-102802-7d4b8249 OpenGL version: Mesa Intel(R) Xe Graphics (TGL GT2) 4.6 (Compatibility Profile) Mesa 22.1.7

Anything else?

No response

wez commented 2 years ago

wezterm isn't a GTK application, so it doesn't look directly at gsettings.

https://wezfurlong.org/wezterm/faq.html#i-use-x11-or-wayland-and-my-mouse-cursor-theme-doesnt-seem-to-work describes how the cursor graphic is selected. It's not mentioned there, but the size resolution parallels the graphic resolution: there is also an XCURSOR_SIZE environment variable that takes precedence over the root window Xcursor.size property. If neither of those are set, a size is derived from the Xft.dpi property of the root window.

wezterm could potentially use the xsettings protocol to determine a size, and potentially also use the XDG desktop portal dbus API (https://github.com/wez/wezterm/issues/1742, but note that reading gnome specific configs from there isn't formally specified as portable), however, under X11, assuming that XCURSOR_SIZE isn't set in the environment, wezterm should pick up changes to the root window property and shouldn't need those alternative interfaces.

wez commented 2 years ago

(under Wayland, there is no formally specified way to read this sort of setting, which is why #1742 is still open)