Enhancement request: Re-design display settings with AdwExpanderRows for less clunky UX
Explanation:
Currently, creating multi-monitor arrangements is very clunky. You must re-arrange the monitors, apply, then click into each monitor individually to adjust their refresh rates, orientation, resolutions, then apply their settings, one at a time. Would be much more user friendly, in my opinion, if users could just drop down the monitor settings as an AdwExpanderRow, toggle settings, then just click apply once and be done with it. Would probably save 10s of seconds, especially when you consider many monitors will take a second to display after clicking apply each time.
Proposed implementation:
My proposal is for the monitors list to use a LibAdwaita Expander Row design, where the user expands them as needed, sets their options, then applies changes all at once. Of course, users could still do it one at a time this way. Additionally, you'll see I've moved the toggle switch into the top level display list item. This would just make it much quicker and easier to toggle imo.
Another benefit of this method would be a better visual language for rotating displays. Currently, a user needs to enter the sub-page and select a rotation for their display. They might not know if they selected the right one until they press apply. Instead, this way, the visual at the top could be updated to reflect the change before the user applies it, reducing margin for error. Do note, this could possibly be made even more effective if the monitor illustration had a distinct top and bottom integrated into the design, such as a bezel with a logo for instance, as is common for displays.
Current example:
User currently needs to select one display at a time, which brings them to a basic list sub-page
User cannot navigate back, conveniently compare settings such as using the same refresh rates, until they press apply which throws them back to the main menu.
My design:
PS: Sorry for not using app from 45 for reference. Still applicable, but don't have it installed on my system yet.
Noticed this UX clunk because my pal and I both have multi-monitor setups. He needs to click each monitor, set refresh rate, press apply, rinse, repeat. I need to do this as well. It's much slower than it needs to be, and I think could really be improved this way.