-
Notifications
You must be signed in to change notification settings - Fork 228
Limit monitor-specific scaling to supported autoscale modes #3475
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
base: master
Are you sure you want to change the base?
Conversation
Test Results 4 files - 3 014 4 suites - 3 014 1s ⏱️ - 2h 17m 18s Results for commit b430848. ± Comparison against base commit a3fa065. This pull request removes 8210 tests.♻️ This comment has been updated with latest results. |
|
Test failures are due to dependent PR: eclipse-platform/eclipse.platform.swt#2709 not being merged yet. |
28e96c8 to
d41719a
Compare
d41719a to
938b37b
Compare
938b37b to
07f8c15
Compare
.../org.eclipse.ui.workbench/eclipseui/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
Outdated
Show resolved
Hide resolved
e03b834 to
3ca1192
Compare
3e07a44 to
ed384a1
Compare
b750a92 to
9133cb5
Compare
These changes have following affects: - Upon starting eclipse product when monitor-specific scaling is set with unsupported autoscale mode, it will show a error dialog and application won't start. - User won't be able to enable monitor-specific scaling from appearance page if unsupported autoscale mode is set from property or ini file. - User can then either force the unsupported autoscale mode with monitor specific-scaling by setting swt.autoScale.force to true or switch to supported autoscale mode.
9133cb5 to
b430848
Compare
amartya4256
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have tested the PR and it seems good to me. Approving.
| MessageDialog.openError(new Shell(Display.getDefault()), | ||
| WorkbenchMessages.RescaleAtRuntimeIncompatibilityTitle, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be deferred to when the workbench has been started, so that the dialog can be created on top of the workbench instead of creating a new shell on the default display. In particular because at this point in time the display for the workbench is not initialized yet, so this may have unintended side effects.
These changes have following affects:
Testing
Scenario#1: Starting application with
-Dswt.autoScale=int200Result: App should start (if monitor-specific scaling is not checked in Appearance page), but option to turn on monitor-specific scaling in Appearance page should be disabled.
Scenario#2: Starting application with
-Dswt.autoScale=int200and-Dswt.autoScale.updateOnRuntime=trueResult: App will start, user will see an error dialog stating the incompatibility of an option and monitor specific-scaling will be disabled.
Scenario#3: Starting application with
-Dswt.autoScale=int200and-Dswt.autoScale.updateOnRuntime=trueand
-Dswt.autoScale.force=trueResult: makes more sense with swt applications. if user really wants to use other scaling mode with monitor-specific scaling.
Scenario#4: Starting application with
-Dswt.autoScale=quarterResult: App should start, and user should be able to turn on/off the monitor-specific scaling in Appearance page.
Note: following is the list of allowed autoscale values to be paired with monitor-specific scaling: ["false", "quarter", "exact"] or any concrete zoom value e.g. 225
Dependency