Status: New
Owner: ---- New issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 Pharo image: 1.2 Allow users to have multiple worlds |
Comment #1 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 Fix in inbox: SLICE-Issue-3545-FEATURE-Multiple-Worlds-SeanDeNigris.1 Added multiple world support as discussed @ http://forum.world.st/Multiple-Worlds-was-Re-Can-I-use-Projects-in-Pharo-td2240869.html Cleaned up changeset from that post and PasteUpMorph (e.g. removed references to project) Add a world: WorldManager instance createOrSwitchToWorldNamed: 'JustAnotherWorld'. Return to the default world: WorldManager instance createOrSwitchToWorldNamed: 'Pharo'. This may need to be cleaned up e.g. should worlds be named, or numbered (like Mac Spaces)? Either way, maybe that attribute (or both) should be encapsulated in PasteUpMorph. But it's working, so we might as well play with it. Also, there were methods with no senders in the image (WorldManager>>switchToWorldNamed:, #createWorldNamed:, #switchToWorldNamed:, switchToWorldNamed:ifAbsent:, #worlds). I'm not sure if these methods were intended to be part of a user API or if they should be removed. Sean |
Comment #2 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 I would like to see that integrated - similar to a desktop switcher. Would be nice to have a morph added to the bottom bar so one can easily switch between worlds or at least a world menu entry since switching by evaluating an expression is ... cumbersome. Should we tag it for 1.3 |
Updates:
Status: Accepted Labels: Milestone-1.3 Comment #3 on issue 3545 by marianopeck: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 yes, it should be 1.3 not 1.2 it remember me Squeak Project hahahha hope it is not like that the code |
Comment #4 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 Ok we will have a look. Make sure that the code is clean, documented and does not look like projects or etoys and we are open. |
Comment #5 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 Relationship to Project: * all the flexibility of multiple worlds (except there is no UI for now, maybe later we add a menu option, thumbnails, whatever * none of the complexity / issues Code statistics: * Changes to PasteUpMorph # methods added: 2 # lines per method: 5.5 # lines of longest method: 7 * 1 Class added: WorldManager # methods: 10 # lines per method: 2.3 # lines of longest method: 7 # methods with no senders: 5 <-- maybe we should remove these, but I wasn't sure what Jochen's intention was and wanted to hear from him before I removed them. Maybe some/all are intended as an API? - one single-line class method to access singleton Open questions: * should worlds be named, or numbered (like Mac Spaces), or both? Either way, maybe that attribute (or both) should be encapsulated in PasteUpMorph. But it's working, so we might as well play with it. * should methods with no senders (WorldManager>>switchToWorldNamed:, #createWorldNamed:, #switchToWorldNamed:, switchToWorldNamed:ifAbsent:, #worlds) be removed. Code used to collect statistics: | methodSizes numMethods lpm | methodSizes := WorldManager methodDictionary values collect: [ :m | m linesOfCode - 1 ]. numMethods := WorldManager methodDictionary size. "10" lpm := (methodSizes sum / numMethods) asFloat. "2.3" methodSizes max. "7" WorldManager methodDictionary values collect: [ :m | m linesOfCode - 1 ]. (WorldManager methodDictionary keys select: [ :s | (SystemNavigation default allSendersOf: s) isEmpty ]) size. "5" |
Administrator
|
Does anyone have a great example of a multiple desktop switching UI (something like Mac Spaces)? I might take a hack at creating one for Pharo on top of this API and I'm looking for inspiration.
Thanks. Sean
Cheers,
Sean |
Romain robbes implemented a mac like expose in squeak a while ago.
I do not remember the name of the project. Stef On Jan 19, 2011, at 11:45 AM, Sean P. DeNigris wrote: > > Does anyone have a great example of a multiple desktop switching UI > (something like Mac Spaces)? I might take a hack at creating one for Pharo > on top of this API and I'm looking for inspiration. > > Thanks. > Sean > -- > View this message in context: http://forum.world.st/Issue-3545-in-pharo-FEATURE-Multiple-Worlds-tp3222698p3224992.html > Sent from the Pharo Smalltalk mailing list archive at Nabble.com. > |
A little bit different than you are looking for, try it out and see.
http://www.squeaksource.com/WorkingSet Fernando On Wed, Jan 19, 2011 at 12:59 PM, Stéphane Ducasse <[hidden email]> wrote: > Romain robbes implemented a mac like expose in squeak a while ago. > I do not remember the name of the project. > > Stef > > On Jan 19, 2011, at 11:45 AM, Sean P. DeNigris wrote: > >> >> Does anyone have a great example of a multiple desktop switching UI >> (something like Mac Spaces)?  I might take a hack at creating one for Pharo >> on top of this API and I'm looking for inspiration. >> >> Thanks. >> Sean >> -- >> View this message in context: http://forum.world.st/Issue-3545-in-pharo-FEATURE-Multiple-Worlds-tp3222698p3224992.html >> Sent from the Pharo Smalltalk mailing list archive at Nabble.com. >> > > > |
Administrator
|
Thanks for all the pointers. I'll check them out and make a prototype...
Sean
Cheers,
Sean |
In reply to this post by pharo
Comment #6 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 I collected the changes into a changeset so people can play with it in 1.1.1. Maybe it'd be easier to integrate also. Attachments: MultipleWorlds.2.cs 3.5 KB |
Comment #7 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 the changeset also includes a class comment for WorldManager that wasn't in the original SLICE |
Comment #8 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 One of the nice things about EToys Projects was the option to swap Projects to disk, which (I think) meant that only the current Project was loaded into memory. Can this be done with Multiple Worlds in Pharo, too (to save memory)? Actually, since I'm not a seasoned Smalltalker, I don't even know if memory is an issue with Multiple Worlds. Is it? |
Comment #9 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 Multiple worlds is a piece of functionality that I missed from Squeak, and pushed to get back. It doesn't do any of the other things that projects do. Although, Pharo seems to be open to any code that is clean, especially if well-documented and tested, so if you miss some other feature, code up a prototype and get people excited about it :) |
Comment #10 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 Saving projects in etoy contains a lot of rotten and ***bad*** code. If you want to have world saved, save your image. And in Pharo we want good code. |
Updates:
Status: FixProposed Comment #11 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 (No comment was entered for this change.) |
In reply to this post by pharo
Comment #13 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 Excellent idea. This is still on my todo to play with it. |
Updates:
Labels: -Milestone-1.3 Comment #14 on issue 3545 by [hidden email]: FEATURE: Multiple Worlds http://code.google.com/p/pharo/issues/detail?id=3545 not for 1.3 |
Free forum by Nabble | Edit this page |