   (persp-frame-switch name))
 
 (defun +workspace--generate-id ()
-  (or (cl-loop for name in (+workspace-list)
+  (or (cl-loop for name in (+workspace-list-names)
                when (string-match-p "^#[0-9]+$" name)
                maximize (string-to-number (substring name 1)) into max
                finally return (if max (1+ max)))

             (if (bound-and-true-p evil-mode)
                 (evil-window-delete)
               (delete-window)))
            ((> (length (+workspace-list)) 1)
             (+workspace/delete current-persp-name))))))

;;;###autoload

end of the workspace list."
  (interactive
   (list (or current-prefix-arg
             (completing-read "Switch to workspace: " (+workspace-list-names)))))
  (when (and (stringp index)
             (string-match-p "^[0-9]+$" index))
    (setq index (string-to-number index)))
  (condition-case ex
      (let ((names (+workspace-list-names))
            (old-name (+workspace-current-name)))
        (cond ((numberp index)
               (let ((dest (nth index names)))
