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


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 <steph...@free.fr>:

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