Thanks a lot for all these tips :)

I will update the project to match with what is really expected from a multi world utility.

Thanks again for the time you take to explain me this.

Regards,
Julien

On 24/08/15 20:24, Torsten Bergmann wrote:
Hi Julien,

what I remember from history

  - Jochen F. Rick had a "JRWorldManager" implemented back in 2010
       - was discusssed here 
http://forum.world.st/Multiple-Worlds-was-Re-Can-I-use-Projects-in-Pharo-td2240869.html
       - code is here 
http://forum.world.st/attachment/2242195/0/JRWorldManager.st (basically 
something to manage the desktops)
  - then Sean picked up the idea in 2011 and implemented
       - blog post http://seandenigris.com/blog/?p=767
       - he provided "MultipleWorlds.2.cs" which I think is lost during 
bugtracker transition
  - later default Pharo image was reworked for the world to have WorldMorph 
instances instead of Squeaks PasteUpMorph, so
    the code of Sean and Jochen would be obsolete anyway

Some tips:
==========
  - Pharo has a global called "World" which is pointing to the current world of 
displayed morphs, you need to
    switch this and handle/manage new Worlds = Desktops.
  - in older Pharo versions and Squeak this was a PasteUpMorph, now it is an instance of 
class "WorldMorph"
  - note that there is a class side method "installNewWorld" with the nice comment 
"let us play God."
  - basically you already have the parts with a DeskopManager and the switch 
via keyboard, you just need
    to play with #installNewWorld and #install method of the worlds
    Note: check the comments of the class and methods in WorldMorph - this 
might be subject to change
  - to get a thumbnail form of the world you can use:

     |sizeFactor|
     sizeFactor := 0.3.
     World taskThumbnailOfSize: (Display width * sizeFactor) @ (Display height 
* sizeFactor)

  - see how the preview is handled in TaskListMorph 
newPreviewMorph/updatePreview methods to get an idea

So all the pieces of the puzzle are there - just connect them correctly.
Side Note: default Pharo image has the possibility to put an external picture somewhere that is used
            by the theme as the background image. Cant remember where it is - just 
browser for "background..."
            methods in the Finder. With multiple desktops I guess this needs 
some love as well to have
            a backgorund per desktop.

Hope that helps!

Bye
Torsten

Gesendet: Montag, 24. August 2015 um 19:46 Uhr
Von: "Julien Delplanque" <jul...@tamere.eu>
An: "Torsten Bergmann" <asta...@gmx.de>, "Any question about pharo is welcome" <pharo-users@lists.pharo.org>, 
"Stéphane Ducasse" <stephane.duca...@inria.fr>, "Marcus Denker" <marcus.den...@inria.fr>, s...@clipperadams.com
Betreff: Re: Multi desktops inside Pharo!



On 24/08/15 19:32, Torsten Bergmann wrote:
Julien Delplanque wrote:
I created a small utility that make possible to have multi desktops:
https://github.com/juliendelplanque/desktopsmanager.
Your code works for me in Pharo 5, havent tried in Pharo 4.

Unfortunately it does only work for Pharo "windows" but not general morphs.
If you evaluate

    ElipseMorph new openInWorld

and hit CTRL+SHIFT+J you will see that the morph stays on the desktop.
So your goodie is a "window switcher" and not a "desktop switcher".
Yes you are right. But it is a first step, I planned to really create
"new desktops" in the future, but for now I wrote this fast to have
something usable.
I guess it would be better if you would really switch the WorldMorph instance
referenced by the global "World" variable.

There already was a solutions once discussed/contributed with code here

    http://forum.world.st/Multiple-Worlds-for-Pharo-stable-td3233552.html
    http://seandenigris.com/blog/?p=767

I think it got lost in the old bugtracker. Maybe Sean (who wrote it) can help 
here,
update the code and merge with yours.
Yes I'm OK to do that. Where can I find this package?

Ideally such a "Switch desktop" possibility would be part of the
standard Pharo 5 image including a small preview of the whole desktop
similar to what usual operating system window manager do and the possibility
to provide different backgrounds to the desktops.
It would be really nice to have multiple world by default in pharo images :)
Thanks
Torsten
Julien




Reply via email to