[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/posframe f413a4f 30/40: add center handler
From: |
Feng Shu |
Subject: |
[elpa] externals/posframe f413a4f 30/40: add center handler |
Date: |
Wed, 5 Feb 2020 04:27:21 -0500 (EST) |
branch: externals/posframe
commit f413a4f622eb7c94b73985cab6fc3cfc85333872
Author: conao3 <address@hidden>
Commit: conao3 <address@hidden>
add center handler
Add below center handler functions
- posframe-poshandler-frame-bottom-center
- posframe-poshandler-window-top-center
- posframe-poshandler-window-bottom-center
---
posframe.el | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 55 insertions(+), 9 deletions(-)
diff --git a/posframe.el b/posframe.el
index 561ba3f..3eb533d 100644
--- a/posframe.el
+++ b/posframe.el
@@ -382,15 +382,18 @@ The builtin poshandler functions are listed below:
2. `posframe-poshandler-frame-top-center'
3. `posframe-poshandler-frame-top-left-corner'
4. `posframe-poshandler-frame-top-right-corner'
-5. `posframe-poshandler-frame-bottom-left-corner'
-6. `posframe-poshandler-frame-bottom-right-corner'
-7. `posframe-poshandler-window-center'
-8. `posframe-poshandler-window-top-left-corner'
-9. `posframe-poshandler-window-top-right-corner'
-10. `posframe-poshandler-window-bottom-left-corner'
-11. `posframe-poshandler-window-bottom-right-corner'
-12. `posframe-poshandler-point-top-left-corner'
-13. `posframe-poshandler-point-bottom-left-corner'
+5. `posframe-poshandler-frame-bottom-center'
+6. `posframe-poshandler-frame-bottom-left-corner'
+7. `posframe-poshandler-frame-bottom-right-corner'
+8. `posframe-poshandler-window-center'
+9. `posframe-poshandler-window-top-center'
+10. `posframe-poshandler-window-top-left-corner'
+11. `posframe-poshandler-window-top-right-corner'
+12. `posframe-poshandler-window-bottom-center'
+13. `posframe-poshandler-window-bottom-left-corner'
+14. `posframe-poshandler-window-bottom-right-corner'
+15. `posframe-poshandler-point-top-left-corner'
+16. `posframe-poshandler-point-bottom-left-corner'
This posframe's buffer is BUFFER-OR-NAME, which can be a buffer
or a name of a (possibly nonexistent) buffer.
@@ -879,6 +882,19 @@ in docstring of `posframe-show'."
(plist-get info :mode-line-height)
(plist-get info :minibuffer-height))))
+(defun posframe-poshandler-frame-bottom-center (info)
+ "Posframe's position handler.
+
+Get a position which let posframe stay onto its parent-frame's
+bottom center. The structure of INFO can be found in docstring of
+`posframe-show'."
+ (cons (/ (- (plist-get info :parent-frame-width)
+ (plist-get info :posframe-width))
+ 2)
+ (- 0
+ (plist-get info :mode-line-height)
+ (plist-get info :minibuffer-height))))
+
(defun posframe-poshandler-window-center (info)
"Posframe's position handler.
@@ -919,6 +935,19 @@ docstring of `posframe-show'."
(- 0 posframe-width))
window-top)))
+(defun posframe-poshandler-window-top-center (info)
+ "Posframe's position handler.
+
+Get a position which let posframe stay onto current window's
+top center. The structure of INFO can be found in docstring of
+`posframe-show'."
+ (let* ((window-left (plist-get info :parent-window-left))
+ (window-top (plist-get info :parent-window-top))
+ (window-width (plist-get info :parent-window-width))
+ (posframe-width (plist-get info :posframe-width)))
+ (cons (+ window-left (/ (- window-width posframe-width) 2))
+ window-top)))
+
(defun posframe-poshandler-window-bottom-left-corner (info)
"Posframe's position handler.
@@ -952,6 +981,23 @@ docstring of `posframe-show'."
(+ window-top window-height
(- 0 mode-line-height posframe-height)))))
+(defun posframe-poshandler-window-bottom-center (info)
+ "Posframe's position handler.
+
+Get a position which let posframe stay onto current window's
+bottom center. The structure of INFO can be found in docstring of
+`posframe-show'."
+ (let* ((window-left (plist-get info :parent-window-left))
+ (window-top (plist-get info :parent-window-top))
+ (window-width (plist-get info :parent-window-width))
+ (window-height (plist-get info :parent-window-height))
+ (posframe-width (plist-get info :posframe-width))
+ (posframe-height (plist-get info :posframe-height))
+ (mode-line-height (plist-get info :mode-line-height)))
+ (cons (+ window-left (/ (- window-width posframe-width) 2))
+ (+ window-top window-height
+ (- 0 mode-line-height posframe-height)))))
+
(provide 'posframe)
;;; posframe.el ends here
- [elpa] externals/posframe 9a1a17b 08/40: Fix incorrect current-buffer bug in 'posframe-show', (continued)
- [elpa] externals/posframe 9a1a17b 08/40: Fix incorrect current-buffer bug in 'posframe-show', Feng Shu, 2020/02/05
- [elpa] externals/posframe bf5bd24 14/40: Improve logic in 'posframe-funcall', Feng Shu, 2020/02/05
- [elpa] externals/posframe ab72f53 07/40: Autoload the main entry point, Feng Shu, 2020/02/05
- [elpa] externals/posframe 9520893 32/40: Merge pull request #49 from conao3/trivial-fix, Feng Shu, 2020/02/05
- [elpa] externals/posframe f02770e 22/40: Revert "'posframe-buffer-frame': New function to get a buffer's posframe", Feng Shu, 2020/02/05
- [elpa] externals/posframe 3c740c1 28/40: add convenience keyword, Feng Shu, 2020/02/05
- [elpa] externals/posframe 2c5f390 16/40: 'posframe-buffer-frame': New function to get a buffer's posframe, Feng Shu, 2020/02/05
- [elpa] externals/posframe fe57b4f 19/40: Don't modify global value of 'kill-buffer-hook', Feng Shu, 2020/02/05
- [elpa] externals/posframe e3fd09f 35/40: posframe-show: call redisplay to let border showed., Feng Shu, 2020/02/05
- [elpa] externals/posframe b77cd06 29/40: add space after period, Feng Shu, 2020/02/05
- [elpa] externals/posframe f413a4f 30/40: add center handler,
Feng Shu <=
- [elpa] externals/posframe 1fd8c8c 13/40: Remove unused bindings in 'posframe-hide-all' and 'posframe-delete-all', Feng Shu, 2020/02/05
- [elpa] externals/posframe d7f48a4 10/40: Merge pull request #40 from stepnem/current-buffer-bug, Feng Shu, 2020/02/05
- [elpa] externals/posframe 15ffbef 21/40: Revert "Improve 'posframe-delete-frame'", Feng Shu, 2020/02/05
- [elpa] externals/posframe d504867 33/40: Add posframe-refresh, Feng Shu, 2020/02/05
- [elpa] externals/posframe f335f92 24/40: Make the buffer in posframe dedicated, Feng Shu, 2020/02/05
- [elpa] externals/posframe 8108052 20/40: Merge pull request #42 from stepnem/refactor, Feng Shu, 2020/02/05
- [elpa] externals/posframe bb13933 25/40: Merge pull request #47 from yyoncho/master, Feng Shu, 2020/02/05
- [elpa] externals/posframe f390e35 27/40: Fix: Posframe is slow if emacs is built using athena toolkit #45, Feng Shu, 2020/02/05
- [elpa] externals/posframe b44c1ae 31/40: Merge pull request #50 from conao3/add-center-handler, Feng Shu, 2020/02/05
- [elpa] externals/posframe d75dc15 26/40: Fix: Frame not tall enough if line-spacing > 0 #48, Feng Shu, 2020/02/05