casouri / eldoc-box

childframe doc for eglot and anything that uses eldoc
360 stars 26 forks source link

Childframe doesn't show properly #63

Closed joostkremers closed 1 year ago

joostkremers commented 1 year ago

In Python buffers, where eglot is running, the child frame often doesn't show properly. Usually, I only see a small top-left corner:

Screenshot from 2023-03-08 22-06-19

In Elisp buffers, where eglot is not used, this usually happens the first time eldoc-box creates a child frame, but from the second time onward, the child frame is created correctly. In Python buffers, however, this keeps happening. Sometimes the child frame is displayed, sometimes it's not, and there doesn't seem to be any pattern behind it.

Note that the size of the child frame is not the issue, because I get large child frames in Elisp as well. (I put an advice on elisp-get-fnsym-args-string to show the entire doc string of functions.)

Any idea on what I could do to debug this further?

I'm on Arch Linux, X11, Emacs 28.2.

casouri commented 1 year ago

Thanks for the report! This feels like some problem with childframe not showing up properly rather than eldoc-box showing a small childframe, since the border seem to be clipped. Is there any change that you can test this with Emac 29 (you need to build it from source)?

joostkremers commented 1 year ago

Well, I was going to wait with upgrading to Emacs 29 until the official release, but it seems your hunch was correct. The child frames are now displayed reliably. I've only tested it for a couple of minutes, of course, but I'm confident the problem's gone. Thanks!