[squeak-dev] Ariethfa Ffenestri on Linux?

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

[squeak-dev] Ariethfa Ffenestri on Linux?

Michael van der Gulik-2
Hi.

For my Subcanvas project, I thought it would be a good idea to use a separate host window. However, I can't seem to find anything in the image which mentions it. I don't have any classes or methods with text similar "HostWindowProxy" in them.

I found these:
http://wiki.squeak.org/squeak/3862
ftp://ftp.smalltalkconsulting.com/experimental/Ffenestri

But if using host windows is non-trivial or involves rebuilding the VM, I'd rather find another way to solve my problem.

Is there multiple host window support on Linux?

Gulik.

--
Michael van der Gulik <[hidden email]>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Ariethfa Ffenestri on Linux?

Bert Freudenberg

Am 10.07.2008 um 10:07 schrieb Michael van der Gulik:

> Hi.
>
> For my Subcanvas project, I thought it would be a good idea to use a  
> separate host window. However, I can't seem to find anything in the  
> image which mentions it. I don't have any classes or methods with  
> text similar "HostWindowProxy" in them.
>
> I found these:
> http://wiki.squeak.org/squeak/3862
> ftp://ftp.smalltalkconsulting.com/experimental/Ffenestri
>
> But if using host windows is non-trivial or involves rebuilding the  
> VM, I'd rather find another way to solve my problem.
>
> Is there multiple host window support on Linux?


Dave Lewis started working on it, but I do not know its current state.  
Linux is the only one of the three major platforms not supporting  
multiple windows yet. Where are the X hackers when you need them? ;)

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Ariethfa Ffenestri on Linux?

David T. Lewis
On Thu, Jul 10, 2008 at 12:02:28PM +0200, Bert Freudenberg wrote:
> >
> >But if using host windows is non-trivial or involves rebuilding the  
> >VM, I'd rather find another way to solve my problem.
> >
> >Is there multiple host window support on Linux?
>
> Dave Lewis started working on it, but I do not know its current state.  
> Linux is the only one of the three major platforms not supporting  
> multiple windows yet. Where are the X hackers when you need them? ;)

I did make a start at it, and have gotten as far as getting windows to
open, set title and dimensions and so forth. I got distracted by other
things and set it aside, so I guess I should go back and either finish
it or post the bits that do work.

I'm no expert on X. I was just trying to work it out by reading the
book (Sheiffler & Gettys), stealing code from Ian, and experimenting.
It's not trivial, and most definitely does involve building (and
modifying) VMs.

Dave
 

Reply | Threaded
Open this post in threaded view
|

[squeak-dev] Re: Ariethfa Ffenestri on Linux?

Nicolas Cellier-3
David T. Lewis <lewis <at> mail.msen.com> writes:

>
> On Thu, Jul 10, 2008 at 12:02:28PM +0200, Bert Freudenberg wrote:
> > >
> > >But if using host windows is non-trivial or involves rebuilding the  
> > >VM, I'd rather find another way to solve my problem.
> > >
> > >Is there multiple host window support on Linux?
> >
> > Dave Lewis started working on it, but I do not know its current state.  
> > Linux is the only one of the three major platforms not supporting  
> > multiple windows yet. Where are the X hackers when you need them? ;)
>
> I did make a start at it, and have gotten as far as getting windows to
> open, set title and dimensions and so forth. I got distracted by other
> things and set it aside, so I guess I should go back and either finish
> it or post the bits that do work.
>
> I'm no expert on X. I was just trying to work it out by reading the
> book (Sheiffler & Gettys), stealing code from Ian, and experimenting.
> It's not trivial, and most definitely does involve building (and
> modifying) VMs.
>
> Dave
>
>

If I would have to experiment such a thing, i would take following approach :
- Do not touch Squeak UI, but develop something completely parallel
- Do not touch any VMMaker bit, but develop a lightweight FFI library,
  and maximize the Smalltalk written code.
- Do not use a Smalltalk BitBlt rendering engine,
  rather use some FFI OS primitives to draw on OS surfaces.

The VW approach to define a Smalltalk GraphicsContext wrapper to OS
Graphicsontext seems rather natural.

Once you get something interesting, it will be time to deal with plugins, BitBlt
and all the complications.

Nicolas


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Ariethfa Ffenestri on Linux?

Bert Freudenberg
Am 10.07.2008 um 14:32 schrieb nicolas cellier:

