Skip to content

Conversation

@FreddyFunk
Copy link
Contributor

@FreddyFunk FreddyFunk commented Nov 9, 2025

implements #885

requires pop-os/cosmic-osd#151

preview:

2025-11-09.21-51-08.mp4

@FreddyFunk FreddyFunk changed the title trigger cosmic-osd daily identifier OSD on each screen to ease display arrangement configurations for users trigger cosmic-osd display identifier OSD on each screen to ease display arrangement configurations for users Nov 9, 2025
@jacobgkau jacobgkau requested review from a team November 11, 2025 21:59
@maria-komarova
Copy link
Contributor

Thanks for working on it. There was a previous discussion about it and a mockup. The idea is to always show the numbers when there are 2+ displays connected. We've seen cases where people struggled to identify which display is which while trying to arrange them so having the numbers always present while Displays page in Settings is focused would be helpful. You can see the placement and the styling of the OSD on the mockup. Accent color background is used to make the OSD more immediately apparent.

@FreddyFunk FreddyFunk force-pushed the feature/display-number-identifier branch from 55506d0 to 5629f00 Compare November 12, 2025 11:55
@wash2
Copy link
Contributor

wash2 commented Nov 12, 2025

I think that the way this is implemented is mostly fine, but there should probably be some sort of timeout for the osd, so that if settings fails to dismiss it properly, it disappears on its own after a few seconds. For example, when testing if, if I navigate to the displays page and close the settings app, the osd does not disappear unless I navigate away from the page.

@pop-os/ux Do you think it could appear on first entering the page, then fade away after a few seconds, and reappear when a display is hovered?

@maria-komarova
Copy link
Contributor

Do you think it could appear on first entering the page, then fade away after a few seconds, and reappear when a display is hovered?

I was wondering about that but we've discussed it with @WatchMkr and thought it best to have the numbers show as long as the Displays page is focused.

@FreddyFunk
Copy link
Contributor Author

FreddyFunk commented Nov 12, 2025

I think that the way this is implemented is mostly fine, but there should probably be some sort of timeout for the osd, so that if settings fails to dismiss it properly, it disappears on its own after a few seconds. For example, when testing if, if I navigate to the displays page and close the settings app, the osd does not disappear unless I navigate away from the page.

This should only happen, if you forcefully kill the cosmic-settings process. When you gracefully close the settings app via the "x" button, then the OSD should disappear as well. Nonetheless, during the development I have implemented two different proof of concepts to deal with a cosmic-settings app crash/kill and still be able to hide the display identifier OSD.

  1. Add a listener to the display identifier OSD that checks if the process ID that has triggered the event is still running. If not, the OSD close on their own.
  2. The OSD closes after a 2 second timer, but sending the identify displays d-bus message resets this timer for all display identifier OSDs.

Option 1 feels a bit hacky, option 2 feels like unnecessary message spam on the d-bus (but manageable, since its a 1-to-n connection from sender to subscriber). I did not feel comfortable with either option so I did not included them. Feel free to let me know what you think would be the best option.

@pop-os/ux Do you think it could appear on first entering the page, then fade away after a few seconds, and reappear when a display is hovered?

I can implement a fade out animation as well. The more specific you are with those details, timings and so on, the better.

@FreddyFunk
Copy link
Contributor Author

Here is a video of what the current develop state in this pull request looks like:

2025-11-12.21-17-46.mp4

@wash2
Copy link
Contributor

wash2 commented Nov 12, 2025

The OSD closes after a 2 second timer, but sending the identify displays d-bus message resets this timer for all display identifier OSDs.

This sounds fine to me for now. Maybe even with a 1 second timer.

This should only happen, if you forcefully kill the cosmic-settings process.

It happened when I closed settings using the Super + Q shortcut

@FreddyFunk
Copy link
Contributor Author

Alright, then I will do it that way.

@FreddyFunk FreddyFunk force-pushed the feature/display-number-identifier branch from 4500339 to 8b10f95 Compare November 13, 2025 11:21
@FreddyFunk
Copy link
Contributor Author

addressed the feedback

@jacobgkau jacobgkau self-assigned this Nov 13, 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 seems to stop working after a display is connected or disconnected. E.g. it works on a laptop (oryp8) with just its internal screen, but no longer shows (even after restarting COSMIC Settings) if I plug in another display. If I boot with two displays, then Settings first shows the OSDs on both, but it no longer shows the OSD at all if I unplug the second display.

I think the OSD's also showing up a little larger than it does in the mockup. Both the current implementation and the mockup had the OSD a little smaller than the date/time in the panel, but the date/time in the mockup's much shorter since it was an older version with an abbreviated month and no "at" word. (In the mockup, the OSD also appears to be smaller than the word "Displays" in Settings, whereas it's larger than that word in the current implementation; just another reference for size.) It doesn't have to be exact, but it might be good to make it a little smaller to better match the mockup for now.

@FreddyFunk
Copy link
Contributor Author

@jacobgkau oh wow, good catch! I haven't thought about this scenario with the display hot-plugging. I have pushed fixes for that and the visual changes to the OSD pull request.

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.

4 participants