Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Hi Marcel,
Very nice, thank you! What a pleasure to the eye.
In case you do not have it on your list already: the buttons etc. are resized when the scaling is changed, but the window decorations including scrollbars and splitters not yet. For example, browsers opened after a scaling change have scrollbars with a different width. But this is a very minor flaw compared to the trouble with existing tools when one tried the big fonts mode in 2015 or so... :-)
Now I need to fix the layout frames in the Git Browser.
Kind regards, Jakob
Am Mi., 22. Dez. 2021 um 10:15 Uhr schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Updated. :-)
Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Hi Marcel,
nice results! 🎉
Some notes for further work (I don't think we need to address each of these points before the next release):
* At least on Windows 10, the Squeak.exe.manifest still does not enable application-managed scaling by default. I. e., on my hi-DPI tablet screen, the initial experience will still be blurry until I go into the properties of "Squeak.exe" > "Compatibility" > "Change high-DPI settings" > "Override high-DPI scaling" > "Application". I think we should not change the manifest before the new primitive is live, but maybe we should document these - not absolutely straightforward steps - somewhere (Wiki? Help Browser?) and refer to them in the scaling menu? * Should we make the scaling factor a preference so that it appears in the preference browser as you (at least as I) would expect it? * The preference Cursor useBiggerCursors is still not connected to the scaling factor - should it be? (The preference Preferences valueOfFlag: #biggerHandles isn't either, but IMO it looks horrible on any modern screen if you turn it off - maybe we should deprecate it?) * After switching back from 300% to 100%, the preference browser looks like this: [cid:6fbafeb4-da8b-433f-9524-ba100dc50de8] Any quick fixes for this? 🙃 Also note that the preference value for the grip thickness has not been updated. Should the preference browser subscribe to the relevant system change events? * Why no "low-DPI" scale factors in [0%, 100%)?
Best, Christoph
________________________________ Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Jakob Reschke jakres+squeak@gmail.com Gesendet: Mittwoch, 22. Dezember 2021 12:41 Uhr An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] Please Test | Improvements around display scaling (150%, 200%, 250%, ...)
Hi Marcel,
Very nice, thank you! What a pleasure to the eye.
In case you do not have it on your list already: the buttons etc. are resized when the scaling is changed, but the window decorations including scrollbars and splitters not yet. For example, browsers opened after a scaling change have scrollbars with a different width. But this is a very minor flaw compared to the trouble with existing tools when one tried the big fonts mode in 2015 or so... :-)
Now I need to fix the layout frames in the Git Browser.
Kind regards, Jakob
Am Mi., 22. Dez. 2021 um 10:15 Uhr schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Updated. :-)
Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Addendum: Somehow I managed to see these freshly opened windows after filing in the changeset, while being at 100% scaling:
[cid:0163bc79-1912-4ef8-8bc8-928e349c886c]
[cid:a7e4f859-b4fd-4994-b9b5-bb068ef0311c]
I will report back when I am able to reproduce this.
Best,
Christoph
________________________________ Von: Thiede, Christoph Gesendet: Mittwoch, 22. Dezember 2021 19:41:53 An: The general-purpose Squeak developers list Betreff: AW: [squeak-dev] Please Test | Improvements around display scaling (150%, 200%, 250%, ...)
Hi Marcel,
nice results! 🎉
Some notes for further work (I don't think we need to address each of these points before the next release):
* At least on Windows 10, the Squeak.exe.manifest still does not enable application-managed scaling by default. I. e., on my hi-DPI tablet screen, the initial experience will still be blurry until I go into the properties of "Squeak.exe" > "Compatibility" > "Change high-DPI settings" > "Override high-DPI scaling" > "Application". I think we should not change the manifest before the new primitive is live, but maybe we should document these - not absolutely straightforward steps - somewhere (Wiki? Help Browser?) and refer to them in the scaling menu? * Should we make the scaling factor a preference so that it appears in the preference browser as you (at least as I) would expect it? * The preference Cursor useBiggerCursors is still not connected to the scaling factor - should it be? (The preference Preferences valueOfFlag: #biggerHandles isn't either, but IMO it looks horrible on any modern screen if you turn it off - maybe we should deprecate it?) * After switching back from 300% to 100%, the preference browser looks like this: [cid:6fbafeb4-da8b-433f-9524-ba100dc50de8] Any quick fixes for this? 🙃 Also note that the preference value for the grip thickness has not been updated. Should the preference browser subscribe to the relevant system change events? * Why no "low-DPI" scale factors in [0%, 100%)?
Best, Christoph
________________________________ Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Jakob Reschke jakres+squeak@gmail.com Gesendet: Mittwoch, 22. Dezember 2021 12:41 Uhr An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] Please Test | Improvements around display scaling (150%, 200%, 250%, ...)
Hi Marcel,
Very nice, thank you! What a pleasure to the eye.
In case you do not have it on your list already: the buttons etc. are resized when the scaling is changed, but the window decorations including scrollbars and splitters not yet. For example, browsers opened after a scaling change have scrollbars with a different width. But this is a very minor flaw compared to the trouble with existing tools when one tried the big fonts mode in 2015 or so... :-)
Now I need to fix the layout frames in the Git Browser.
Kind regards, Jakob
Am Mi., 22. Dez. 2021 um 10:15 Uhr schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Updated. :-)
Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Done. Phew. Please report update issues ASAP. :-)
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion: http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
On Thu, Dec 30, 2021 at 04:41:54PM +0100, Marcel Taeumel wrote:
Done. Phew. Please report update issues ASAP. :-)
This is very well done, and I like having it in the Preference Wizard like this.
I do have one issue to report - If I try the 300% setting on my machine, I have no way to get back to 100% because the available check boxes are now off the bottom edge of my display screen.
A simple solution might be to move the explanatory text below the check box selections, such that 100% check box is always visible at ony of the scale factors.
Dave
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion:??http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Hi Dave --
In Windows, I cannot make a window taller than what the actual screen has. How does it look like on your screen? Can you share a screenshot?
Best, Marcel Am 30.12.2021 22:00:49 schrieb David T. Lewis lewis@mail.msen.com: On Thu, Dec 30, 2021 at 04:41:54PM +0100, Marcel Taeumel wrote:
Done. Phew. Please report update issues ASAP. :-)
This is very well done, and I like having it in the Preference Wizard like this.
I do have one issue to report - If I try the 300% setting on my machine, I have no way to get back to 100% because the available check boxes are now off the bottom edge of my display screen.
A simple solution might be to move the explanatory text below the check box selections, such that 100% check box is always visible at ony of the scale factors.
Dave
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel : Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel : Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel : Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel : Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel : Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion:??http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Hi Dave --
I tweaked it a bit. Does this work for you?
Best, Marcel Am 31.12.2021 09:17:40 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi Dave --
In Windows, I cannot make a window taller than what the actual screen has. How does it look like on your screen? Can you share a screenshot?
Best, Marcel Am 30.12.2021 22:00:49 schrieb David T. Lewis lewis@mail.msen.com: On Thu, Dec 30, 2021 at 04:41:54PM +0100, Marcel Taeumel wrote:
Done. Phew. Please report update issues ASAP. :-)
This is very well done, and I like having it in the Preference Wizard like this.
I do have one issue to report - If I try the 300% setting on my machine, I have no way to get back to 100% because the available check boxes are now off the bottom edge of my display screen.
A simple solution might be to move the explanatory text below the check box selections, such that 100% check box is always visible at ony of the scale factors.
Dave
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel : Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel : Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel : Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel : Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel : Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion:??http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Hi Marcel,
My screen resolution is 1920 x 1080 (16:9). I am attaching a screen shot to show what Squeak looks iike if I select 300% scale factor in the Preference Wizard. The Squeak window is expanded to full vertical height and with X11 window decorations still active. I see basically the same thing in Squeak full screen mode.
Dave
On Fri, Dec 31, 2021 at 09:46:40AM +0100, Marcel Taeumel wrote:
Hi Dave --
I tweaked it a bit. Does this work for you?
Best, Marcel Am 31.12.2021 09:17:40 schrieb Marcel Taeumel marcel.taeumel@hpi.de: Hi Dave --
In Windows, I cannot make a window taller than what the actual screen has. How does it look like on your screen? Can you share a screenshot?
Best, Marcel Am 30.12.2021 22:00:49 schrieb David T. Lewis lewis@mail.msen.com: On Thu, Dec 30, 2021 at 04:41:54PM +0100, Marcel Taeumel wrote:
Done. Phew. Please report update issues ASAP. :-)
This is very well done, and I like having it in the Preference Wizard like this.
I do have one issue to report - If I try the 300% setting on my machine, I have no way to get back to 100% because the available check boxes are now off the bottom edge of my display screen.
A simple solution might be to move the explanatory text below the check box selections, such that 100% check box is always visible at ony of the scale factors.
Dave
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel : Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel : Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel : Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel : Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel : Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion:??http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Hi Marcel,
Now that the scaling code has arrived in Trunk, which messages should we use to write well-scaling LayoutFrames, in particular with offsets (that were previously hardcoded to pixel values)?
Should we use - Display relativeScaleFactor - Display relativeUiScaleFactor - Display uiScaleFactor - or do it entirely in a different manner?
Kind regards, Jakob
Hi Jakob,
looking at CodeHolder>>#optionalButtonsFrame, I would suppose that relying on the font selectors from Preferences class might be a best practice. Independently of the scaling factor, users could also override the font style of single widget classes, so going through the actual font makes sense to me. :-)
Best,
Christoph
________________________________ Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Jakob Reschke jakres+squeak@gmail.com Gesendet: Donnerstag, 13. Januar 2022 20:48:45 An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] Please Test | Improvements around display scaling (150%, 200%, 250%, ...)
Hi Marcel,
Now that the scaling code has arrived in Trunk, which messages should we use to write well-scaling LayoutFrames, in particular with offsets (that were previously hardcoded to pixel values)?
Should we use - Display relativeScaleFactor - Display relativeUiScaleFactor - Display uiScaleFactor - or do it entirely in a different manner?
Kind regards, Jakob
Hi Jakob, hi Christoph --
[...] which messages should we use to write well-scaling LayoutFrames [...]
There was no change in this regard. As Christoph explained, try to depend on font metrics if possible or use "RealEstateAgent scaleFactor" for other pixel-based numbers.
Here are some examples:
aMorph height: TextStyle defaultFont height * 1.5. "or #defaultFixedFont" aMorph height: Preferences standardButtonFont height. aSpacer width: (aSpacer width max: (TextStyle defaultFont widthOf: $x) * 2). aPanel width: (TextStyle defaultFont widthOfString: 'Hello!').
aMorph layoutInset: (5 * RealEstateAgent scaleFactor) truncated. "or rounded"
I don't think that we can get rid of all pixel-based constants because low-ppi displays require a sense of pixel-perfect accuracy where font-based calculations might look too awkward.
After the 6.0 release, we might want to look into the following challenges: - Replace the use of "RealEstateAgent scaleFactor" with a single message on numbers, points, rectangles such as #scaledToDisplay or #screenScaled or #uiScaled - Deferring layout scaling from initialization code (e.g., Morph >> #layoutInset:) to layout computation (e.g., TableLayout >> #layout:in:).
Again, nothing has changed regarding the current programming model for scale-factor-aware tools/widgets/etc..
Best, Marcel Am 13.01.2022 21:04:04 schrieb Thiede, Christoph christoph.thiede@student.hpi.uni-potsdam.de: Hi Jakob,
looking at CodeHolder>>#optionalButtonsFrame, I would suppose that relying on the font selectors from Preferences class might be a best practice. Independently of the scaling factor, users could also override the font style of single widget classes, so going through the actual font makes sense to me. :-)
Best, Christoph Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Jakob Reschke jakres+squeak@gmail.com Gesendet: Donnerstag, 13. Januar 2022 20:48:45 An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] Please Test | Improvements around display scaling (150%, 200%, 250%, ...) Hi Marcel,
Now that the scaling code has arrived in Trunk, which messages should we use to write well-scaling LayoutFrames, in particular with offsets (that were previously hardcoded to pixel values)?
Should we use - Display relativeScaleFactor - Display relativeUiScaleFactor - Display uiScaleFactor - or do it entirely in a different manner?
Kind regards, Jakob
Thank you for this summary with examples!
Am Fr., 14. Jan. 2022 um 09:54 Uhr schrieb Marcel Taeumel marcel.taeumel@hpi.de:
Hi Jakob, hi Christoph --
[...] which messages should we use to write well-scaling LayoutFrames [...]
There was no change in this regard. As Christoph explained, try to depend on font metrics if possible or use "RealEstateAgent scaleFactor" for other pixel-based numbers.
Here are some examples:
aMorph height: TextStyle defaultFont height * 1.5. "or #defaultFixedFont" aMorph height: Preferences standardButtonFont height. aSpacer width: (aSpacer width max: (TextStyle defaultFont widthOf: $x) * 2). aPanel width: (TextStyle defaultFont widthOfString: 'Hello!'). aMorph layoutInset: (5 * RealEstateAgent scaleFactor) truncated. "or rounded"
I don't think that we can get rid of all pixel-based constants because low-ppi displays require a sense of pixel-perfect accuracy where font-based calculations might look too awkward.
After the 6.0 release, we might want to look into the following challenges:
- Replace the use of "RealEstateAgent scaleFactor" with a single message on numbers, points, rectangles such as #scaledToDisplay or #screenScaled or #uiScaled
- Deferring layout scaling from initialization code (e.g., Morph >> #layoutInset:) to layout computation (e.g., TableLayout >> #layout:in:).
Again, nothing has changed regarding the current programming model for scale-factor-aware tools/widgets/etc..
Best, Marcel
Am 13.01.2022 21:04:04 schrieb Thiede, Christoph christoph.thiede@student.hpi.uni-potsdam.de:
Hi Jakob,
looking at CodeHolder>>#optionalButtonsFrame, I would suppose that relying on the font selectors from Preferences class might be a best practice. Independently of the scaling factor, users could also override the font style of single widget classes, so going through the actual font makes sense to me. :-)
Best,
Christoph
Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von Jakob Reschke jakres+squeak@gmail.com Gesendet: Donnerstag, 13. Januar 2022 20:48:45 An: The general-purpose Squeak developers list Betreff: Re: [squeak-dev] Please Test | Improvements around display scaling (150%, 200%, 250%, ...)
Hi Marcel,
Now that the scaling code has arrived in Trunk, which messages should we use to write well-scaling LayoutFrames, in particular with offsets (that were previously hardcoded to pixel values)?
Should we use
- Display relativeScaleFactor
- Display relativeUiScaleFactor
- Display uiScaleFactor
- or do it entirely in a different manner?
Kind regards, Jakob
Hi Dave --
Thanks. I put it on the list. :-)
Best, Marcel Am 31.12.2021 17:20:26 schrieb David T. Lewis lewis@mail.msen.com: Hi Marcel,
My screen resolution is 1920 x 1080 (16:9). I am attaching a screen shot to show what Squeak looks iike if I select 300% scale factor in the Preference Wizard. The Squeak window is expanded to full vertical height and with X11 window decorations still active. I see basically the same thing in Squeak full screen mode.
Dave
On Fri, Dec 31, 2021 at 09:46:40AM +0100, Marcel Taeumel wrote:
Hi Dave --
I tweaked it a bit. Does this work for you?
Best, Marcel Am 31.12.2021 09:17:40 schrieb Marcel Taeumel : Hi Dave --
In Windows, I cannot make a window taller than what the actual screen has. How does it look like on your screen? Can you share a screenshot?
Best, Marcel Am 30.12.2021 22:00:49 schrieb David T. Lewis : On Thu, Dec 30, 2021 at 04:41:54PM +0100, Marcel Taeumel wrote:
Done. Phew. Please report update issues ASAP. :-)
This is very well done, and I like having it in the Preference Wizard like this.
I do have one issue to report - If I try the 300% setting on my machine, I have no way to get back to 100% because the available check boxes are now off the bottom edge of my display screen.
A simple solution might be to move the explanatory text below the check box selections, such that 100% check box is always visible at ony of the scale factors.
Dave
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel : Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel : Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel : Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel : Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel : Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion:??http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
On Mon, Jan 17, 2022 at 01:00:38PM +0100, Marcel Taeumel wrote:
Hi Dave --
Thanks. I put it on the list. :-)
I'll note that I took a look at this issue and could see no easy way to avoid the problem. But just as an idea, maybe there is some way to hook into the <esc> key to return the wizard to a safe state? That's all I could think of, but I did not get as far as figuring out how to implement it.
Dave
Best, Marcel Am 31.12.2021 17:20:26 schrieb David T. Lewis lewis@mail.msen.com: Hi Marcel,
My screen resolution is 1920 x 1080 (16:9). I am attaching a screen shot to show what Squeak looks iike if I select 300% scale factor in the Preference Wizard. The Squeak window is expanded to full vertical height and with X11 window decorations still active. I see basically the same thing in Squeak full screen mode.
Dave
On Fri, Dec 31, 2021 at 09:46:40AM +0100, Marcel Taeumel wrote:
Hi Dave --
I tweaked it a bit. Does this work for you?
Best, Marcel Am 31.12.2021 09:17:40 schrieb Marcel Taeumel : Hi Dave --
In Windows, I cannot make a window taller than what the actual screen has. How does it look like on your screen? Can you share a screenshot?
Best, Marcel Am 30.12.2021 22:00:49 schrieb David T. Lewis : On Thu, Dec 30, 2021 at 04:41:54PM +0100, Marcel Taeumel wrote:
Done. Phew. Please report update issues ASAP. :-)
This is very well done, and I like having it in the Preference Wizard like this.
I do have one issue to report - If I try the 300% setting on my machine, I have no way to get back to 100% because the available check boxes are now off the bottom edge of my display screen.
A simple solution might be to move the explanatory text below the check box selections, such that 100% check box is always visible at ony of the scale factors.
Dave
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel : Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel : Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel : Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel : Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel : Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion:??http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
Hi Dave --
... to return the wizard to a safe state?
Hmm... in this case, I could return to 100% and 1024@768, I suppose ... Yet, I am still puzzled why that #updatePageVisibility is not working as expected. It seems to work some times. In my Ubuntu VM even most of the time. :-D
...and I want to reduce that flickering that occurs because of redundant display updates.
Best,
Marcel Am 17.01.2022 17:51:40 schrieb David T. Lewis lewis@mail.msen.com: On Mon, Jan 17, 2022 at 01:00:38PM +0100, Marcel Taeumel wrote:
Hi Dave --
Thanks. I put it on the list. :-)
I'll note that I took a look at this issue and could see no easy way to avoid the problem. But just as an idea, maybe there is some way to hook into the key to return the wizard to a safe state? That's all I could think of, but I did not get as far as figuring out how to implement it.
Dave
Best, Marcel Am 31.12.2021 17:20:26 schrieb David T. Lewis : Hi Marcel,
My screen resolution is 1920 x 1080 (16:9). I am attaching a screen shot to show what Squeak looks iike if I select 300% scale factor in the Preference Wizard. The Squeak window is expanded to full vertical height and with X11 window decorations still active. I see basically the same thing in Squeak full screen mode.
Dave
On Fri, Dec 31, 2021 at 09:46:40AM +0100, Marcel Taeumel wrote:
Hi Dave --
I tweaked it a bit. Does this work for you?
Best, Marcel Am 31.12.2021 09:17:40 schrieb Marcel Taeumel : Hi Dave --
In Windows, I cannot make a window taller than what the actual screen has. How does it look like on your screen? Can you share a screenshot?
Best, Marcel Am 30.12.2021 22:00:49 schrieb David T. Lewis : On Thu, Dec 30, 2021 at 04:41:54PM +0100, Marcel Taeumel wrote:
Done. Phew. Please report update issues ASAP. :-)
This is very well done, and I like having it in the Preference Wizard like this.
I do have one issue to report - If I try the 300% setting on my machine, I have no way to get back to 100% because the available check boxes are now off the bottom edge of my display screen.
A simple solution might be to move the explanatory text below the check box selections, such that 100% check box is always visible at ony of the scale factors.
Dave
Best, Marcel Am 30.12.2021 14:26:09 schrieb Marcel Taeumel : Final update. I will commit this in a few hours.
Best, Marcel Am 29.12.2021 11:41:05 schrieb Marcel Taeumel : Next update. Our preference wizard can scale now. :-) And the mouse cursor scales correctly. And I disarmed the primitiveScreenScaleFactor for now to not confuse users with a "(recommended)" factor that is always 1.0 (or 100%).
Best, Marcel Am 23.12.2021 15:14:08 schrieb Marcel Taeumel : Updated. :-D
Big thanks to Tobias (topa) to make me realize that we need:
DisplayScreen >> #platformScaleFactor(:) DisplayScreen >> #uiScaleFactor(:)
And because of another macOS-vs-Windows discussion:
DisplayScreen >> #relativeUiScaleFactor(:) DisplayScreen class >> #relativeScaleFactorEnabled(:)
Please read the commentary in those methods.
Best, Marcel Am 22.12.2021 10:14:56 schrieb Marcel Taeumel : Updated. :-) Am 21.12.2021 19:01:06 schrieb Marcel Taeumel : Hi all --
Yes, the new primitive "primitiveScreenScaleFactor" is not yet functional, but we can do something to at least improve the manual way of scaling fonts (and widgets and tools) so that your favorite high-DPI display can be used in Squeak (i.e. "sharp fonts") without letting the operating system scale (i.e. "blurry fonts").
Here is an older discussion:??http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603... [http://lists.squeakfoundation.org/pipermail/squeak-dev/2020-September/211603...]
Please find attached a change set for your to try out. Load it and then click Extras > Scale Factor > 200%. Or do-it in a workspace: "Display scaleFactor: 1.25". Note that 100%, 125%, and 150% will still use our pre-rendered "Bitmap DejaVu Sans" fonts. Other scale factors rely on "BitstreamVeraSans(Mono)".
I have still a little bit more testing to do considering the use of FontImporterTool. :-)
It's still not perfect. But at least we now have a one-click solution for scale factors bigger than 150%.
Best, Marcel
squeak-dev@lists.squeakfoundation.org