[squeak-dev] International text input on X11

Eliot Miranda eliot.miranda at gmail.com
Sat May 14 14:47:56 UTC 2016


Hi Dave,

> On May 13, 2016, at 7:31 PM, David T. Lewis <lewis at mail.msen.com> wrote:
> 
>> 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.

I made at least two changes after Qwaq.  I can check, but they fixed deficiencies, perhaps with sound, perhaps with dnd.  I'll figure it out and post.  But 5 is meaningful, not arbitrary :-).

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

Yes, spot on.

> Dave

Cheers, both!


More information about the Squeak-dev mailing list