emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/posframe 33ad4ac 07/13: Fix incorrect posframe size aft


From: Feng Shu
Subject: [elpa] externals/posframe 33ad4ac 07/13: Fix incorrect posframe size after posframe-refresh
Date: Sun, 5 Apr 2020 07:58:04 -0400 (EDT)

branch: externals/posframe
commit 33ad4ac1eea00ded93331d797c735aac274d8c3c
Author: Masahiro Nakamura <address@hidden>
Commit: Masahiro Nakamura <address@hidden>

    Fix incorrect posframe size after posframe-refresh
    
    * posframe.el (posframe--set-frame-size):
    Set posframe--last-posframe-size even when width or height is nil.
    (posframe--run-refresh-timer):
    (posframe-refresh):
    Bind frame-resize-pixelwise to t before calling fit-frame-to-buffer.
---
 posframe.el | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/posframe.el b/posframe.el
index 7df03fe..431c71b 100644
--- a/posframe.el
+++ b/posframe.el
@@ -644,7 +644,9 @@ WIDTH and MIN-WIDTH."
         (setq-local posframe--last-posframe-size
                     (list height min-height width min-width)))
     (fit-frame-to-buffer
-     posframe height min-height width min-width)))
+     posframe height min-height width min-width)
+    (setq-local posframe--last-posframe-size
+                (list height min-height width min-width))))
 
 (defun posframe--set-frame-position (posframe position
                                               parent-frame-width
@@ -695,9 +697,10 @@ WIDTH and MIN-WIDTH."
                   (run-with-timer
                    nil repeat
                    #'(lambda (frame height min-height width min-width)
-                       (when (and frame (frame-live-p frame))
-                         (fit-frame-to-buffer
-                          frame height min-height width min-width)))
+                       (let ((frame-resize-pixelwise t))
+                         (when (and frame (frame-live-p frame))
+                           (fit-frame-to-buffer
+                            frame height min-height width min-width))))
                    posframe height min-height width min-width)))))
 
 (defun posframe-refresh (buffer-or-name)
@@ -723,7 +726,8 @@ to do similar job:
      (erase-buffer)
      (insert \"ffffffffffffff\"))"
   (dolist (frame (frame-list))
-    (let ((buffer-info (frame-parameter frame 'posframe-buffer)))
+    (let ((buffer-info (frame-parameter frame 'posframe-buffer))
+          (frame-resize-pixelwise t))
       (when (or (equal buffer-or-name (car buffer-info))
                 (equal buffer-or-name (cdr buffer-info)))
         (with-current-buffer buffer-or-name



reply via email to

[Prev in Thread] Current Thread [Next in Thread]