Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1860.mcz
==================== Summary ====================
Name: Morphic-mt.1860 Author: mt Time: 27 January 2022, 12:08:10.671541 pm UUID: 1e06e708-c328-da42-9f3d-a8cbc99ea089 Ancestors: Morphic-mt.1859
Tweaks Morphic-mt.1859 a little bit more to preserve *all* custom window titles when changing UI themes or scale factors.
=============== Diff against Morphic-mt.1859 ===============
Item was changed: ----- Method: StringMorph>>acceptContents (in category 'editing') ----- acceptContents "The message is sent when the user hits enter or Cmd-S. Accept the current contents and end editing. This default implementation updates the model's known window title for pluggable windows."
self containingWindow ifNotNil: [:wnd | + wnd setLabel: self contents. "Needed for models that do not accept changes." (wnd respondsTo: #getLabelSelector) ifTrue: [ wnd getLabelSelector ifNotNil: [:selector | | mutator | mutator := selector asSimpleSetter. (wnd model respondsTo: mutator) ifTrue: [ wnd model perform: mutator with: self contents]]]]!
Item was changed: + (PackageInfo named: 'Morphic') postscript: '"Fixes custom edits that were not propagated properly to pluggable windows." + StringMorph allInstances do: [:ea | ea acceptContents].'! - (PackageInfo named: 'Morphic') postscript: '"Fix missing command key shortcuts such as [cmd]+[+/-] for scale changes." - Project allMorphicProjects do: [:p | p world initializeDesktopCommandKeySelectors]. - - "New ''scale factor'' menu" - TheWorldMainDockingBar updateInstances. - - "Enable ''Enclose selection with brackets'' by default (Morphic-mt.1812)" - TextEditor encloseSelection: true.'!
Thank you very much! Should we also make any efforts to preserve custom window colors as well? Sometimes I use them for distinguishing different windows (as some rough labels, "snippets" vs "upstream issues" vs "todo notes") ... :-)
Best,
Christoph
________________________________ Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von commits@source.squeak.org commits@source.squeak.org Gesendet: Donnerstag, 27. Januar 2022 12:08:16 An: squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org Betreff: [squeak-dev] The Trunk: Morphic-mt.1860.mcz
Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1860.mcz
==================== Summary ====================
Name: Morphic-mt.1860 Author: mt Time: 27 January 2022, 12:08:10.671541 pm UUID: 1e06e708-c328-da42-9f3d-a8cbc99ea089 Ancestors: Morphic-mt.1859
Tweaks Morphic-mt.1859 a little bit more to preserve *all* custom window titles when changing UI themes or scale factors.
=============== Diff against Morphic-mt.1859 ===============
Item was changed: ----- Method: StringMorph>>acceptContents (in category 'editing') ----- acceptContents "The message is sent when the user hits enter or Cmd-S. Accept the current contents and end editing. This default implementation updates the model's known window title for pluggable windows."
self containingWindow ifNotNil: [:wnd | + wnd setLabel: self contents. "Needed for models that do not accept changes." (wnd respondsTo: #getLabelSelector) ifTrue: [ wnd getLabelSelector ifNotNil: [:selector | | mutator | mutator := selector asSimpleSetter. (wnd model respondsTo: mutator) ifTrue: [ wnd model perform: mutator with: self contents]]]]!
Item was changed: + (PackageInfo named: 'Morphic') postscript: '"Fixes custom edits that were not propagated properly to pluggable windows." + StringMorph allInstances do: [:ea | ea acceptContents].'! - (PackageInfo named: 'Morphic') postscript: '"Fix missing command key shortcuts such as [cmd]+[+/-] for scale changes." - Project allMorphicProjects do: [:p | p world initializeDesktopCommandKeySelectors]. - - "New ''scale factor'' menu" - TheWorldMainDockingBar updateInstances. - - "Enable ''Enclose selection with brackets'' by default (Morphic-mt.1812)" - TextEditor encloseSelection: true.'!
Should we also make any efforts to preserve custom window colors as well?
No. Things that are controlled by the UI theme are meant to be reset all over the place. The only way you have is to set
aMorph setProperty: #noUserInterfaceTheme toValue: true.
Then that morph will be ignored in the next update. You now have to figure out the morphs you want to skip. For example, you cannot just change #setWindowColor: because that is also used programmatically, maybe in the update process.
Best, Marcel Am 06.02.2022 19:14:51 schrieb Thiede, Christoph christoph.thiede@student.hpi.uni-potsdam.de: Thank you very much! Should we also make any efforts to preserve custom window colors as well? Sometimes I use them for distinguishing different windows (as some rough labels, "snippets" vs "upstream issues" vs "todo notes") ... :-)
Best, Christoph Von: Squeak-dev squeak-dev-bounces@lists.squeakfoundation.org im Auftrag von commits@source.squeak.org commits@source.squeak.org Gesendet: Donnerstag, 27. Januar 2022 12:08:16 An: squeak-dev@lists.squeakfoundation.org; packages@lists.squeakfoundation.org Betreff: [squeak-dev] The Trunk: Morphic-mt.1860.mcz Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1860.mcz [http://source.squeak.org/trunk/Morphic-mt.1860.mcz]
==================== Summary ====================
Name: Morphic-mt.1860 Author: mt Time: 27 January 2022, 12:08:10.671541 pm UUID: 1e06e708-c328-da42-9f3d-a8cbc99ea089 Ancestors: Morphic-mt.1859
Tweaks Morphic-mt.1859 a little bit more to preserve *all* custom window titles when changing UI themes or scale factors.
=============== Diff against Morphic-mt.1859 ===============
Item was changed: ----- Method: StringMorph>>acceptContents (in category 'editing') ----- acceptContents "The message is sent when the user hits enter or Cmd-S. Accept the current contents and end editing. This default implementation updates the model's known window title for pluggable windows." self containingWindow ifNotNil: [:wnd | + wnd setLabel: self contents. "Needed for models that do not accept changes." (wnd respondsTo: #getLabelSelector) ifTrue: [ wnd getLabelSelector ifNotNil: [:selector | | mutator | mutator := selector asSimpleSetter. (wnd model respondsTo: mutator) ifTrue: [ wnd model perform: mutator with: self contents]]]]!
Item was changed: + (PackageInfo named: 'Morphic') postscript: '"Fixes custom edits that were not propagated properly to pluggable windows." + StringMorph allInstances do: [:ea | ea acceptContents].'! - (PackageInfo named: 'Morphic') postscript: '"Fix missing command key shortcuts such as [cmd]+[+/-] for scale changes." - Project allMorphicProjects do: [:p | p world initializeDesktopCommandKeySelectors]. - - "New ''scale factor'' menu" - TheWorldMainDockingBar updateInstances. - - "Enable ''Enclose selection with brackets'' by default (Morphic-mt.1812)" - TextEditor encloseSelection: true.'!
Hi Marcel,
aMorph setProperty: #noUserInterfaceTheme toValue: true.
That's a nice hook. :-)
You now have to figure out the morphs you want to skip. For example, you cannot just change #setWindowColor: because that is also used programmatically
How would you think about an indirection via #setWindowColorFromHalo: in SystemWindow>>#changeColor? :-)
Best, Christoph
--- Sent from Squeak Inbox Talk
On 2022-02-07T21:15:48+01:00, marcel.taeumel@hpi.de wrote:
Should we also make any efforts to preserve custom window colors as well?
No. Things that are controlled by the UI theme are meant to be reset all over the place. The only way you have is to set
aMorph setProperty: #noUserInterfaceTheme toValue: true.
Then that morph will be ignored in the next update. You now have to figure out the morphs you want to skip. For example, you cannot just change #setWindowColor: because that is also used programmatically, maybe in the update process.
Best, Marcel Am 06.02.2022 19:14:51 schrieb Thiede, Christoph <christoph.thiede at student.hpi.uni-potsdam.de>: Thank you very much! Should we also make any efforts to preserve custom window colors as well? Sometimes I use them for distinguishing different windows (as some rough labels, "snippets" vs "upstream issues" vs "todo notes") ... :-)
Best, Christoph Von: Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im Auftrag von commits at source.squeak.org <commits at source.squeak.org> Gesendet: Donnerstag, 27. Januar 2022 12:08:16 An: squeak-dev at lists.squeakfoundation.org; packages at lists.squeakfoundation.org Betreff: [squeak-dev] The Trunk: Morphic-mt.1860.mcz Marcel Taeumel uploaded a new version of Morphic to project The Trunk: http://source.squeak.org/trunk/Morphic-mt.1860.mcz [http://source.squeak.org/trunk/Morphic-mt.1860.mcz]
==================== Summary ====================
Name: Morphic-mt.1860 Author: mt Time: 27 January 2022, 12:08:10.671541 pm UUID: 1e06e708-c328-da42-9f3d-a8cbc99ea089 Ancestors: Morphic-mt.1859
Tweaks Morphic-mt.1859 a little bit more to preserve *all* custom window titles when changing UI themes or scale factors.
=============== Diff against Morphic-mt.1859 ===============
Item was changed: ----- Method: StringMorph>>acceptContents (in category 'editing') ----- acceptContents "The message is sent when the user hits enter or Cmd-S. Accept the current contents and end editing. This default implementation updates the model's known window title for pluggable windows." self containingWindow ifNotNil: [:wnd | + wnd setLabel: self contents. "Needed for models that do not accept changes." (wnd respondsTo: #getLabelSelector) ifTrue: [ wnd getLabelSelector ifNotNil: [:selector | | mutator | mutator := selector asSimpleSetter. (wnd model respondsTo: mutator) ifTrue: [ wnd model perform: mutator with: self contents]]]]!
Item was changed:
- (PackageInfo named: 'Morphic') postscript: '"Fixes custom edits that were not propagated properly to pluggable windows."
- StringMorph allInstances do: [:ea | ea acceptContents].'!
- (PackageInfo named: 'Morphic') postscript: '"Fix missing command key shortcuts such as [cmd]+[+/-] for scale changes."
- Project allMorphicProjects do: [:p | p world initializeDesktopCommandKeySelectors].
- "New ''scale factor'' menu"
- TheWorldMainDockingBar updateInstances.
- "Enable ''Enclose selection with brackets'' by default (Morphic-mt.1812)"
- TextEditor encloseSelection: true.'!
squeak-dev@lists.squeakfoundation.org