                                                                                               (f-filename file-path))
                                                                               :action (danny--create-move-action-fun file-path)
                                                                               :collection (lambda (str pred v)
-                                                                                            (f-directories (danny-destination-root-dpath root)
-                                                                                                           nil
-                                                                                                           (danny-destination-root-recursive root)))
+                                                                                            (-concat
+                                                                                             (list (danny-destination-root-dpath root))
+                                                                                             (f-directories (danny-destination-root-dpath root)
+                                                                                                            nil
+                                                                                                            (danny-destination-root-recursive root))))
                                                                               :unwind unwind))
                                              danny-destination-roots))))))
 


(defvar danny-destination-roots
  (list (make-danny-destination-root :name "Documents"
                                     :dpath "~/Documents"))
  "Root destination directories. For example:

  (list (make-danny-destination-root :name \"Documents\"

                                                                                         (1- index))
                                                                                :initial-input ivy-text))))
    (with-current-buffer (get-buffer-create "*danny*")
      (let* ((collection (funcall (danny--framed-ivy-source-collection source)
                                              nil nil nil))
             (lines-count (+ (length (s-split "\n" (danny--framed-ivy-source-prompt source)))
                             (length collection)))
             (frame (make-frame
                     (-concat danny--base-frame-params
                              (list (cons 'height (min (+ 2 lines-count)
                                                       25))
                                    ;; Calculate a sensible width, based on longest path or prompt.
                                    (cons 'width (max (+ 10 (length (danny--framed-ivy-source-prompt source)))
                                                      (+ 10 (danny--longest-line-length collection)))))))))
        (x-focus-frame frame)
        (ivy-read (danny--framed-ivy-source-prompt source)
                  collection
                  :require-match t
                  :update-fn (lambda ()
                               ;; Forcing redisplay works around "Open" source not shown
