So I had a brief discussion with a newcomer to Pharo at IRC #pharo. He basically wanted to change the background color of a window.��
Naturally I assumed that is easy enough to do , so I though that window color in Preferences -> Appearance -> Morphic would do that trick but alas it did not.��
I am using PharoDark Theme and I found out that windowColor is not used and instead backgroundColor does the trick. Then it hit me, it would be really nice if a theme manager existed to make it easy for people to modify a theme at a basic level.��
"Damn it where is my Theme manager ? " which of course leads to the answer "Why you dont make one yourself?". So I decided to make one myself.��
I am not a fan of the idea to do this inside System Preferences because they are already too convoluted . So I am considering doing this as a separate tool as part of my Ephestos project. It is one the goals of my project to offer easy to create custom GUIs and of course a Theme manager is a first basic step.��
Now ��a first plan I had is to just create a single theme, that subclasses Dark Theme that I call Morpheas Theme and use that theme as a basis for every subtheme. So a theme will no longer be a class but rather a dictionary entry to an instance variable inside Morpheas Theme. The manager will basically allow to modify this dictionary with each sub theme having each own entry to this dictionary. I will try avoid messing with the code of other projects inside Pharo, ideally totally, it seems already the Dark Theme class can accomplish all I need.��
This approach ensures that structure of the theme remains the same only the data changes , keeping it clean and simple, with no need for the user to dive inside the code as it happens currently.��
So I am posting here since you guys are more experienced on this for your own opinion and though since I will do this at my own pace, slowly and step by step. I would like to avoid the pitfalls of unexperienced Pharo coder like me and of course make it easy also for other people to contribute. ��