2018-08-04 20:50:54 +02:00
|
|
|
;;; completion/helm/autoload/posframe.el -*- lexical-binding: t; -*-
|
|
|
|
|
|
|
|
(add-hook 'helm-cleanup-hook #'+helm|posframe-cleanup)
|
|
|
|
|
|
|
|
;;;###autoload
|
|
|
|
(defun +helm-poshandler-frame-center-near-bottom (info)
|
|
|
|
"Display the child frame in the center of the frame, slightly closer to the
|
|
|
|
bottom, which is easier on the eyes on big displays."
|
|
|
|
(let ((parent-frame (plist-get info :parent-frame))
|
|
|
|
(pos (posframe-poshandler-frame-center info)))
|
|
|
|
(cons (car pos)
|
|
|
|
(truncate (/ (frame-pixel-height parent-frame)
|
2018-08-05 22:04:33 +02:00
|
|
|
2)))))
|
2018-08-04 20:50:54 +02:00
|
|
|
|
|
|
|
(defvar +helm--posframe-buffer nil)
|
|
|
|
(defvar +helm--posframe-last-window nil)
|
|
|
|
;;;###autoload
|
|
|
|
(defun +helm-posframe-display (buffer &optional _resume)
|
|
|
|
"TODO"
|
|
|
|
(require 'posframe)
|
2018-08-07 14:42:58 +02:00
|
|
|
(setq +helm--posframe-last-window (selected-window)
|
|
|
|
helm--buffer-in-new-frame-p t)
|
2018-08-04 20:50:54 +02:00
|
|
|
(posframe-show
|
|
|
|
(setq +helm--posframe-buffer buffer)
|
2018-08-07 14:42:58 +02:00
|
|
|
:position (point)
|
2018-08-04 20:50:54 +02:00
|
|
|
:poshandler +helm-posframe-handler
|
2018-08-07 14:42:58 +02:00
|
|
|
:override-parameters +helm-posframe-parameters)
|
|
|
|
(unless (or (null +helm-posframe-text-scale)
|
|
|
|
(= +helm-posframe-text-scale 0))
|
2018-08-04 20:50:54 +02:00
|
|
|
(with-current-buffer buffer
|
2018-08-07 14:42:58 +02:00
|
|
|
(text-scale-set +helm-posframe-text-scale))))
|
2018-08-04 20:50:54 +02:00
|
|
|
|
|
|
|
;;;###autoload
|
|
|
|
(defun +helm|posframe-cleanup ()
|
|
|
|
"TODO"
|
|
|
|
;; Ensure the underlying window is switched to, to ensure that frame is given
|
|
|
|
;; proper focus; this gives the modeline a chance to refresh.
|
|
|
|
(select-window +helm--posframe-last-window)
|
|
|
|
;;
|
|
|
|
(posframe-delete +helm--posframe-buffer))
|
|
|
|
|
2018-08-07 14:42:58 +02:00
|
|
|
|
|
|
|
;;;###autoload
|
|
|
|
(defun +helm*fix-get-font-height (orig-fn position)
|
|
|
|
(ignore-errors (funcall orig-fn position)))
|