Skip to content
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

[WIP] Adding Display Page (without Night Mode) #295

Merged
merged 4 commits into from
Mar 12, 2022

Conversation

atsen-dev
Copy link
Contributor

@atsen-dev atsen-dev commented Mar 7, 2022

Page 1

page_1

Page 2

page_2

Page 3

page_3

Page 4

page_4

Page on modify

page_on_modify

Work already in progress to tests and verify all is working on multiple screens + some documentation to make it complete

Ref #58

@atsen-dev atsen-dev mentioned this pull request Mar 7, 2022
5 tasks
@atsen-dev
Copy link
Contributor Author

Maybe I miss to develop screens positions (to show who's primary, etc) on multiple screens but I haven´t any design model to do that, did you have that ?

@Feichtmeier
Copy link
Member

Hey! :)

Looking good !

There is a little glitch with the toggle buttons, they are moving out of the row:

Bildschirmfoto von 2022-03-07 15-19-32

Checking multi displays now

@Feichtmeier
Copy link
Member

image

@atsen-dev
Copy link
Contributor Author

I'm on it.

Some Yaru widgets aren't optimized for responsive, in this case in YaruRow widgets and Yaru buttons
I'll try something.

@Feichtmeier
Copy link
Member

I'm on it.

Some Yaru widgets aren't optimized for responsive, in this case in YaruRow widgets and Yaru buttons I'll try something.

Best is if you use the kDefaultWidth for the section. Then the rows should follow

@atsen-dev
Copy link
Contributor Author

atsen-dev commented Mar 7, 2022

I've just pushed a fix for overflow.

Remark :
I noticed something in application : when we resize the window, all models are reloaded and are rebuild from providers and widget is re-created from scratch.

I think it can be an issue because we may loss model data on resizing

@Feichtmeier
Copy link
Member

Hi @atsen-dev I don't know if this is related to your last commit or if this is a result of using the page at all but the page does not load anymore and I receive this error:

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Bad state: No element
#0      Iterable.first (dart:core/iterable.dart:624:7)
#1      DBusDisplaysConfig.currentOption
#2      new DisplayMonitorConfiguration.newConstructor
#3      DisplayService._mapToModel
#4      _rootRunUnary (dart:async/zone.dart:1434:47)
#5      _CustomZone.runUnary (dart:async/zone.dart:1335:19)
<asynchronous suspension>
#6      DisplayService.init
<asynchronous suspension>

any idea why this is happening?

Different topic: could you move what you have currently in "api" into the service dir? Maybe make a subdir "displays_service" or something. I want to move the "Pdf api" also. Because none of those are actually an API :)

@Feichtmeier
Copy link
Member

I've just pushed a fix for overflow.

Remark : I noticed something in application : when we resize the window, all models are reloaded and are rebuild from providers and widget is re-created from scratch.

I think it can be an issue because we may loss model data on resizing

It is intended that the models are reloaded on build. Maybe you need to move more data to the service instead then. And sorry for the late reply :)
Also do not feel (I guess you don't) pushed or anything for your work, no hurry or anything. Thanks for your time 👍

@atsen-dev
Copy link
Contributor Author

Yeah for sure.
I'll fix it as soon as possible.

If you have others issue, please put logs here, it will be helpful

Thanks

@atsen-dev
Copy link
Contributor Author

Hi @atsen-dev I don't know if this is related to your last commit or if this is a result of using the page at all but the page does not load anymore and I receive this error:

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Bad state: No element
#0      Iterable.first (dart:core/iterable.dart:624:7)
#1      DBusDisplaysConfig.currentOption
#2      new DisplayMonitorConfiguration.newConstructor
#3      DisplayService._mapToModel
#4      _rootRunUnary (dart:async/zone.dart:1434:47)
#5      _CustomZone.runUnary (dart:async/zone.dart:1335:19)
<asynchronous suspension>
#6      DisplayService.init
<asynchronous suspension>

any idea why this is happening?

Different topic: could you move what you have currently in "api" into the service dir? Maybe make a subdir "displays_service" or something. I want to move the "Pdf api" also. Because none of those are actually an API :)

