Skip to content

Conversation

@mmstick
Copy link
Member

@mmstick mmstick commented Dec 12, 2025

Closes #101

jacobgkau
jacobgkau previously approved these changes Dec 16, 2025
Copy link
Member

@jacobgkau jacobgkau left a 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:

Image

After:

Image

When multiple displays are connected, a tab is now shown for each one:

Image

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.

@maria-komarova
Copy link
Contributor

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.

Copy link
Member

@jacobgkau jacobgkau left a 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:

Screenshot_2025-12-16_13-51-45

Multiple displays:

Screenshot_2025-12-16_13-52-47

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.)

@mmstick
Copy link
Member Author

mmstick commented Dec 16, 2025

The issue was values not being saved on application. Fixing

Copy link
Member

@jacobgkau jacobgkau left a 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.

@mmstick
Copy link
Member Author

mmstick commented Dec 16, 2025

Copied the code from cosmic-settings for getting the adjusted value. Perhaps this will be more precise.

Copy link
Member

@jacobgkau jacobgkau left a 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).

@jackpot51 jackpot51 merged commit 5c9fb6a into master Dec 29, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Scale settings apply to both displays, when that config is per-display

4 participants