[squeak-dev] International text input on X11

Yoshiki Ohshima Yoshiki.Ohshima at acm.org
Sat May 14 02:31:07 UTC 2016

On Fri, May 13, 2016 at 5:22 PM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> On Fri, May 13, 2016 at 4:48 PM, Yoshiki Ohshima <Yoshiki.Ohshima at acm.org>
> wrote:
>> Iit appears that most bits and pieces are there.  For example,
>> sqUnixX11.c does have two functions setCompositionFocus() and
>> setCompositionWIndowPosition(), which used to be in a separated
>> loadable VM plugin but now sitting in there without any caller (if I'm
>> not mistaken).  And the NuSqueak image has calls to
>> Hand>>compositionWindowManager, and miraculously, returns an instance
>> of ImmX11.
>> In ImmX11, setCompositionWindowPositionX:y: has a primitive call into
>> ImmX11Plugin; but it appears that all I have to do is to change it to
>> call the above-mentioned function in sqUnixX11.c.
>> To make it right, I'd propose to add two more functions to the display
>> module interface.  I see the implementation of those for X11 is there,
>> and I remember writing something for Windows; but it can be an empty
>> function.
>> So, if there is no opposition to add these to the display interface,
>> I'd write a patch for it.  But one thing I don't know much about is
>> the HostWindowPlugin.  If people think it makes sense to have them
>> there for some reason, we can make that work, too.
> This is in struct SqDisplay in platforms/unix/vm/SqDisplay.h?  Go for it :-)

Yes, SqDisplay.h is what would be changed.

 What I wrote above has some confusion, and I am indeed confused by this:

- the display vm plugin mechanism has primitives that are numbered as
well as primitives that are in plugins like HostWindowPlugin.  Is it
possible to make then setCompositionFocus() and
setCompositionWindowPosition() to be non-numbered yet make them be
looked up from a plugin?  Wasn't there a way to say to load a
primitive from the core VM itself?

In any case, what to be edited seems to be minimal on the image side
and isolated in the ImmX11 class; so it looks like it is close.

-- Yoshiki

More information about the Squeak-dev mailing list