[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/corfu-doc 807af9fb2e 08/95: Fix #2: fix frame position
From: |
ELPA Syncer |
Subject: |
[elpa] externals/corfu-doc 807af9fb2e 08/95: Fix #2: fix frame position calculation when there are multiple displays |
Date: |
Tue, 19 Jul 2022 15:58:00 -0400 (EDT) |
branch: externals/corfu-doc
commit 807af9fb2e728a48dbf660528f9d3b7ce8a31223
Author: Yuwei Tian <ibluefocus@outlook.com>
Commit: Yuwei Tian <ibluefocus@outlook.com>
Fix #2: fix frame position calculation when there are multiple displays
---
corfu-doc.el | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/corfu-doc.el b/corfu-doc.el
index e742a1d369..27ee83f984 100644
--- a/corfu-doc.el
+++ b/corfu-doc.el
@@ -196,10 +196,10 @@
(cf-frame-x (car cf-frame--pos)) ;; corfu--frame x pos
(cf-frame-y (cdr cf-frame--pos))
(cf-frame-width (frame-pixel-width corfu--frame))
- (cf-parent-frame-pos ;; corfu parent frame pos
+ (cf-parent-frame-x ;; corfu parent frame x pos
;; Get inner frame left top edge for corfu frame's parent frame
;; See "(elisp) Frame Layout" in Emacs manual
- (cl-subseq (frame-edges cf-parent-frame 'inner) 0 2))
+ (car (cl-subseq (frame-edges cf-parent-frame 'inner) 0 2)))
(cf-parent-frame-width (frame-pixel-width cf-parent-frame))
(cf-doc-frame-width
;; left border + left margin + inner width + right margin +
right-border
@@ -209,21 +209,24 @@
(alist-get 'right-fringe corfu-doc--frame-parameters 0)
1))
(cf-doc-frame-height (* (frame-char-height) corfu-doc-max-height))
- (display-width
- (nth 3 (assq 'geometry (car (display-monitor-attributes-list)))))
+ (display-geometry (assq 'geometry (frame-monitor-attributes
corfu--frame)))
+ (display-width (nth 3 display-geometry))
+ (display-x (nth 1 display-geometry))
+ (cf-parent-frame-rel-x (- cf-parent-frame-x display-x))
(display-space-right
(- display-width (+ (+ cf-frame-x cf-frame-width space)
- (car cf-parent-frame-pos))))
- (display-space-left (+ cf-frame-x (car cf-parent-frame-pos))))
+ cf-parent-frame-rel-x)))
+ (display-space-left (- (+ cf-frame-x cf-parent-frame-rel-x)
+ space)))
(setq x (or
(and (> cf-doc-frame-width display-space-right)
- (> display-space-left (+ cf-doc-frame-width space))
+ (> display-space-left cf-doc-frame-width)
;; space that right edge of the DOC-FRAME
;; to the right edge of the parent frame
;; calculation:
- ;; (- (+ cf-frame-x (car cf-parent-frame-pos))
+ ;; (- (+ cf-frame-x cf-parent-frame-x)
;; space
- ;; (+ (car cf-parent-frame-pos) cf-parent-frame-width))
+ ;; (+ cf-parent-frame-x cf-parent-frame-width))
(- cf-frame-x space cf-parent-frame-width))
(let* ((x-on-left-side-of-cp-frame
(- cf-frame-x space cf-doc-frame-width)))
@@ -231,7 +234,7 @@
;; still positioned in completion frame's parent frame
(and (> x-on-left-side-of-cp-frame 0)
;; and x point is visible in display
- (> (+ x-on-left-side-of-cp-frame (car
cf-parent-frame-pos)) 0)
+ (> (+ x-on-left-side-of-cp-frame cf-parent-frame-x) 0)
x-on-left-side-of-cp-frame)
(+ cf-frame-x cf-frame-width space))))
y cf-frame-y)
- [elpa] externals/corfu-doc cfca07f581 81/95: Require corfu 0.25, (continued)
- [elpa] externals/corfu-doc cfca07f581 81/95: Require corfu 0.25, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 48f629a0c2 87/95: Add new option to choose the method to transition the doc popup, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc b5477fd110 90/95: Version 0.7, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc d05a3caeb8 02/95: Hide doc frame when there are no candidates, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 53b58bbc70 01/95: Initial commit, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 000388fe97 06/95: Silent a compiler warning, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc f89ddb7c65 12/95: Sync corfu's update on redisplay hack, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 7c546a3eae 16/95: Hide popup frame when candidate documentation is empty, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc f030d58176 17/95: Version 0.0.4, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc eac54c356a 07/95: Version 0.0.2, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 807af9fb2e 08/95: Fix #2: fix frame position calculation when there are multiple displays,
ELPA Syncer <=
- [elpa] externals/corfu-doc c2460635d9 19/95: Inhibit message when fetching the candidate documentation, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc fa5f36599d 20/95: Force to refresh corfu echo message, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc fa6cb6b384 45/95: Add melpa badge, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 07307b68a3 49/95: Version 0.4.1, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 8d8f9317dd 35/95: Version 0.2.1, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 348fc32035 40/95: Version 0.3.1, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 6c62c6634f 37/95: README: Document reducing the popup flickering, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 8313341ae8 52/95: Version 0.4.2, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 84f344ce60 31/95: Version 0.2.0, ELPA Syncer, 2022/07/19
- [elpa] externals/corfu-doc 15dfe652f5 22/95: Automatically resize the corfu doc frame, ELPA Syncer, 2022/07/19