aboutsummaryrefslogtreecommitdiffstats
path: root/desktop-registry.el
diff options
context:
space:
mode:
authorGravatar Tom Willemse2013-08-06 17:04:18 +0200
committerGravatar Tom Willemse2013-08-06 17:04:18 +0200
commit395277047e36bf3135f019a83bca0d40acd2afde (patch)
tree3fec2a2cf07ee7fc300a008b6cc6972e82bb9c2e /desktop-registry.el
parent131cd421c0b41559c0a93e89cd3e1888912b1e2f (diff)
downloaddesktop-registry-395277047e36bf3135f019a83bca0d40acd2afde.tar.gz
desktop-registry-395277047e36bf3135f019a83bca0d40acd2afde.zip
Add desktop-registry-current-desktop
* desktop-registry.el (desktop-registry--canonicalize-dir): (desktop-registry-current-desktop): New functions. (desktop-registry-add-directory): Use `desktop-registry--canonicalize-dir' to get the "clean" directory name.
Diffstat (limited to 'desktop-registry.el')
-rw-r--r--desktop-registry.el18
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