On Sat, May 30, 2015 at 4:16 PM, Matthieu Lacaton
<[email protected]> wrote:
>> I think it would be better to name these for their function rather
>> than the package:
>>        Nautilus openInExternalWindowOnPackage: nil.
>>        GTPlayground external openInExternalWindow.
>>       ThreadSafeTranscript external openInExternalWindow.
>>
>> I don't know if its a workable idea, but maybe something like
>>        Nautilus  external  openInOSWindowOnPackage: nil.
>>        GTPlayground  external  openInOSWindow.
>>        ThreadSafeTranscript  external  openInOSWindow.
>
>
> It is a workable idea, we just need to agree on a syntax.
>
>
>> Also good would be if an existing Morph could be moved to an external
>> window.  From a menu choice would be entirely sufficient, but
>> super-bonus points for being able to drag it.  This might also
>> facilitate a usage like this (but again not sure if thats a desirable
>> paradigm)...
>
>
>
>>
>> (Nautilus  external  openInOnPackage: nil) moveToExternalWindow.
>> (GTPlayground  external  openInOSWindow) moveToExternalWindow.
>> (ThreadSafeTranscript  external  openInOSWindow) moveToExternalWindow.
>
>
> This should be possible but I see two different ways of doing so :
>
> - First we could keep the same Morph and dynamically change some of its
> features to match the requirements of an external window ( for example the
> action done when clicking on the close / expand / reduce boxes are not the
> same but there are other differences). Then we remove it from the World and
> open it in an OSWindow.
> - Or we could "save the state of the Morph" then delete it and directly open
> a new one suited for external window. I've quoted "save the state of the
> Morph" because if this option is chosen it will need to be refined.
>
> As for the "drag it outside part" I am sure it could be done. Currently when
> you are dragging a Morph, as soon as the HandMorph goes out of the World,
> when you release the mouse button the Morph goes back at its initial place
> so we could just change this behavior to make it move to an external window
> instead. But to be more flexible,maybe we could just keep both behavior and
> chose between one and the other by pressing a hotkey while dragging the
> Morph.
>
> BTW, I've recorded a short video to show you what it is possible to do with
> the new SDL version (it should also illustrate what I told Nicolai earlier)
> :
>
> https://www.dropbox.com/s/m27aa0flanocnlr/OSWindowMorph.mkv?dl=0
>
> As you can see if you put the Morph inside the boundaries of the World, it
> seems as if it was actually opened in the world (put aside some differences
> like the fonts etc. but this is only due to the Athens rendering of Morphs
> and it won't matter in Bloc).
> For now it is heavily buggued (you can't opened two windows like that
> without crashing the VM :/) but SDL 2.0.4 is still in developement so I
> won't work more on it until it is released.
>
>
>> Where we have for example Meta-O-O to open a browser, it could be
>> Meta-E-O to open in an external window.
>> Also, a hotkey could be held down when opening from a menu - similar
>> paradigm to web browsers between opening a new tab or opening a new
>> window.
>
>
> Yeah that's a good idea. For the moment when opening from a menu the left
> and right clicks have the same behavior so it could even be something like
> left click => world and right click => external window.
>
>
>> As well a Preference so that this can be set globally.  A multitude of
>> open windows could be handled with a menu item in the task bar "Close
>> all > external windows".
>>
>> btw, I presume Morphs in these windows would still appear in the task
>> bar as usual.
>
>
> I am not sure about that because as OS - Windows they appear in the taskbar
> of your OS and you can already manage them from here.

Sure one option is to have a native window for every Morph.  The other
is to have only a WorldMorph as a native window holding other Morphs.
I'm not sure which one I'd prefer, but I'd sure like the option of the
latter.   An example use-case... Torsten's recent video of Pharo on
Raspberry Pie... not sure if the hardware is up to it, but it would be
great to have a Pharo application displaying on a low resolution
embedded LCD screen, with a normal development environment on a
standard sized screen running off the same Pie.
cheers -ben

>
>
>> How will the existing World paradigm play into this?  Will external
>> windows be part of the same World?  Or maybe the existing World can
>> have another level below it called like World-Screen?
>
>
> The existing World paradigm will probably change with Bloc I guess. At first
> I thought that all these windows could be part of the same Bloc-space and
> that this Bloc-space would be dedicated to held external windows but I
> really need to speak with Alain about that.
>
> Many thanks for your feedback and ideas !
>
> Cheers,
>
> Matthieu
>
> 2015-05-30 8:16 GMT+02:00 stepharo <[email protected]>:
>>
>>
>> - If possible I'd like not to have to modify any Bloc code. If it is not
>> possible then as little as possible.
>>
>>> What is the aversion here?  Bloc is still developing and since its
>>> semantics are based on old-Morphic maybe this use-case is not
>>> considered. Adding this use-case may be an opportunity to make the
>>> overall system architecture simpler instead of needing workarounds.
>>> To what degree would Bloc already support this?
>>
>>
>> What matthieu wants to say is that opening a window in an external sufrace
>> should
>> not impose to have some hacks into bloc and alain agrees with that and
>> will modify the
>> bloc architecture to handle separate native windows.
>>>>
>>>> - These windows should be persistent but maybe not exactly like morphs.
>>>> It
>>>> could be a button that the user needs to press in the window to toggle
>>>> the
>>>> persistence on and off (a bit like in the world menu to stick it to the
>>>> world if you see what I mean).
>>
>>
>> I'm not sure that you want to have that behavior. Open windows should be
>> persisted.
>>
>>> As well a Preference so that this can be set globally.  A multitude of
>>> open windows could be handled with a menu item in the task bar "Close
>>> all > external windows".
>>>
>>> btw, I presume Morphs in these windows would still appear in the task
>>> bar as usual.
>>>
>>>
>>
>>
>

Reply via email to