For this issue, I didn't have that in my case. Can you please send me what you have as data in "lib/api/display/display_api.dart" at line 54 ? Maybe you can have that in debug mode.

For now, i'll fix it to avoid that issue.

@Feichtmeier
Copy link
Member

Hi @atsen-dev I don't know if this is related to your last commit or if this is a result of using the page at all but the page does not load anymore and I receive this error:

[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Bad state: No element
#0      Iterable.first (dart:core/iterable.dart:624:7)
#1      DBusDisplaysConfig.currentOption
#2      new DisplayMonitorConfiguration.newConstructor
#3      DisplayService._mapToModel
#4      _rootRunUnary (dart:async/zone.dart:1434:47)
#5      _CustomZone.runUnary (dart:async/zone.dart:1335:19)
<asynchronous suspension>
#6      DisplayService.init
<asynchronous suspension>

any idea why this is happening?
Different topic: could you move what you have currently in "api" into the service dir? Maybe make a subdir "displays_service" or something. I want to move the "Pdf api" also. Because none of those are actually an API :)

For this issue, I didn't have that in my case. Can you please send me what you have as data in "lib/api/display/display_api.dart" at line 54 ? Maybe you can have that in debug mode.

For now, i'll fix it to avoid that issue.

image

"da": 41 untranslated message(s).
"de": 14 untranslated message(s).
"fi": 140 untranslated message(s).
"fr": 22 untranslated message(s).
"nb": 140 untranslated message(s).
"sv": 140 untranslated message(s).
To see a detailed report, use the untranslated-messages-file
option in the l10n.yaml file:
untranslated-messages-file: desiredFileName.txt
<other option>: <other selection>
This will generate a JSON format file containing all messages that
need to be translated.
Launching lib/main.dart on Linux in debug mode...
Connecting to VM Service at ws://127.0.0.1:36787/cCkdicYJt6Y=/ws
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Bad state: No element
#0      Iterable.first (dart:core/iterable.dart:624:7)
#1      DBusDisplaysConfig.currentOption
#2      new DisplayMonitorConfiguration.newConstructor
#3      DisplayService._mapToModel
#4      _rootRunUnary (dart:async/zone.dart:1434:47)
#5      _CustomZone.runUnary (dart:async/zone.dart:1335:19)
<asynchronous suspension>
#6      DisplayService.init
<asynchronous suspension>

image

@atsen-dev
Copy link
Contributor Author

Hello, I'm not able to reproduce your issue.

I have pushed a(n eventual) fix to avoid that type of crash.
Else if you can send me what is your result when you call GetCurrentState on DBus it will be great (or may be run as debug with a breakpoint in "lib/api/display/display_api.dart" at line 54 and send me what you have has data here could be better for me)

(Sorry for my english)

Thanks

@atsen-dev
Copy link
Contributor Author

@Feichtmeier Can you answer to that comment all remark about UI and interface, disposition of buttons etc ?
Thank in advance

@Feichtmeier
Copy link
Member

Hello, I'm not able to reproduce your issue.

I have pushed a(n eventual) fix to avoid that type of crash. Else if you can send me what is your result when you call GetCurrentState on DBus it will be great (or may be run as debug with a breakpoint in "lib/api/display/display_api.dart" at line 54 and send me what you have has data here could be better for me)

(Sorry for my english)

Thanks

Np about your english, mine is not perfect as well ^^

My getCurrentState() return value:

