#+TITLE: README of vertico-posframe

** What is vertico-posframe

vertico-posframe is an vertico extension, which lets vertico use
posframe to show its candidate menu.

NOTE: vertico-posframe requires Emacs 26 and do not support mouse
click.

** How to enable vertico-posframe
#+begin_example
(require 'vertico-posframe)
(vertico-posframe-mode 1)
#+end_example

** Tips

*** How to let vertico-posframe work well with vertico-multiform.
#+begin_example
(setq vertico-multiform-commands
      '((consult-line
         posframe
         (vertico-posframe-poshandler . posframe-poshandler-frame-top-center)
         (vertico-posframe-border-width . 10)
         ;; NOTE: This is useful when emacs is used in both in X and
         ;; terminal, for posframe do not work well in terminal, so
         ;; vertico-buffer-mode will be used as fallback at the
         ;; moment.
         (vertico-posframe-fallback-mode . vertico-buffer-mode))
        (t posframe)))
(vertico-multiform-mode 1)
#+end_example

NOTE: vertico-posframe-mode will be activated/deactivated by
vertico-multiform-mode dynamically when you add 'posframe' setting to
vertico-multiform-commands, please do not enable vertico-posframe-mode
globally at the moment. 

*** To conditionally disable posframe
#+begin_example
(setq vertico-multiform-commands
      '((consult-line (:not posframe))
        (t posframe)))
#+end_example

*** How to show fringe to vertico-posframe
#+begin_example
(setq vertico-posframe-parameters
      '((left-fringe . 8)
        (right-fringe . 8)))
#+end_example

By the way, User can set *any* parameters of vertico-posframe with
the help of `vertico-posframe-parameters'.
