Issue 3545 in pharo: FEATURE: Multiple Worlds

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

Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo
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


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo
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


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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.


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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"


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

Sean P. DeNigris
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
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

Stéphane Ducasse
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.
>


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

Fernando olivero-2
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.
>>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

Sean P. DeNigris
Administrator
Thanks for all the pointers.  I'll check them out and make a prototype...

Sean
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo
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


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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?



Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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 :)


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo

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.



Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo
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.)


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo
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.


Reply | Threaded
Open this post in threaded view
|

Re: Issue 3545 in pharo: FEATURE: Multiple Worlds

pharo
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