35,
[(('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD'),
  [('2560x1440@74.598907470703125',
    2560,
    1440,
    74.59890747070312,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {}),
   ('2560x1440@59.950550079345703',
    2560,
    1440,
    59.9505500793457,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {'is-current': True, 'is-preferred': True}),
   ('1920x1200@59.950172424316406',
    1920,
    1200,
    59.950172424316406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@74.972503662109375',
    1920,
    1080,
    74.97250366210938,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@60', 1920, 1080, 60.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1920x1080@59.940200805664062',
    1920,
    1080,
    59.94020080566406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@50', 1920, 1080, 50.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1680x1050@59.883251190185547',
    1680,
    1050,
    59.88325119018555,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.901458740234375',
    1440,
    900,
    59.901458740234375,
    1.0,
    [1.0, 2.0],
    {}),
   ('1366x768@59.789539337158203',
    1366,
    768,
    59.7895393371582,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@75.024673461914062',
    1280,
    1024,
    75.02467346191406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@60.019741058349609',
    1280,
    1024,
    60.01974105834961,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@60', 1280, 720, 60.0, 1.0, [1.0, 2.0], {}),
   ('1280x720@59.940200805664062',
    1280,
    720,
    59.94020080566406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@50', 1280, 720, 50.0, 1.0, [1.0, 2.0], {}),
   ('1024x768@75.028579711914062',
    1024,
    768,
    75.02857971191406,
    1.0,
    [1.0],
    {}),
   ('1024x768@70.069358825683594', 1024, 768, 70.0693588256836, 1.0, [1.0], {}),
   ('1024x768@60.003841400146484',
    1024,
    768,
    60.003841400146484,
    1.0,
    [1.0],
    {}),
   ('832x624@74.55126953125', 832, 624, 74.55126953125, 1.0, [1.0], {}),
   ('800x600@75', 800, 600, 75.0, 1.0, [1.0], {}),
   ('800x600@72.187568664550781', 800, 600, 72.18756866455078, 1.0, [1.0], {}),
   ('800x600@60.316539764404297', 800, 600, 60.3165397644043, 1.0, [1.0], {}),
   ('800x600@56.25', 800, 600, 56.25, 1.0, [1.0], {}),
   ('720x576@50', 720, 576, 50.0, 1.0, [1.0], {})],
  {'display-name': 'Lenovo Group Limited 24"', 'is-builtin': False}),
 (('eDP-1', 'LGD', '0x0608', '0x00000000'),
  [('1920x1080@60.020423889160156',
    1920,
    1080,
    60.020423889160156,
    1.0,
    [1.0, 2.0, 3.0],
    {'is-preferred': True}),
   ('1920x1080@59.962844848632812',
    1920,
    1080,
    59.96284484863281,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@47.999031066894531',
    1920,
    1080,
    47.99903106689453,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1680x1050@59.954250335693359',
    1680,
    1050,
    59.95425033569336,
    1.0,
    [1.0, 2.0],
    {}),
   ('1600x900@59.946022033691406',
    1600,
    900,
    59.946022033691406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x1080@59.988838195800781',
    1440,
    1080,
    59.98883819580078,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.887443542480469',
    1440,
    900,
    59.88744354248047,
    1.0,
    [1.0, 2.0],
    {}),
   ('1400x1050@59.978443145751953',
    1400,
    1050,
    59.97844314575195,
    1.0,
    [1.0, 2.0],
    {}),
   ('1368x768@59.882049560546875',
    1368,
    768,
    59.882049560546875,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x960@59.939048767089844',
    1280,
    960,
    59.939048767089844,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x800@59.810325622558594',
    1280,
    800,
    59.810325622558594,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@59.855125427246094',
    1280,
    720,
    59.855125427246094,
    1.0,
    [1.0, 2.0],
    {}),
   ('1152x864@59.958633422851562',
    1152,
    864,
    59.95863342285156,
    1.0,
    [1.0],
    {}),
   ('1024x768@59.920131683349609',
    1024,
    768,
    59.92013168334961,
    1.0,
    [1.0],
    {}),
   ('800x600@59.861404418945312', 800, 600, 59.86140441894531, 1.0, [1.0], {})],
  {'display-name': 'Eingebaute Anzeige', 'is-builtin': True})],
[(0, 0, 1.0, 0, True, [('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD')], {})],
{'layout-mode': 2, 'legacy-ui-scaling-factor': 1, 'renderer': 'native'}

For some reason it worked on the first test but then it suddenly stopped working. I can no reproduce what exactly on your page caused this but I still have the same error as posted above. I retry in a fresh VM

So since I can not see anything I currently can not comment much on the design. I test in a fresh VM now

@Feichtmeier
Copy link
Member

Okay when I open up my laptop lid , the page is back working again. must be something with the external monitor plugged in and the internal monitor disabled:

image

@Feichtmeier
Copy link
Member

okay I think I need to checkout your branch again. somehow I didn't get your last commits

@Feichtmeier
Copy link
Member

image

The overflow is now gone. But I would rather change the width in the sections to kDEfaultWitdth.
I see you did this but it ain't working. Eventually because your page structure somehow ignores the width contraints of the section and makes it expand?

@Feichtmeier
Copy link
Member

Feichtmeier commented Mar 12, 2022

On nightmode:

currently if there are subpages I used the YaruTabbedPage from yaru_widgets. This could be better than using this toggle button at the top :)

For example like in the keyboard page
image

@atsen-dev
Copy link
Contributor Author

Hello, I'm not able to reproduce your issue.
I have pushed a(n eventual) fix to avoid that type of crash. Else if you can send me what is your result when you call GetCurrentState on DBus it will be great (or may be run as debug with a breakpoint in "lib/api/display/display_api.dart" at line 54 and send me what you have has data here could be better for me)
(Sorry for my english)
Thanks

Np about your english, mine is not perfect as well ^^

My getCurrentState() return value:

35,
[(('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD'),
  [('2560x1440@74.598907470703125',
    2560,
    1440,
    74.59890747070312,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {}),
   ('2560x1440@59.950550079345703',
    2560,
    1440,
    59.9505500793457,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {'is-current': True, 'is-preferred': True}),
   ('1920x1200@59.950172424316406',
    1920,
    1200,
    59.950172424316406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@74.972503662109375',
    1920,
    1080,
    74.97250366210938,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@60', 1920, 1080, 60.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1920x1080@59.940200805664062',
    1920,
    1080,
    59.94020080566406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@50', 1920, 1080, 50.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1680x1050@59.883251190185547',
    1680,
    1050,
    59.88325119018555,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.901458740234375',
    1440,
    900,
    59.901458740234375,
    1.0,
    [1.0, 2.0],
    {}),
   ('1366x768@59.789539337158203',
    1366,
    768,
    59.7895393371582,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@75.024673461914062',
    1280,
    1024,
    75.02467346191406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@60.019741058349609',
    1280,
    1024,
    60.01974105834961,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@60', 1280, 720, 60.0, 1.0, [1.0, 2.0], {}),
   ('1280x720@59.940200805664062',
    1280,
    720,
    59.94020080566406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@50', 1280, 720, 50.0, 1.0, [1.0, 2.0], {}),
   ('1024x768@75.028579711914062',
    1024,
    768,
    75.02857971191406,
    1.0,
    [1.0],
    {}),
   ('1024x768@70.069358825683594', 1024, 768, 70.0693588256836, 1.0, [1.0], {}),
   ('1024x768@60.003841400146484',
    1024,
    768,
    60.003841400146484,
    1.0,
    [1.0],
    {}),
   ('832x624@74.55126953125', 832, 624, 74.55126953125, 1.0, [1.0], {}),
   ('800x600@75', 800, 600, 75.0, 1.0, [1.0], {}),
   ('800x600@72.187568664550781', 800, 600, 72.18756866455078, 1.0, [1.0], {}),
   ('800x600@60.316539764404297', 800, 600, 60.3165397644043, 1.0, [1.0], {}),
   ('800x600@56.25', 800, 600, 56.25, 1.0, [1.0], {}),
   ('720x576@50', 720, 576, 50.0, 1.0, [1.0], {})],
  {'display-name': 'Lenovo Group Limited 24"', 'is-builtin': False}),
 (('eDP-1', 'LGD', '0x0608', '0x00000000'),
  [('1920x1080@60.020423889160156',
    1920,
    1080,
    60.020423889160156,
    1.0,
    [1.0, 2.0, 3.0],
    {'is-preferred': True}),
   ('1920x1080@59.962844848632812',
    1920,
    1080,
    59.96284484863281,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@47.999031066894531',
    1920,
    1080,
    47.99903106689453,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1680x1050@59.954250335693359',
    1680,
    1050,
    59.95425033569336,
    1.0,
    [1.0, 2.0],
    {}),
   ('1600x900@59.946022033691406',
    1600,
    900,
    59.946022033691406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x1080@59.988838195800781',
    1440,
    1080,
    59.98883819580078,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.887443542480469',
    1440,
    900,
    59.88744354248047,
    1.0,
    [1.0, 2.0],
    {}),
   ('1400x1050@59.978443145751953',
    1400,
    1050,
    59.97844314575195,
    1.0,
    [1.0, 2.0],
    {}),
   ('1368x768@59.882049560546875',
    1368,
    768,
    59.882049560546875,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x960@59.939048767089844',
    1280,
    960,
    59.939048767089844,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x800@59.810325622558594',
    1280,
    800,
    59.810325622558594,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@59.855125427246094',
    1280,
    720,
    59.855125427246094,
    1.0,
    [1.0, 2.0],
    {}),
   ('1152x864@59.958633422851562',
    1152,
    864,
    59.95863342285156,
    1.0,
    [1.0],
    {}),
   ('1024x768@59.920131683349609',
    1024,
    768,
    59.92013168334961,
    1.0,
    [1.0],
    {}),
   ('800x600@59.861404418945312', 800, 600, 59.86140441894531, 1.0, [1.0], {})],
  {'display-name': 'Eingebaute Anzeige', 'is-builtin': True})],
[(0, 0, 1.0, 0, True, [('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD')], {})],
{'layout-mode': 2, 'legacy-ui-scaling-factor': 1, 'renderer': 'native'}

For some reason it worked on the first test but then it suddenly stopped working. I can no reproduce what exactly on your page caused this but I still have the same error as posted above. I retry in a fresh VM

So since I can not see anything I currently can not comment much on the design. I test in a fresh VM now

Can you confirm that it's data you have when you have you built-in disabled and your external enabled ?

@Feichtmeier
Copy link
Member

Ran it again just now with internal disabled via lid-close and external monitor active just to be sure:

37,
[(('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD'),
  [('2560x1440@74.598907470703125',
    2560,
    1440,
    74.59890747070312,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {}),
   ('2560x1440@59.950550079345703',
    2560,
    1440,
    59.9505500793457,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {'is-current': True, 'is-preferred': True}),
   ('1920x1200@59.950172424316406',
    1920,
    1200,
    59.950172424316406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@74.972503662109375',
    1920,
    1080,
    74.97250366210938,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@60', 1920, 1080, 60.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1920x1080@59.940200805664062',
    1920,
    1080,
    59.94020080566406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@50', 1920, 1080, 50.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1680x1050@59.883251190185547',
    1680,
    1050,
    59.88325119018555,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.901458740234375',
    1440,
    900,
    59.901458740234375,
    1.0,
    [1.0, 2.0],
    {}),
   ('1366x768@59.789539337158203',
    1366,
    768,
    59.7895393371582,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@75.024673461914062',
    1280,
    1024,
    75.02467346191406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@60.019741058349609',
    1280,
    1024,
    60.01974105834961,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@60', 1280, 720, 60.0, 1.0, [1.0, 2.0], {}),
   ('1280x720@59.940200805664062',
    1280,
    720,
    59.94020080566406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@50', 1280, 720, 50.0, 1.0, [1.0, 2.0], {}),
   ('1024x768@75.028579711914062',
    1024,
    768,
    75.02857971191406,
    1.0,
    [1.0],
    {}),
   ('1024x768@70.069358825683594', 1024, 768, 70.0693588256836, 1.0, [1.0], {}),
   ('1024x768@60.003841400146484',
    1024,
    768,
    60.003841400146484,
    1.0,
    [1.0],
    {}),
   ('832x624@74.55126953125', 832, 624, 74.55126953125, 1.0, [1.0], {}),
   ('800x600@75', 800, 600, 75.0, 1.0, [1.0], {}),
   ('800x600@72.187568664550781', 800, 600, 72.18756866455078, 1.0, [1.0], {}),
   ('800x600@60.316539764404297', 800, 600, 60.3165397644043, 1.0, [1.0], {}),
   ('800x600@56.25', 800, 600, 56.25, 1.0, [1.0], {}),
   ('720x576@50', 720, 576, 50.0, 1.0, [1.0], {})],
  {'display-name': 'Lenovo Group Limited 24"', 'is-builtin': False}),
 (('eDP-1', 'LGD', '0x0608', '0x00000000'),
  [('1920x1080@60.020423889160156',
    1920,
    1080,
    60.020423889160156,
    1.0,
    [1.0, 2.0, 3.0],
    {'is-preferred': True}),
   ('1920x1080@59.962844848632812',
    1920,
    1080,
    59.96284484863281,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@47.999031066894531',
    1920,
    1080,
    47.99903106689453,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1680x1050@59.954250335693359',
    1680,
    1050,
    59.95425033569336,
    1.0,
    [1.0, 2.0],
    {}),
   ('1600x900@59.946022033691406',
    1600,
    900,
    59.946022033691406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x1080@59.988838195800781',
    1440,
    1080,
    59.98883819580078,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.887443542480469',
    1440,
    900,
    59.88744354248047,
    1.0,
    [1.0, 2.0],
    {}),
   ('1400x1050@59.978443145751953',
    1400,
    1050,
    59.97844314575195,
    1.0,
    [1.0, 2.0],
    {}),
   ('1368x768@59.882049560546875',
    1368,
    768,
    59.882049560546875,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x960@59.939048767089844',
    1280,
    960,
    59.939048767089844,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x800@59.810325622558594',
    1280,
    800,
    59.810325622558594,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@59.855125427246094',
    1280,
    720,
    59.855125427246094,
    1.0,
    [1.0, 2.0],
    {}),
   ('1152x864@59.958633422851562',
    1152,
    864,
    59.95863342285156,
    1.0,
    [1.0],
    {}),
   ('1024x768@59.920131683349609',
    1024,
    768,
    59.92013168334961,
    1.0,
    [1.0],
    {}),
   ('800x600@59.861404418945312', 800, 600, 59.86140441894531, 1.0, [1.0], {})],
  {'display-name': 'Eingebaute Anzeige', 'is-builtin': True})],
[(0, 0, 1.0, 0, True, [('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD')], {})],
{'layout-mode': 2, 'legacy-ui-scaling-factor': 1, 'renderer': 'native'}

@Feichtmeier
Copy link
Member

The error still happens but I can fix it with openening the lid again. Then it doesn't matter if I close it again

@atsen-dev
Copy link
Contributor Author

atsen-dev commented Mar 12, 2022

Ran it again just now with internal disabled via lid-close and external monitor active just to be sure:

37,
[(('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD'),
  [('2560x1440@74.598907470703125',
    2560,
    1440,
    74.59890747070312,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {}),
   ('2560x1440@59.950550079345703',
    2560,
    1440,
    59.9505500793457,
    1.0,
    [1.0, 2.0, 3.0, 4.0],
    {'is-current': True, 'is-preferred': True}),
   ('1920x1200@59.950172424316406',
    1920,
    1200,
    59.950172424316406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@74.972503662109375',
    1920,
    1080,
    74.97250366210938,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@60', 1920, 1080, 60.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1920x1080@59.940200805664062',
    1920,
    1080,
    59.94020080566406,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@50', 1920, 1080, 50.0, 1.0, [1.0, 2.0, 3.0], {}),
   ('1680x1050@59.883251190185547',
    1680,
    1050,
    59.88325119018555,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.901458740234375',
    1440,
    900,
    59.901458740234375,
    1.0,
    [1.0, 2.0],
    {}),
   ('1366x768@59.789539337158203',
    1366,
    768,
    59.7895393371582,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@75.024673461914062',
    1280,
    1024,
    75.02467346191406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x1024@60.019741058349609',
    1280,
    1024,
    60.01974105834961,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@60', 1280, 720, 60.0, 1.0, [1.0, 2.0], {}),
   ('1280x720@59.940200805664062',
    1280,
    720,
    59.94020080566406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@50', 1280, 720, 50.0, 1.0, [1.0, 2.0], {}),
   ('1024x768@75.028579711914062',
    1024,
    768,
    75.02857971191406,
    1.0,
    [1.0],
    {}),
   ('1024x768@70.069358825683594', 1024, 768, 70.0693588256836, 1.0, [1.0], {}),
   ('1024x768@60.003841400146484',
    1024,
    768,
    60.003841400146484,
    1.0,
    [1.0],
    {}),
   ('832x624@74.55126953125', 832, 624, 74.55126953125, 1.0, [1.0], {}),
   ('800x600@75', 800, 600, 75.0, 1.0, [1.0], {}),
   ('800x600@72.187568664550781', 800, 600, 72.18756866455078, 1.0, [1.0], {}),
   ('800x600@60.316539764404297', 800, 600, 60.3165397644043, 1.0, [1.0], {}),
   ('800x600@56.25', 800, 600, 56.25, 1.0, [1.0], {}),
   ('720x576@50', 720, 576, 50.0, 1.0, [1.0], {})],
  {'display-name': 'Lenovo Group Limited 24"', 'is-builtin': False}),
 (('eDP-1', 'LGD', '0x0608', '0x00000000'),
  [('1920x1080@60.020423889160156',
    1920,
    1080,
    60.020423889160156,
    1.0,
    [1.0, 2.0, 3.0],
    {'is-preferred': True}),
   ('1920x1080@59.962844848632812',
    1920,
    1080,
    59.96284484863281,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1920x1080@47.999031066894531',
    1920,
    1080,
    47.99903106689453,
    1.0,
    [1.0, 2.0, 3.0],
    {}),
   ('1680x1050@59.954250335693359',
    1680,
    1050,
    59.95425033569336,
    1.0,
    [1.0, 2.0],
    {}),
   ('1600x900@59.946022033691406',
    1600,
    900,
    59.946022033691406,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x1080@59.988838195800781',
    1440,
    1080,
    59.98883819580078,
    1.0,
    [1.0, 2.0],
    {}),
   ('1440x900@59.887443542480469',
    1440,
    900,
    59.88744354248047,
    1.0,
    [1.0, 2.0],
    {}),
   ('1400x1050@59.978443145751953',
    1400,
    1050,
    59.97844314575195,
    1.0,
    [1.0, 2.0],
    {}),
   ('1368x768@59.882049560546875',
    1368,
    768,
    59.882049560546875,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x960@59.939048767089844',
    1280,
    960,
    59.939048767089844,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x800@59.810325622558594',
    1280,
    800,
    59.810325622558594,
    1.0,
    [1.0, 2.0],
    {}),
   ('1280x720@59.855125427246094',
    1280,
    720,
    59.855125427246094,
    1.0,
    [1.0, 2.0],
    {}),
   ('1152x864@59.958633422851562',
    1152,
    864,
    59.95863342285156,
    1.0,
    [1.0],
    {}),
   ('1024x768@59.920131683349609',
    1024,
    768,
    59.92013168334961,
    1.0,
    [1.0],
    {}),
   ('800x600@59.861404418945312', 800, 600, 59.86140441894531, 1.0, [1.0], {})],
  {'display-name': 'Eingebaute Anzeige', 'is-builtin': True})],
[(0, 0, 1.0, 0, True, [('DP-1', 'LEN', 'Q24h-10', 'U5HCDCKD')], {})],
{'layout-mode': 2, 'legacy-ui-scaling-factor': 1, 'renderer': 'native'}

Okay, thanks, I think I know how to solve that.
I'll try something to avoid that type of issue and hope it work well for that case.

This issue happen because it didn't find any option as current.
And my code currently need that.
I'll change that

@atsen-dev
Copy link
Contributor Author

image

The overflow is now gone. But I would rather change the width in the sections to kDEfaultWitdth. I see you did this but it ain't working. Eventually because your page structure somehow ignores the width contraints of the section and makes it expand?

It's caused by the ListView, I'll fix size with a SizedBox ;)

@atsen-dev
Copy link
Contributor Author

I just have pushed new things to fix your issue + expansion of section. ;) Can you check and say me if that's good ?

@Feichtmeier
Copy link
Member

yes it works!!! nice
and the width works, and the tabbedpage is much better =)

ya

@atsen-dev
Copy link
Contributor Author

Great !!
For you, what we miss to complete this Pull Request ?

Fractional Scaling ?

Maybe we can push that an append fractional scaling after ?

@mivoligo
Copy link
Collaborator

Maybe instead of 100%, 200% and so on in Scale, we could have 1x, 2x. What do you think?

@atsen-dev
Copy link
Contributor Author

Maybe instead of 100%, 200% and so on in Scale, we could have 1x, 2x. What do you think?

Seems to be same for me.

Usually I have seen "100%" but why not.

@Feichtmeier what do you think about that ?

@mivoligo
Copy link
Collaborator

It would take less space if we keep it in the toggle buttons

@atsen-dev
Copy link
Contributor Author

image

Good for everyone ?

@atsen-dev
Copy link
Contributor Author

For me, there's something to do with "Apply" button.
I didn't know if it's righly positionned.

image

@Feichtmeier
Copy link
Member

I am fine with both. Or you could use a slider. But go with whatever you like.

For the apply button I would use an ElevatedButton, since it's green :) Position is okay I guess

@atsen-dev
Copy link
Contributor Author

I am fine with both. Or you could use a slider. But go with whatever you like.

For the apply button I would use an ElevatedButton, since it's green :) Position is okay I guess

image

Let's goo

@Jupi007
Copy link
Collaborator

Jupi007 commented Mar 12, 2022

I am fine with both. Or you could use a slider. But go with whatever you like.

I really like the idea of slider for scaling range :D

@mivoligo
Copy link
Collaborator

I really like the idea of slider for scaling range :D

I guess it would be useful for fractional scaling.

@Feichtmeier
Copy link
Member

On the other hand a slider with two values looks silly. Let's go with this one for now

@Jupi007
Copy link
Collaborator

Jupi007 commented Mar 12, 2022

Indeed, you're right.
That could be strange.

@Feichtmeier
Copy link
Member

Is it ready to merge?
We could create indiviual issues for missing features / design ideas

@Feichtmeier
Copy link
Member

Great !! For you, what we miss to complete this Pull Request ?

Fractional Scaling ?

Maybe we can push that an append fractional scaling after ?

sorry didn't see this comment

Fractional scaling seems like a big second task yes. Also we could eventually think about some drag and drop widget to arrange the displays to each other. Both could be done in different PRs

@atsen-dev
Copy link
Contributor Author

Great !! For you, what we miss to complete this Pull Request ?
Fractional Scaling ?
Maybe we can push that an append fractional scaling after ?

sorry didn't see this comment

Fractional scaling seems like a big second task yes. Also we could eventually think about some drag and drop widget to arrange the displays to each other. Both could be done in different PRs

Okay great.

For me, ready to merge.
All work as expected so, let's go.

@Feichtmeier Feichtmeier merged commit 835544e into ubuntu-flutter-community:master Mar 12, 2022
@atsen-dev
Copy link
Contributor Author

Apart from that.

I recommend you to be sure no Pull Request can't be completed if there's issue in analyzer.

@Feichtmeier
Copy link
Member

Thank you very much for this huge work @atsen-dev 🙇

@Feichtmeier
Copy link
Member

Apart from that.

I recommend you to be sure no Pull Request can't be completed if there's issue in analyzer.

Okay, we should fix this in the CI I guess

Feichtmeier added a commit that referenced this pull request Mar 12, 2022
..added generated_plugins.cmake, doesn't hurt
Feichtmeier added a commit that referenced this pull request Mar 13, 2022
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.

None yet

4 participants