<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, May 13, 2016 at 4:48 PM, Yoshiki Ohshima <span dir="ltr">&lt;<a href="mailto:Yoshiki.Ohshima@acm.org" target="_blank">Yoshiki.Ohshima@acm.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Iit appears that most bits and pieces are there.  For example,<br>
sqUnixX11.c does have two functions setCompositionFocus() and<br>
setCompositionWIndowPosition(), which used to be in a separated<br>
loadable VM plugin but now sitting in there without any caller (if I&#39;m<br>
not mistaken).  And the NuSqueak image has calls to<br>
Hand&gt;&gt;compositionWindowManager, and miraculously, returns an instance<br>
of ImmX11.<br>
<br>
In ImmX11, setCompositionWindowPositionX:y: has a primitive call into<br>
ImmX11Plugin; but it appears that all I have to do is to change it to<br>
call the above-mentioned function in sqUnixX11.c.<br>
<br>
To make it right, I&#39;d propose to add two more functions to the display<br>
module interface.  I see the implementation of those for X11 is there,<br>
and I remember writing something for Windows; but it can be an empty<br>
function.<br>
<br>
So, if there is no opposition to add these to the display interface,<br>
I&#39;d write a patch for it.  But one thing I don&#39;t know much about is<br>
the HostWindowPlugin.  If people think it makes sense to have them<br>
there for some reason, we can make that work, too.<br></blockquote><div><br></div><div>This is in struct SqDisplay in platforms/unix/vm/SqDisplay.h?  Go for it :-)</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class=""><div class="h5">On Fri, May 13, 2016 at 3:57 PM, Yoshiki Ohshima<br>
&lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt; wrote:<br>
&gt; I am slowly working my way up.  Most of the problems was about getting<br>
&gt; the right environment variables for right processes, including the X<br>
&gt; Server and Squeak.  I now get vanilla UTF32 values for characters I<br>
&gt; type into the scim preedit window on Squeak.<br>
&gt;<br>
&gt; The big question now is on the image side.  We used to have<br>
&gt; StrikeFontSet as the default font and it was tad easier to just load<br>
&gt; language specific fonts into the image.<br>
&gt;<br>
&gt; At the same time, the clients&#39; need here for me this time around<br>
&gt; (i.e., make Squeak on raspi support Japanese input, I&#39;d side step all<br>
&gt; regular Squeak stuff and minimum changes.  I am inclined to take this<br>
&gt; path now.<br>
&gt;<br>
&gt; Tim, is there a repo of the NuScratch that is used in the NuScratch image?<br>
&gt;<br>
&gt; On Wed, May 11, 2016 at 1:24 PM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt;&gt; Hi Yoshiki,<br>
&gt;&gt;<br>
&gt;&gt;&gt; On May 11, 2016, at 1:20 PM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi Yoshiki,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On May 11, 2016, at 11:52 AM, Yoshiki Ohshima &lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Tue, May 10, 2016 at 7:37 AM, Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; On 10.05.2016, at 02:23, Yoshiki Ohshima &lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Mon, May 9, 2016 at 10:35 AM, Yoshiki Ohshima<br>
&gt;&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; The VM still does not display anything in the white window after I did<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; apt-get dist-upgrade, and copy the .sources file to the same directly.<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; (But I did not have an egg this morning).  I&#39;ll try some display<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; options.  But also, it appears that the source code for the Cog seems<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; to have the part I wrote for the composition input.  The goal may be<br>
&gt;&gt;&gt;&gt;&gt;&gt;&gt; nearer than I originally thought.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; It may not as closer than I thought, however.  The world evolved to<br>
&gt;&gt;&gt;&gt;&gt;&gt; use ibus; we&#39;d need to add some more stuff, such as DBus...  I&#39;ll<br>
&gt;&gt;&gt;&gt;&gt;&gt; report more tomorrow.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Doesn’t ibus generate “old” X events, too? The README suggests this should work:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;       XMODIFIERS=&quot;@im=ibus&quot; squeak<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; ... which we could put in the startup script.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; This does not quite work.  And also Abe-san says that I&#39;d better make<br>
&gt;&gt;&gt;&gt; it work with scim first so I am taking that path now.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; BTW, I have a long standing question of the development process.  I<br>
&gt;&gt;&gt;&gt; create a VM by doing ./mvm, which creates display drivers and VM in<br>
&gt;&gt;&gt;&gt; one way or another, and installs them to products directory somewhere<br>
&gt;&gt;&gt;&gt; upthere.  I have trouble seeing my changes to code gets reflected<br>
&gt;&gt;&gt;&gt; sometimes.  (Say, I change a printf message somehwere in sqUnixX11.c,<br>
&gt;&gt;&gt;&gt; run mvm and invoke the squeak shell script in<br>
&gt;&gt;&gt;&gt; products/cogspurlinuxhtARM/ but it seems to pick up a different binary<br>
&gt;&gt;&gt;&gt; from somewhere else.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It shouldn&#39;t.  That&#39;s where the resulting binary gets installed (or a debug build in products/debug/cogspurlinuxhtARM etc).<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; What do people do to make the debug cycle go faster on Linux?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; That&#39;s what I&#39;ve been using, and I find it unsatisfactory too.  I don&#39;t like the automake system and want to replace the whole thing with Gnu make makefiles (as is used in the win32 and MacOS builds) which would result in more sharing between the production, assert and debug builds plus accurate dependency information for reliable compilation, and the possibility of making a valid cogspurlinuxhtARM directory tree in the build directory and hence (again as I do in the win32 and MacOS builds) running the executable in the build directory instead of from products.<br>
&gt;&gt;<br>
&gt;&gt; And I forgot to say that indeed sqUnixX11.c is one of the files that suffers from inaccurate dependency info because it includes sqUnixEvent.c and sqUnixXdnd.c but the dependency isn&#39;t reflected in the makefiles :-(<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; -- Yoshiki<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _,,,^..^,,,_ (phone)<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; -- Yoshiki<br>
<br>
<br>
<br>
</div></div><span class=""><font color="#888888">--<br>
-- Yoshiki<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div></div>