Note: this file is auto converted from ivy-posframe.el by el2org, please do not edit it by hand!!!
ivy-posframe is a ivy extension, which let ivy use posframe to show its candidate menu.
NOTE: ivy-posframe requires Emacs 26 and do not support mouse click.
- ivy-posframe-display
- ivy-posframe-display-at-frame-center
- ivy-posframe-display-at-window-center
- ivy-posframe-display-at-frame-bottom-left
- ivy-posframe-display-at-window-bottom-left
- ivy-posframe-display-at-frame-bottom-window-center
- ivy-posframe-display-at-point
-
Global mode
(require 'ivy-posframe) (setq ivy-display-function #'ivy-posframe-display) ;; (setq ivy-display-function #'ivy-posframe-display-at-frame-center) ;; (setq ivy-display-function #'ivy-posframe-display-at-window-center) ;; (setq ivy-display-function #'ivy-posframe-display-at-frame-bottom-left) ;; (setq ivy-display-function #'ivy-posframe-display-at-window-bottom-left) ;; (setq ivy-display-function #'ivy-posframe-display-at-point) (ivy-posframe-enable)
-
Per-command mode.
(require 'ivy-posframe) ;; Different command can use different display function. (push '(counsel-M-x . ivy-posframe-display-at-window-bottom-left) ivy-display-functions-alist) (push '(complete-symbol . ivy-posframe-display-at-point) ivy-display-functions-alist) (ivy-posframe-enable)
-
Fallback mode
(require 'ivy-posframe) (push '(t . ivy-posframe-display) ivy-display-functions-alist) (ivy-posframe-enable)
(setq ivy-posframe-parameters
'((left-fringe . 10)
(right-fringe . 10)))
By the way, User can set any parameters of ivy-posframe with the help of `ivy-posframe-parameters'.
The simplest way is:
(defun ivy-posframe-display-at-XXX (str)
(ivy-posframe--display str #'your-own-poshandler-function))
(ivy-posframe-enable) ; This line is needed.