     (with-current-buffer (get-buffer-create "*danny*")
       (let* ((lines-count (length (funcall (danny--framed-ivy-source-collection source)
                                            nil nil nil)))
-             (frame (make-frame `((auto-raise . t)
-                                  (font . "Menlo 15")
-                                  (height . ,(if (> lines-count 0) 10
-                                               1))
-                                  (internal-border-width . 20)
-                                  (left . 0.33)
-                                  (left-fringe . 0)
-                                  (line-spacing . 3)
-                                  (menu-bar-lines . 0)
-                                  (minibuffer . only)
-                                  (right-fringe . 0)
-                                  (tool-bar-lines . 0)
-                                  (top . 200)
-                                  (undecorated . t)
-                                  (unsplittable . t)
-                                  (vertical-scroll-bars . nil)
-                                  ;; Calculate a sensible width, based on longest path (in source).
-                                  (width . ,(if (> lines-count 0)
-                                                (+ 1
-                                                   lines-count
-                                                   (danny--longest-line-length (funcall (danny--framed-ivy-source-collection source)
-                                                                                        nil nil nil)))
-                                              (1+ (length (danny--framed-ivy-source-prompt source)))))))))
+             (frame (make-frame
+                     (-concat danny--base-frame-params
+                              (list (cons 'height (if (> lines-count 0) 10
+                                                    1))
+                                    ;; Calculate a sensible width, based on longest path (in source).
+                                    (cons 'width (if (> lines-count 0)
+                                                     (+ 1
+                                                        lines-count
+                                                        (danny--longest-line-length (funcall (danny--framed-ivy-source-collection source)
+                                                                                             nil nil nil)))
+                                                   (1+ (length (danny--framed-ivy-source-prompt source))))))))))
         (x-focus-frame frame)
         (ivy-read (danny--framed-ivy-source-prompt source)
                   (danny--framed-ivy-source-collection source)

(defvar danny--history-hash (ht) "History hashtable.")

(defvar danny--history-path "~/.danny")

(cl-defstruct
    danny-destination-root

  (with-current-buffer (get-buffer-create "*danny*")
    (let* ((input)
           (lines (s-split "\n" prompt))
           (height (1+ (length lines)))
           (frame (make-frame
                   (-concat danny--base-frame-params
                            (list (cons 'height height)
                                  (cons 'width (+ 20 (danny--longest-line-length lines))))))))
      (setq input (yes-or-no-p prompt))
      (delete-frame)
      (other-window 1)
