Hi Gregory: Please look at the attached patch where I use a modified version of your line approach instead of pixels. Because I can't reproduce most of the issues you mention. This change is not permanent, but it is the only substantial difference with your and my code; so lets try that and if this fixes your issue I will check the pixels approach. Thanks in advance, Ergus On Sat, Sep 19, 2020 at 10:30:13AM +0000, Gregory Heytings wrote: > > >It seems to me that it does not work as well as my code, alas. A few >points: > >- with C-x C-f the default completion, between angle brackets in the >original icomplete code, is not shown anymore, unless there is a >single candidate (for example in a directory with "foo", "bar1", >"bar2", "f" will give "f[oo]" but "b" will give "b[]"); in other >words, the "[]" after the point usually serves no purpose > >- likewise, with M-x there is a "()" after the point that usually >serves no purpose > >- if I type "M-x icomplete-m", I see the following: > >M-x icomplete-m(ode) >| > >where "|" represents the cursor (on the next line!) > >- when the current line after the prompt is too long the prompt disappears > >- when completing a unique completion with TAB the point is moved to >the next line > >Gregory