-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Linux tray applet menu doesn't respect HiDPI scaling #4
Comments
This works for desktop environments that support StatusNotifierItem tray icons (the DE renders the menu in that case), but i3bar only supports XEmbed. (I'm assuming you're using i3bar with i3wm.) Ideally, i3bar should implement StatusNotifierItem, XEmbed icons have other problems too. It does not look like there is any movement on that: i3/i3#2088 Qt does fall back to an XEmbed tray implementation, and it might support scaling, but we disable Qt's scaling due to various issues that it had. We implement it ourselves for the app windows. The tray icon was overlooked since scaling is not needed for SNI, but we probably cannot enable Qt's scaling only for the XEmbed tray without affecting the app windows. We may eventually implement tray support directly with StatusNotifierItem on Linux rather than use Qt's abstraction (as it has some other minor issues too), but it is unlikely that we will do this for XEmbed, since very few DEs still use it (we'd still keep the Qt implementation for XEmbed to preserve the functionality that exists). If you'd like to take a stab at it, you'd need to create a NativeTray implementation using XEmbed: https://github.com/pia-foss/desktop/blob/master/client/src/nativetray.h - also see https://github.com/pia-foss/desktop/blob/master/client/src/linux/nativetrayqt.h There'd also need to be logic to figure out when to use SNI vs. XEmbed (which is one of the pain points with Qt's implementation). |
Closing this due to inactivity - PRs welcome to improve XEmbed behavior, but it's not something we'll work on internally, as i3bar seems to be the only holdout on XEmbed vs. StatusNotifierItem. |
Describe the bug
When starting
pia-client
in XWindows on a HiDPI display, the PIA Window respects QT scaling environment variables, but the tray icon's menu does not.To Reproduce
Steps to reproduce the behavior:
pia-client
on a HiDPI machine.Expected behavior
The tray menu should observe the same scaling rules as the app window.
Observed on:
Output of
pia-client
:The text was updated successfully, but these errors were encountered: