settings icon indicating copy to clipboard operation
settings copied to clipboard

Missing page: displays

Open Feichtmeier opened this issue 2 years ago • 20 comments

Must-have-features:

  • [X] select displays
  • [X] order displays (left/right, connect/extend/only one display)
  • [X] scaling of the windows
  • [ ] fractional scaling
  • [x] night mode

Nice-to-have-features:

To-be-discussed-features:

  • color profiles
  • night light (reduction of blue light)

Relevant implementations:

  • GCC FLAMESHOT_2021-09-15_14-45
  • windows11

Feichtmeier avatar Sep 15 '21 12:09 Feichtmeier

Opinion: The night light feature should be moved to the appearance page The color profiles should be moved to this section

I agree with that.

It's just an anecdotal evidence (based on a single case :smiley: ) but I remember having hard time to find the setting for the night light.

mivoligo avatar Sep 15 '21 12:09 mivoligo

Hello, I'm trying to make a first implementation of this page, I'll notify you here when my advance can be showed in a picture here.

Thanks

atsen-dev avatar Feb 03 '22 18:02 atsen-dev

Hello, I'm trying to make a first implementation of this page, I'll notify you here when my advance can be showed in a picture here.

Thanks

Awesome thanks! If you want to get Infos about the dbus methods there is a nice tool for reading the dbus methods called d-feet (sudo apt install d-feet)

I've tinkered a bit on the display branch with the dbus methods but it's far from done. Maybe you can reuse the code

Feichtmeier avatar Feb 03 '22 19:02 Feichtmeier

Hello, I'll see that.

I have some questions, I don't know what resolutions I have to keep and remove from available resolutions, here what I have at this time : answer-for-resolutions

I'm able to call GetCurrentState method and retrieve some data for now.

Thank in advance

atsen-dev avatar Feb 04 '22 13:02 atsen-dev

Hello, I'll see that.

I have some questions, I don't know what resolutions I have to keep and remove from available resolutions, here what I have at this time : answer-for-resolutions

I'm able to call GetCurrentState method and retrieve some data for now.

Thank in advance

I would keep all resolutions available. I guess if a display doesn't support it out wouldn't be on the list

Feichtmeier avatar Feb 04 '22 14:02 Feichtmeier

would make sense to split the resolution after @ and show it separately as Refresh rate?

Muqtxdir avatar Feb 04 '22 15:02 Muqtxdir

Hi, just to notify that I'm always working on it. At this time, I' m able to switch resolution and refresh rate.

It miss to implements that for changing scale, transform (for landcape/right/left/reversed mode) and fractional scaling (for that I don' t know how I have to do).

And for 2 or more monitors, I think it miss also to change order of screen and change the primary screen.

Thanks

atsen-dev avatar Feb 10 '22 18:02 atsen-dev

@atsen-dev thanks for the update!

Feichtmeier avatar Feb 10 '22 21:02 Feichtmeier

Hello, Update on my work :

  1. For a one-screen configurations: all seems to work (except fractional scaling) : we can change resolution, refresh rate, scale, and rotation

  2. For two screens configuration need some tests for me maybe almost all is working as expected.

Question : For fractional scaling, did you know from where we can changes that ? I didn't found that in DBus Mutter display configuration.

Thanks

atsen-dev avatar Mar 05 '22 20:03 atsen-dev

Wow that sounds promising :)

I found this key: org.gnome.desktop.interface scaling-factor 0 and this key org.gnome.mutter.x11 fractional-scale-mode 'scale-ui-down'

But fractional-scale-mode didn't change when I changed to fractional scaling in gnome control center. :(

Feichtmeier avatar Mar 06 '22 06:03 Feichtmeier

It could be that it is actually named "underscanning"

https://github.com/GNOME/gnome-control-center/blob/master/panels/display/cc-display-config.c#L313

It must be supported then it can be enabled Could this be fractional scaling? :thinking:

Feichtmeier avatar Mar 06 '22 06:03 Feichtmeier

Hi, The code for fractional-scaling in ubuntu's gnome-control-center is done via these files:

  • cc-display-config-dbus.c
  • cc-display-config.c
  • cc-display-settings.c

Attaching the zip file containing the .patches file that is used in ubuntu to expose Fractional-scaling options under display: display-fractional-scaling-patches.zip

Muqtxdir avatar Mar 06 '22 07:03 Muqtxdir

@atsen-dev if you like we could start with what you got, and improve it over time. For example I could try to review your design of the display panel etc, even if the missing features are not in yet

Feichtmeier avatar Mar 07 '22 11:03 Feichtmeier

Okay for me. Did you want some screenshots below this reply ?

atsen-dev avatar Mar 07 '22 11:03 atsen-dev

No just make a pull request and post screenshots there 🐱

Feichtmeier avatar Mar 07 '22 12:03 Feichtmeier

Pull Request is made, I let you to link it with this issue ;)

https://github.com/Feichtmeier/settings/pull/295

atsen-dev avatar Mar 07 '22 12:03 atsen-dev

@atsen-dev what is the reason the dispose in main is currently disabled for the display service? :)

Feichtmeier avatar Mar 12 '22 19:03 Feichtmeier

I found that it's not useful. Forgot to delete theses lines.

atsen-dev avatar Mar 12 '22 20:03 atsen-dev

Hm, I see you capsuled a second display service in the DisplayService I think you need to close the dbus client on dispose though, similar to

https://github.com/Feichtmeier/settings/blob/37446ca53c4011734f5d46cd0a249a3cb11ed978/lib/services/bluetooth_service.dart#L29-L33

Maybe you could create a dipose method in the DisplayService, which only calls a dipose method from your DisplayDBusService?

Feichtmeier avatar Mar 12 '22 21:03 Feichtmeier

Hm, I see you capsuled a second display service in the DisplayService I think you need to close the dbus client on dispose though, similar to

https://github.com/Feichtmeier/settings/blob/37446ca53c4011734f5d46cd0a249a3cb11ed978/lib/services/bluetooth_service.dart#L29-L33

Maybe you could create a dipose method in the DisplayService, which only calls a dipose method from your DisplayDBusService?

Yeah, you're right. I'll do it and remake a new Pull Request to fix that.

atsen-dev avatar Mar 12 '22 21:03 atsen-dev