Can I make a window outside of the "world?"

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

Can I make a window outside of the "world?"

Rick Hedin
Hi all.

I'd like to make an operating system window, that can go outside of
the "world."  I found a nice Sample Image Viewer by Michael Davies.  It uses a
SystemWindow, but it also is constrained to be within the Squeak box.  Do you
understand what I am thinking of?  Is it possible?

         Regards, Rick

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Can I make a window outside of the "world?"

Casey Ransberger-2
I know it's possible. I don't know that it's easy. There's a screenshot of a host window working on Pharo here...


I think you maybe want to google on Host Window Plugin, I can't recall off the top of my head what it's called for sure, but I think that's it. What happens for a lot of folks, is we get over the difference and want to be in Squeak full screen all the time, because host windows don't really do much, and a SystemWindow, with some effort, will do the hokey pokey and turn itself around for you, I mean literally if you wanted to you could put legs on it and make it dance. The sky isn't the limit with Morphic, it's lower than that, but not much.

Another thing worth looking at in the interop department is VNC. It basically lets you do a video mode connection to another machine from within Squeak. In Croquet/Cobalt (and Teleplace,) people use this stuff for opening up Excel spreadsheets and Web browsers from within collaborative 3d virtual worlds. It's wild fun stuff:)

On Wed, Apr 6, 2011 at 7:25 PM, Rick H. <[hidden email]> wrote:
Hi all.

I'd like to make an operating system window, that can go outside of
the "world."  I found a nice Sample Image Viewer by Michael Davies.  It uses a
SystemWindow, but it also is constrained to be within the Squeak box.  Do you
understand what I am thinking of?  Is it possible?

        Regards, Rick

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners



--
Casey Ransberger

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Can I make a window outside of the

Rick Hedin
Casey Ransberger <casey.obrien.r <at> gmail.com> writes:

>
>
> I know it's possible. I don't know that it's easy. There's a screenshot of a
host window working on Pharo here...
>
> http://wiki.squeak.org/squeak/3862
>
> I think you maybe want to google on Host Window Plugin, I can't recall off
the top of my head what it's called for sure, but I think that's it. What
happens for a lot of folks, is we get over the difference and want to be in
Squeak full screen all the time, because host windows don't really do much,
and a SystemWindow, with some effort, will do the hokey pokey and turn itself
around for you, I mean literally if you wanted to you could put legs on it and
make it dance. The sky isn't the limit with Morphic, it's lower than that, but
not much.
>
> Another thing worth looking at in the interop department is VNC. It
basically lets you do a video mode connection to another machine from within
Squeak. In Croquet/Cobalt (and Teleplace,) people use this stuff for opening
up Excel spreadsheets and Web browsers from within collaborative 3d virtual
worlds. It's wild fun stuff:)
> On Wed, Apr 6, 2011 at 7:25 PM, Rick H. <cubsno1 <at> gmail.com> wrote:
> Hi all.
> I'd like to make an operating system window, that can go outside of
> the "world."  I found a nice Sample Image Viewer by Michael Davies.  It uses
a
> SystemWindow, but it also is constrained to be within the Squeak box.  Do you
> understand what I am thinking of?  Is it possible?
>          Regards, Rick
> _______________________________________________
> Beginners mailing listBeginners <at>
lists.squeakfoundation.orghttp://lists.squeakfoundation.org/mailman/listinfo/be
ginners

>
>
> -- Casey Ransberger
>
>
>
>
> _______________________________________________
> Beginners mailing list
> Beginners <at> lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>


Interesting!  If it's not extremely straightforward, maybe I'm going about
this in the wrong way.  I'm trying to make an "application" that a person
could run like any other "application" on their desktop.  They wouldn't
necessarily even know that it's Squeak, except the window might not look
exactly like other operating system windows.

But maybe people expand their morphs to occupy the whole world, and insist
that their morph stay on top, and call that it.  ?  

          Regards, Rick


_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Can I make a window outside of the

Herbert König
Hi Rick,

RH> But maybe people expand their morphs to occupy the whole world, and insist
RH> that their morph stay on top, and call that it.  ?  

in the Morph's step method you can either set the World's extent to
the Morph's extent so when the user resizes the Squeak window, it
resizes to the Morph's size when the user lets go.

Or you resize the Morph's extent to the world's extent so it stays
full Window size. Or do a combination so the Window can't be made too
small for the morph.

To give an example for the first case from a very old image (but it
should still work):

DayfilesAppUi>>step
        "keep the Squeak window sized"

        World extent = clientAreaSize "a point, set somewhere in init"
                ifFalse:
                        [DisplayScreen
                                depth: DisplayScreen actualScreenDepth
                                width: clientAreaSize x
                                height: clientAreaSize y
                                fullscreen: false.
                        self extent: World extent; layoutChanged].
        self position = (0@0) ifFalse: [self position: 0@0]


