The Trunk: System-mt.1530.mcz

[email protected] Tue, 4 Aug 2026 08:51:08 0000
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Marcel Taeumel uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-mt.1530.mcz

==================== Summary ====================

Name: System-mt.1530
Author: mt
Time: 4 August 2026, 10:51:06.872447 am
UUID: 7acaaa0c-7a75-be44-9233-6b1096720b87
Ancestors: System-mt.1529

When reusing the systems scale factor for increasing or decreasing font sizes, make sure to keep the host window size as any change would be unexpected to the user, who only watches the font sizes during that action.

Thanks to Tim (tpr) for the pointer!

=============== Diff against System-mt.1529 ===============

Item was changed:
  ----- Method: Preferences class>>decreaseFontSize (in category 'prefs - fonts') -----
  decreaseFontSize
  
+ 	Project current isMorphic ifTrue: [
+ 		self currentWorld setProperty: #keepWorldExtent toValue: true].
+ 	
+ 	Display uiScaleFactor: Display uiScaleFactor - 0.25.
+ 	
+ 	Project current isMorphic ifTrue: [
+ 		self currentWorld removeProperty: #keepWorldExtent].!
- 	Display uiScaleFactor: Display uiScaleFactor - 0.25.!

Item was changed:
  ----- Method: Preferences class>>increaseFontSize (in category 'prefs - fonts') -----
  increaseFontSize
  
+ 	Project current isMorphic ifTrue: [
+ 		self currentWorld setProperty: #keepWorldExtent toValue: true].
+ 	
+ 	Display uiScaleFactor: Display uiScaleFactor + 0.25.
+ 	
+ 	Project current isMorphic ifTrue: [
+ 		self currentWorld removeProperty: #keepWorldExtent].
+ !
- 	Display uiScaleFactor: Display uiScaleFactor + 0.25.!

Item was changed:
  ----- Method: UserInterfaceTheme>>scaleMorphicWorldBy: (in category 'private - fonts') -----
  scaleMorphicWorldBy: factor
  
  	(factor closeTo: 1) ifTrue: [^ self].
+ 	(self currentWorld valueOfProperty: #keepWorldExtent) = true ifTrue: [^ self].
  	
  	self flag: #todo. "mt: Once the UserInterfaceTheme does not fake any scale factors anymore and we are all-in with #isTTCBased, the following code can be moved to Project >> #displayScaleChangedFrom:to:. Note that we can stop faking when a low-resolution TTCFont starts looking okay but for now, we rely on pre-rendered StrikeFont."
  	
  	(DisplayScreen displayIsFullScreen not
  		and: [Display extent = DisplayScreen actualScreenSize])
  			ifTrue: [ "The platform has not (yet?) adapted the window size but maybe the #platformScaleFactor. So we have to change the window size now to account for re-scaled tools. Note that projects should do #checkForNewScreenScaleFactor *before* #checkForNewScreenSize."
  				DisplayScreen setNewScreenSize: (Display extent * factor) rounded].!

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]