Comments (14)
Just to clarify, you make eldoc-box show three different doc at three different locations, first and last small, the second one large, and for the third one the child frame doesn't automatically shrink? Could you show some screenshots? That'll be extra clear.
from eldoc-box.
from eldoc-box.
Correct size:
Something bigger:
Back to the small one (now too wide):
Showing a single line doc and then the small one again, makes the small one have correct width again.
from eldoc-box.
Thanks. I think this is due to the markdown separator. You see, one of the prettifier replaces markdown's separator with a strike-through line with a display text property. The display property specifies that the width of the strike though is the width of the window. That might interfered with window-text-pixel-size
, which return the size of the text in a window, and is used by eldoc-box to determine the frame size for the childframe.
Anyway, I added a (harmless) workaround that should fix this.
from eldoc-box.
This workaround breaks the childframe for me.
It causes the childframe to be 1 by 1 character in size sometimes:
from eldoc-box.
The workaround probably just exposed this problem, rather than caused it. Could you give me a reproduce recipe?
from eldoc-box.
I've noticed the issue @mrsch mentioned happening when using the pure GTK version of emacs (I'm using sway; not sure about X or other compositors). it doesn't always happen, but it happens eventually if I just move point around enough. It goes away if I get rid of the workaround (but then of course I get the behavior the workaround fixes). I think something doesn't like setting the frame width rapidly and it gets 'stuck' on the first frame size.
from eldoc-box.
Aha, it seems to consistently happen if and only if the new documentation frame would be the same size as the old one (moving point within an identifier, is one way to trigger this, but I verified it's not the only way). I think this is an emacs bug.
from eldoc-box.
I added a workaround for the workaround. Not sure it'll fix the problem though, let's see :-)
from eldoc-box.
Oops, I just see your patch. Let me have a look!
from eldoc-box.
Just tried and (redisplay t)
doesn't fix it. The weird thing is that if I add
(message (format "%s %s" (frame-height frame) (frame-width frame)))
(run-with-idle-timer 0 nil (lambda () (message (format "%s %s" (frame-height frame) (frame-width frame)))))
then the first message has the size from (set-frame-size)
and the second is 1 1
.
from eldoc-box.
Ok, I pushed another fix following your idea. Could you give it a try?
from eldoc-box.
It works! And that's a much cleaner solution.
from eldoc-box.
Great. Thanks for your PR, and the detailed commit message, I appreciate it 😊
from eldoc-box.
Related Issues (20)
- The eldoc-box-frame-hook might be broken and how to draw a border around the child frame HOT 6
- Multiple overlapping child frames HOT 1
- consider pop the posframe over the edit line?
- Initial eldoc-box child frame size too small--second time corrects itself
- eldoc-box overlapping with company-box HOT 7
- Typos in README HOT 1
- Using Only Help at Point HOT 6
- Code Background in Eldoc Box Frame HOT 2
- Update the README Notes HOT 1
- how to disable "embark on _____" messages from appearing HOT 2
- `C-g` does not kill the frame created by `eldoc-box-help-at-point` HOT 3
- Tab-bar enabled incorrectly on childframe
- Is it possible to choose which eldoc-documentation-functions are applied when displaying the documentation? HOT 2
- When using eldoc-box-hover-at-point-mode can't scroll child frame HOT 3
- eldoc-box-help-at-point not displaing the correct docs HOT 4
- Is it possible to target the child frame?
- Upstream plans
- Manually trigggering eldoc-box-help-at-point will often show previous/outdated docs HOT 11
- Child-frame partially off-screen in `eldoc-box-hover-mode` HOT 2
- Support as front-end for corfu or company-mode candidates? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eldoc-box.