diff options
Diffstat (limited to 'desktop-registry.el')
-rw-r--r-- | desktop-registry.el | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/desktop-registry.el b/desktop-registry.el index c8bc55e..71c8b4b 100644 --- a/desktop-registry.el +++ b/desktop-registry.el @@ -44,11 +44,27 @@ (defvar desktop-registry--history nil "History variable for `desktop-registry'.") +(defun desktop-registry--canonicalize-dir (dir) + "Canonicalize DIR for use." + (directory-file-name (expand-file-name dir))) + +;;;###autoload +(defun desktop-registry-current-desktop () + "Get the name of the currently loaded desktop. + +Returns an empty string when `desktop-dirname' is nil." + (if desktop-dirname + (let ((canonical + (desktop-registry--canonicalize-dir desktop-dirname))) + (car (cl-find-if (lambda (d) (equal (cdr d) canonical)) + desktop-registry-registry))) + "")) + ;;;###autoload (defun desktop-registry-add-directory (dir) "Add DIR to the desktop registry." (interactive "DDirectory: ") - (let* ((clean-dir (directory-file-name (expand-file-name dir))) + (let* ((clean-dir (desktop-registry--canonicalize-dir dir)) (label (file-name-base clean-dir))) (unless (assoc label desktop-registry-registry) (customize-save-variable |