[squeak-dev] Themes for Squeak 5.1

Chris Muller ma.chris.m at gmail.com
Sun Mar 6 19:36:28 UTC 2016


I would really like for Squeak to have a dark theme for 5.1.  Marcel,
Karl, and myself, have had a long and slow discussion about this over
the last few months.  These are the requirements we are targeting for
Themes:

   1) ability to affect the visual appearance of every UI component of
the system, by setting its various FillStyle's, #borderWidth,
#iconForm's, #font's, etc.
   2) ability to swap out one entire visual Theme for another (via
save/load), without affecting any of the non-visual Preferences.
   3) ability to easily grow the elements of Theme objects organically
(as we can, for example, with our process for adding a new
Preference).
   4) A chain-of-responsibility feature which, upon access of the
value of a particular visual property, if it is not defined by the
app, and not defined by the theme, then it can fallback to use the
value of that property from the fallback theme.

Marcel came up with a bespoke implementation which can meet the above
requirements in about 30 lines of code across 12 methods.

I have a commercial need for theming support in Squeak.  That's why I
approached Marcel last January to work on this, so we can could come
up with a solution we agree on.  Now that we have, I would like to
move forward on this very soon.

What do y'all think?  In the next couple of weeks or so, Marcel, would
you mind if I moved forward with your idea, or did you want to do the
work?  Karl, the work you did with your change-set could probably help
us identify many of the accessing places which we'll need to update..


More information about the Squeak-dev mailing list