Themes for Squeak 5.1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Themes for Squeak 5.1

Chris Muller-4
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..

Reply | Threaded
Open this post in threaded view
|

Re: Themes for Squeak 5.1

Karl Ramberg


On Sun, Mar 6, 2016 at 8:36 PM, Chris Muller <[hidden email]> wrote:
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..

Hi,
feel free to use the change set. 
The change set touches many classes and some hard to track down stuff.


Best,
Karl



Reply | Threaded
Open this post in threaded view
|

Re: Themes for Squeak 5.1

Bert Freudenberg
In reply to this post by Chris Muller-4
On 06.03.2016, at 20:36, Chris Muller <[hidden email]> wrote:
>
> I would really like for Squeak to have a dark theme for 5.1.  
> [...]
> What do y'all think?

+1

- Bert -


smime.p7s (8K) Download Attachment