branch: externals/posframe
commit a410942c3fa7ebd82593c3a37b08850819493941
Author: Feng Shu <[email protected]>
Commit: Feng Shu <[email protected]>

    * posframe.el (posframe-show): Deal with posframe-x/y < 0 when mouse banish.
---
 posframe.el | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/posframe.el b/posframe.el
index 0636820..b1e3e9f 100644
--- a/posframe.el
+++ b/posframe.el
@@ -705,8 +705,16 @@ You can use `posframe-delete-all' to delete all posframes."
                            (car mouse-position))
                :mouse-y (+ (or (cdr ref-position) 0)
                            (cdr mouse-position))
-               :posframe-x (car position)
-               :posframe-y (cdr position)
+               :posframe-x
+               (if (>= (car position) 0)
+                   (car position)
+                 (- (frame-pixel-width parent-frame)
+                    (frame-pixel-width posframe)))
+               :posframe-y
+               (if (>= (cdr position) 0)
+                   (cdr position)
+                 (- (frame-pixel-height parent-frame)
+                    (frame-pixel-height posframe)))
                :posframe-width (frame-pixel-width posframe)
                :posframe-height (frame-pixel-height posframe))))
 

Reply via email to