> David T. Lewis <lewis <at> mail.msen.com> writes:
>
>> On Thu, Jul 10, 2008 at 12:02:28PM +0200, Bert Freudenberg wrote:
>>>>
>>>> But if using host windows is non-trivial or involves rebuilding the
>>>> VM, I'd rather find another way to solve my problem.
>>>>
>>>> Is there multiple host window support on Linux?
>>>
>>> Dave Lewis started working on it, but I do not know its current  
>>> state.
>>> Linux is the only one of the three major platforms not supporting
>>> multiple windows yet. Where are the X hackers when you need them? ;)
>>
>> I did make a start at it, and have gotten as far as getting windows  
>> to
>> open, set title and dimensions and so forth. I got distracted by  
>> other
>> things and set it aside, so I guess I should go back and either  
>> finish
>> it or post the bits that do work.
>>
>> I'm no expert on X. I was just trying to work it out by reading the
>> book (Sheiffler & Gettys), stealing code from Ian, and experimenting.
>> It's not trivial, and most definitely does involve building (and
>> modifying) VMs.
>>
>> Dave
>>
>>
>
> If I would have to experiment such a thing, i would take following  
> approach :
> - Do not touch Squeak UI, but develop something completely parallel
> - Do not touch any VMMaker bit, but develop a lightweight FFI library,
>  and maximize the Smalltalk written code.
> - Do not use a Smalltalk BitBlt rendering engine,
>  rather use some FFI OS primitives to draw on OS surfaces.
>
> The VW approach to define a Smalltalk GraphicsContext wrapper to OS
> Graphicsontext seems rather natural.
>
> Once you get something interesting, it will be time to deal with  
> plugins, BitBlt
> and all the complications.
>
> Nicolas


The Areithfa Ffenestri approach fits nicely into the Squeak  
philosophy. Your's wouldn't, but it still is a fine design decision  
depending on your aims (Croquet and Sophie took that road, too).

- Bert -



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Ariethfa Ffenestri on Linux?

Michael van der Gulik-2
In reply to this post by David T. Lewis


On Thu, Jul 10, 2008 at 11:35 PM, David T. Lewis <[hidden email]> wrote:
On Thu, Jul 10, 2008 at 12:02:28PM +0200, Bert Freudenberg wrote:
> >
> >But if using host windows is non-trivial or involves rebuilding the
> >VM, I'd rather find another way to solve my problem.
> >
> >Is there multiple host window support on Linux?
>
> Dave Lewis started working on it, but I do not know its current state.
> Linux is the only one of the three major platforms not supporting
> multiple windows yet. Where are the X hackers when you need them? ;)

I did make a start at it, and have gotten as far as getting windows to
open, set title and dimensions and so forth. I got distracted by other
things and set it aside, so I guess I should go back and either finish
it or post the bits that do work.

I'm no expert on X. I was just trying to work it out by reading the
book (Sheiffler & Gettys), stealing code from Ian, and experimenting.
It's not trivial, and most definitely does involve building (and
modifying) VMs.


Okay then.

For the meanwhile, I'll implement Subcanvas by BitBlting a Form inside the extent of a Morph / SystemWindow. It'll be ugly and will break Morph drawing a bit, but it will work.

As an aside, I'm hoping that one day I can make an implementation of the Subcanvas API directly to X.

Thanks,
Gulik.


--
http://people.squeakfoundation.org/person/mikevdg
http://gulik.pbwiki.com/

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] Re: Ariethfa Ffenestri on Linux?

timrowledge
In reply to this post by Nicolas Cellier-3

On 10-Jul-08, at 5:32 AM, nicolas cellier wrote:

>
> If I would have to experiment such a thing, i would take following  
> approach :
> - Do not touch Squeak UI, but develop something completely parallel
> - Do not touch any VMMaker bit, but develop a lightweight FFI library,
>  and maximize the Smalltalk written code.
> - Do not use a Smalltalk BitBlt rendering engine,
>  rather use some FFI OS primitives to draw on OS surfaces.
>
> The VW approach to define a Smalltalk GraphicsContext wrapper to OS
> Graphicsontext seems rather natural.


ffenestri
- does not touch the  Squeak UI code
- requires the smallest changes to the VM we could find a way to make;  
basically the event input loop needed extending for some new events
- uses a fairly small plugin to provide a few new primitives (such as  
create/open/show/hide/close/move/resize/query)
- does not change the BitBLT system at all

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
CITOKATE - Criticism is the Only Known Antidote to Error