Oh, and you need a stepTime method to return the number of
milliseconds between sends of step.

--
Cheers,

Herbert  

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Can I make a window outside of the "world?"

Bert Freudenberg
In reply to this post by Rick Hedin

On 07.04.2011, at 04:25, Rick H. wrote:

> Hi all.
>
> I'd like to make an operating system window, that can go outside of
> the "world."  I found a nice Sample Image Viewer by Michael Davies.  It uses a
> SystemWindow, but it also is constrained to be within the Squeak box.  Do you
> understand what I am thinking of?  Is it possible?

Everything is possible ;)

But it is not supported out-of-the-box. There are several experiments, but nobody is using them for production AFAIK.

Smalltalk used to be the sole operating system of the machine. The whole idea of extending screen real estate with overlapping windows came from Smalltalk originally, after all. The spirit of doing everything inside that single system still lives on, though it has become weaker over time.

Many Squeak developers value that it looks and behaves identically across platforms, and that everything is changeable. Using OS windows and widgets would go against that, and so none of the native UI extensions got much traction in the community.

- Bert -

_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Can I make a window outside of the

Casey Ransberger-2
In reply to this post by Rick Hedin
Ah. If you need more than one native window, you'll need the host window plugin. It sounds like maybe, though, you're just wanting to fill the whole Morphic world with your app?

If you're after the latter, it will help to understand how to get at the Morphic world programmatically. It's also worth knowing that the world is an instance of PasteUpMorph, so you can look up methods and such.

Try stuff like

Project current world explore.
Project current world height.
Project current world width.

I don't have squeak handy! So don't quote me on these snippets, you may have to poke around a bit.

Hope this helps!

On Apr 7, 2011, at 3:46 AM, Rick H.  <[hidden email]> wrote:

> Casey Ransberger <casey.obrien.r <at> gmail.com> writes:
>
>>
>>
>> I know it's possible. I don't know that it's easy. There's a screenshot of a
> host window working on Pharo here...
>>
>> http://wiki.squeak.org/squeak/3862
>>
>> I think you maybe want to google on Host Window Plugin, I can't recall off
> the top of my head what it's called for sure, but I think that's it. What
> happens for a lot of folks, is we get over the difference and want to be in
> Squeak full screen all the time, because host windows don't really do much,
> and a SystemWindow, with some effort, will do the hokey pokey and turn itself
> around for you, I mean literally if you wanted to you could put legs on it and
> make it dance. The sky isn't the limit with Morphic, it's lower than that, but
> not much.
>>
>> Another thing worth looking at in the interop department is VNC. It
> basically lets you do a video mode connection to another machine from within
> Squeak. In Croquet/Cobalt (and Teleplace,) people use this stuff for opening
> up Excel spreadsheets and Web browsers from within collaborative 3d virtual
> worlds. It's wild fun stuff:)
>> On Wed, Apr 6, 2011 at 7:25 PM, Rick H. <cubsno1 <at> gmail.com> wrote:
>> Hi all.
>> I'd like to make an operating system window, that can go outside of
>> the "world."  I found a nice Sample Image Viewer by Michael Davies.  It uses
> a
>> SystemWindow, but it also is constrained to be within the Squeak box.  Do you
>> understand what I am thinking of?  Is it possible?
>>         Regards, Rick
>> _______________________________________________
>> Beginners mailing listBeginners <at>
> lists.squeakfoundation.orghttp://lists.squeakfoundation.org/mailman/listinfo/be
> ginners
>>
>>
>> -- Casey Ransberger
>>
>>
>>
>>
>> _______________________________________________
>> Beginners mailing list
>> Beginners <at> lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>>
>
>
> Interesting!  If it's not extremely straightforward, maybe I'm going about
> this in the wrong way.  I'm trying to make an "application" that a person
> could run like any other "application" on their desktop.  They wouldn't
> necessarily even know that it's Squeak, except the window might not look
> exactly like other operating system windows.
>
> But maybe people expand their morphs to occupy the whole world, and insist
> that their morph stay on top, and call that it.  ?  
>
>          Regards, Rick
>
>
> _______________________________________________
> Beginners mailing list
> [hidden email]
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Reply | Threaded
Open this post in threaded view
|

Re: Can I make a window outside of the

Ben Coman
In reply to this post by Rick Hedin
Rick H. wrote:
> I'm trying to make an "application" that a person
> could run like any other "application" on their desktop.  They wouldn't
> necessarily even know that it's Squeak, except the window might not look
> exactly like other operating system windows.
>
> But maybe people expand their morphs to occupy the whole world, and insist
> that their morph stay on top, and call that it.  ?  
>  
Have you seen the LaserGame tutorial ?
http://squeak.preeminent.org/tut2007/html/  See Section 6.
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners