Dark Theme for Pharo 3 ================== So, I finally took some time and hacked a Dark Theme for Pharo 3: How you install it? You need to execute this script:
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 Esteban |
… and I made a blog post with it :P
On 01 May 2014, at 13:24, Esteban Lorenzano <[hidden email]> wrote:
|
In reply to this post by EstebanLM
Very well done!
Nico Esteban Lorenzano writes: > Dark Theme for Pharo 3 > ================== > > So, I finally took some time and hacked a Dark Theme for Pharo 3: > > > > How you install it? You need to execute this script: > > “1. You need this because otherwise Gofer merge becomes dumb :P" > MCRepositoryGroup default > addRepository: (MCSmalltalkhubRepository > owner: 'estebanlm' > project: 'Pharo3DarkTheme'). > “2. Now we can actually MERGE the project" > Gofer it > smalltalkhubUser: 'estebanlm' project: 'Pharo3DarkTheme'; > package: 'Pharo3DarkTheme'; > merge. > “3. 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 > > Esteban -- Nicolas Petton http://nicolas-petton.fr |
In reply to this post by EstebanLM
ahhh… forget to say. There will be missing changes (my workflow is covered, but that does not means all Pharo).
Please, report it and I will fix it as soon as I can. cheers, Esteban On 01 May 2014, at 13:24, Esteban Lorenzano <[hidden email]> wrote:
|
Likey!! Now to find some time to actually install it and see if it works for me :) Cheers, Sergi 2014-05-01 12:47 GMT+01:00 Esteban Lorenzano <[hidden email]>:
|
In reply to this post by EstebanLM
Very cool. Thank you, Esteban!
Uko On 01 May 2014, at 13:24, Esteban Lorenzano <[hidden email]> wrote:
|
In reply to this post by EstebanLM
Wow!
This will make a couple of people very happy, and it is quite impressive. Seriously, you found time to finish this while labouring during days on the Pharo 3 release, are you sure you are not extra-terrestial ? Works like a charm : Thanks. Sven PS: Yes, we should do the effort to make it possible to do this for real (clean). On 01 May 2014, at 13:24, Esteban Lorenzano <[hidden email]> wrote: Dark Theme for Pharo 3 |
Yesssssssss!!!!!! Esteban, you really made my day on this one. The good thing is also that with your changes we can spot where to look for changing all we want now. Thanks again. Phil Le 1 mai 2014 14:08, "Sven Van Caekenberghe" <[hidden email]> a écrit : |
In reply to this post by Sven Van Caekenberghe-2
On 01 May 2014, at 14:07, Sven Van Caekenberghe <[hidden email]> wrote:
thanks! yes I made it for Phil and Yuriy :)
well.. there were some dead moments while waiting for things to be ready (but I wasn’t able to work on more complicated things, I needed to keep my concentration on the release)… and then I have insomnia :P Esteban
|
In reply to this post by philippeback
On 01 May 2014, at 14:23, [hidden email] wrote:
you are welcome :)
yes, the idea was to make a dark theme possible by removing hardcoded colorisation and dumb things (I like current one, but the most important is that now *it is* possible to play with themes for real). now, we need to think how we can actually integrate the changes to the image (I suppose not in the way it is done now, as I said… it is mostly a hack).
|
Esteban you are awesome, VIP of Pharo :) If there was one thing of Pharo that got in my nerves it was the white theme. So tiring to my eyes it was the No 1 for me.
What I can say about this dark theme, its amazing. The colors are right, I love the syntax highlighting colors , I love it , love and love it. I have installed , I see no problems so far, I will keep using it from now on a report back any problems. The thing I see is that class icons contain some white in their edges which of course does not fit with the theme, but for a hack its still awesome.
Thank you , thank you and thank you. At last I can clearly see the scroll bars. Hm i found a problem, tried to open the help browser it asked for my name but the input box is white and so i could not see what i was typing.
On Thu, May 1, 2014 at 3:29 PM, Esteban Lorenzano <[hidden email]> wrote:
|
On 01 May 2014, at 14:51, kilon alios <[hidden email]> wrote:
thanks, I’m very glad you enjoy it :) yes. Pavel told me that… think is that I always set the author in preferences, so I never see that dialog (and therefore, I do not change it). I will fix it :) Esteban
|
In reply to this post by EstebanLM
Awesome!
Thanks. On 05/01/2014 06:24 AM, Esteban Lorenzano wrote:
|
Ahora si!
Esteban, my sight thanks you (having astigmatism is not cool). Really, this made my day as well :) On 1 May 2014 10:17, Jimmie Houchin <[hidden email]> wrote:
|
In reply to this post by EstebanLM
Bravo Esteban!
By the way, I have added a PharoExtras UIThemes project to Smalltalkhub, right in time it seems ;) About a morphic redesign, I just had a look at Cuis to see how was their Morphic. Thierry |
yeah, the problem is that currently there are a lot of changes happening to make the dark theme possible (I removed hardcoded colors everywhere, re-direct default colors to theme everywhere, modified without any contemplation packages like Morphic*, Spec* and Nautilus*… along with Polymorph* packages, of course. So… I need to work a lot more in polishing, ensure all continues working, make appropriate SLICES, etc. I see this as part of the “tool oriented” direction of Pharo 4. I shared because I think the result is good enough and people can take benefit of having it (also, then people can help on making the work, he). But in any case, is not close at all of being integrable to core image, or to a standard theme project :( But it will be, it has to :)
yeah, not sure that I want to follow that path, but we need to start discussing it :) I know Alain Plaintec started to work on a new morphic, and I suppose best scenario is all community joining efforts to achieve the goal, but for that we first need to discuss/agree on a design. What happens now is that every morph is a HUGE ball of mud, with mixed responsibilities and many dependencies to other “layers”: is very famous the dependency of HandMorph with the event dispatcher (now cleaned), but that was just an example. Now it is mixed with Polymorph in a very dirty way, etc. etc. In a ver corse grained way, I imagine a future morphic well split in his different concerns: graphic “atoms”, skins and widgets. cheers, Esteban
|
Administrator
|
Yes!!! IMHO our Morphic implementation's ocmplexity is the biggest thing holding back our creative spirit. It seems that many other things have been cleared out of our way and now is the time to make this happen. I think you hit the nail right on the head: 1) all interested parties join forces - there have been too many experimental cleanups and re-implementations that are interesting but ultimately unused/unusable, and 2) start with a solid design. Morphic's power is incredible and it would be great to have that available when you need it, with all the more-business-friendly UI objects built on top. Some good places I've found ideas and insights are ARK, Self, Lively Kernel, KScript, and Cuis.
Cheers,
Sean |
In reply to this post by EstebanLM
Yes, I had a look in the Pharo3DarkTheme package :) This is the only thing which dissuades me from using it right now :( The time for the merge to happen on my netbook is just too long... And I have to do screenshots for PharoForTheEnterprise :) You've given us something to dream about, and to start to use to boot :) I've seen Alain's effort the last time I went to Brest, but I never took the time to try it. I think it's probably a good base; as it is use-driven, it is important to exercise it with the most complex Morphic / Spec GUIs we can build, which means community support. As it's easy for me to see that, it's also frightening to see how many protocols in Morphic are extensions for packages which do not exist anymore. And the complexity of all the PluggableXXX is frightening, and it introduces serious performance problems. And with a more understandable layout API, and with simpler widgets to connect to models, and with working caching so that we don't busy lock Pharo when exploring long collections, and that Moose doesn't have to use that ugly paging tree/list morph, and ... While still keeping what made Morphic so great in the first place :) Thierry
|
In reply to this post by Sean P. DeNigris
________________________________________ De : Pharo-dev [[hidden email]] de la part de Sean P. DeNigris [[hidden email]]Note on the design: I wouldn't hesitate to have some of the business-friendly objects slightly on the side of the overall design: we don't need the full complexity and power of Morphic for many business objects... Doru's work with Glamour may be a good benchmark of how simple business looking code may be. However, I would dream of merging Roassal(2) and Morphic. Use Roassal DSLs and infrastructure to make Morphic simpler, and build fully integrated GUIs (code exploration tools, or even a system browser) where some of the widgets are Roassal(s). This was my dream when I started my browser: have a full screen representation of the code inside my image, as an interactive background to my Pharo, and editors floating there and there to edit the code, run it, explore it, debug it, etc... I settled for less :) Thierry |
In reply to this post by EstebanLM
On Thu, May 1, 2014 at 1:24 PM, Esteban Lorenzano <[hidden email]> wrote:
I installed in on Windows and it works nicely. One needs to reopen existing windows as there is a kind of lighter border on them.
I tried to go to the Pharo3 theme and back, well, yeah, don't try that :-) Now, I need a dark TWM (the menus are dark already but not the bar itself or the menu borders).
Phil |
Free forum by Nabble | Edit this page |