[squeak-dev] International text input on X11

David T. Lewis lewis at mail.msen.com
Sat May 14 02:31:39 UTC 2016


On Fri, May 13, 2016 at 05:22:59PM -0700, Eliot Miranda 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 :-)
> 

That sounds right to me also.

Yoshiki,

I have some changes to HostWindowPlugin that makes it work for the
latest Squeak trunk. I do not think that this will conflict with any
of your changes, and I will post the updates as soon as I can (but
maybe not for a couple of days).

I do not know if primSetCompositionWindowPosition should better be
in ImmX11Plugin or in HostWindowPlugin, but I see no reason to worry
about it now. If someone finds a reason to change it, they can do
that later.

Eliot,

The SqDisplayVersionMinor in oscog is 5, and in trunk it is 2. Adding
the Qwaq enhancements needed for HostWindowPlugin would make trunk
go from 2 -> 3, and the actual implementations in oscog seem to imply
we should be at 3 there also. Maybe there were other Qwaq enhancements
(that are not relevant here?) that moved the version number to 5.

Yoshiki's interface enhancement should probably bump the minor version
up by one, making it either 3 -> 4 or 5 -> 6.

I'm inclined to think that we should just declare the current minor
version to be 5 (as in oscog now) and chalk up the difference to missing
Qwaq features, and then let Yoshiki's enhancement be SqDisplayVersionMinor
be 6.

Does that sound right?

Dave



More information about the Squeak-dev mailing list