   (add-to-list 'ivy-ignore-buffers '"\\\\*ivy-")
   :config
   (ivy-mode 1))
+
+(use-package ivy-posframe
+  ;; https://github.com/tumashu/ivy-posframe
+  ;; Let ivy use posframe to show its candidate menu
+  :after ivy
+  :init
+  (setq ivy-posframe-display-functions-alist
+	'((t . ivy-posframe-display-at-window-bottom-left)
+	  (counsel-find-file . ivy-display-function-fallback))
+	ivy-posframe-hide-minibuffer nil
+	ivy-posframe--ignore-prompt t
+	ivy-posframe-parameters '((left-fringe . 8)
+				  (right-fringe . 8)
+				  (lines-truncate . t)))
+  :config
+  (ivy-posframe-mode 1))
+
+;;;###autoload
+(defun danylo/ivy-posframe-get-size ()
+  "The function which is used to deal with ivy posframe's size."
+  (list
+   :height ivy-posframe-height
+   :width ivy-posframe-height
+   :min-height (or ivy-posframe-min-height ivy-height)
+   :min-width (or ivy-posframe-min-width (round (* (window-width) 1.0)))))
+
+(with-eval-after-load "ivy-posframe"
+  (setq ivy-posframe-size-function #'danylo/ivy-posframe-get-size))
 
 (use-package helm
   ;; https://emacs-helm.github.io/helm/

      (let ((regionp (buffer-substring start end)))
	(delete-region start end)
	(insert (format "%s %s %s" left regionp right)))
    (insert (insert (format "%s %s %s" left msg right))))
  )

;;;###autoload

  "Switch to another buffer without preview."
  (interactive)
  (ivy-switch-buffer))

(use-package ivy-prescient
  ;; https://github.com/raxod502/prescient.el
