The Martian Chronicles

A Dark Theme for Pharo 3

So, I finally took some time and hacked a Dark Theme for Pharo 3:

darktheme

How you install it? You need to execute this script:

"You need this because otherwise Gofer merge becomes dumb :P"
MCRepositoryGroup default 
    addRepository: (MCSmalltalkhubRepository 
        owner: 'estebanlm' 
        project: 'Pharo3DarkTheme').
"Now we can actually MERGE the project"
Gofer it 
    smalltalkhubUser: 'estebanlm' project: 'Pharo3DarkTheme';
    package: 'Pharo3DarkTheme';
    merge.
"And then install it"
Pharo3DarkTheme installFullTheme.

WARNING 1: You need to do a merge (notice the script)

WARNING 2: Yes, this is a HACK (also: an ugly hack). See below for details.

WARNING 3: This changes something in the Pharo3Theme too... so you can go back after installing, but not completely :)

Considerations

It can look like an easy task, to make a theme over a non native GUI like Pharo, but let me tell you: It is not. There are a lot of glitches and errors of design you have to overcome to get a working version of a theme. This is a pitty because we claim that our system is clean (or should be clean) and easy to understand.

But all the Morphic implementation is a hack over a hack, with preconcepts and hardcodes everywhere, up to a point that to make the smallest change is an incredibly annoying task.

Then... I added yet another hack to this infinite list. I made it because we need something like this, even if not a good solution. And I also made it to start a debate into our community.

I truly believe that Morphic was a great idea, but I also believe that current implementation is doomed. I would like to discuss a new implementation, with a good design (for example I believe it should be a clear separation between a morph and it's skin, making easy the actual-hard task of changing a colorset).

I also believe there will be a clear separation between what is a Morph (a graphical unit) and a Widget (who at the time should use morphs, but that's another story). Etc., etc., etc.

So, will we start the longtime postponed effort of effectively replace current Morphic?

In the mean time, enjoy the theme. Is so cool that I'm considering making it my default theme :P

Edit: The Dark Theme is no longer a hack, I worked a lot on polishing and prepare for production. And now is integrated in the upcoming Pharo4 (and is still loadable in Pharo3)

Posted by Esteban at 1 May 2014, 7:31 am with tags pharo link