-
Notifications
You must be signed in to change notification settings - Fork 27
Per-display scaling settings #103
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
Conversation
jacobgkau
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This moves the "Interface size" and "Additional scale options" to the top of the screen and separates them from the other settings. On a laptop with just one display, there are no tabs visible. Before:
After:
When multiple displays are connected, a tab is now shown for each one:
Not sure where the sorting comes from-- it seems to put HDMI before the internal display regardless of the configured positions and despite "H" coming after "e" in alphabetical order. But it does match the order of the tabs on the Displays page of Settings.
I have confirmed adjusting the per-display settings works as expected, and that the other two items on the page still function as expected. We probably want @pop-os/ux to sign off on this, but it looks good to me.
|
The separation between two list views on a laptop with just one display looks a little weird potentially (might be better combined into one list view with no gap?). But other than that looks good to me. |
jacobgkau
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The display settings are now only separated when multiple displays are present, addressing Maria's feedback. Single display:
Multiple displays:
However, I'm now noticing some problems when changing settings and moving between the two tabs. The tabs sometimes show default settings instead of what I'd set them to before switching tabs. Example:
2025-12-16.13-58-02.mp4
The steps to recreate the problem in this example would be to change the additional scaling on Tab 2, then switch to Tab 1 and change the additional scaling there, then switch back to Tab 2-- it then shows the default value of 0, not what I'd previously set. (You can also see the scaling reset to the default of 150% from where I'd previously set it at one point.)
|
The issue was values not being saved on application. Fixing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On 1bf17fc, there's some kind of offset happening when switching tabs that's sometimes resulting in the number going down by 1%. It seems to actually be setting the config to this number, and not just displaying a wrong number.
2025-12-16.15-16-17.mp4
I also want to mention this isn't detecting changes if a display is hot-plugged (or unplugged) while this page is open. That's less critical for the typical use-case, isn't a regression over current behavior, and I can open an issue to track it for later if we want to proceed without it for now.
|
Copied the code from cosmic-settings for getting the adjusted value. Perhaps this will be more precise. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working as expected now. The only thing left to do would be hotplug support, because there's nothing stopping a user from plugging or unplugging a display during first login while COSMIC Initial Setup's open; but the feature set now is an improvement, and there's no crash or anything when adjusting settings after a plug/unplug (it just doesn't work for displays disconnected after launch, and only applies to displays connected at launch).
Closes #101