Keep a central registry of desktop files
Find a file
Tom Willemse 9e30a9cd87 Signal error and specify name
- desktop-registry.el (desktop-registry-add-directory): Add an optional
  NAME parameter which will be asked for (in an interactive context)
  when the universal argument is used. Print a message if the specified
  directory has already been registered, signal an error when the (given
  or generated) name has already been used and only add the directory if
  neither of these conditions occur.

  (desktop-registry-add-current-desktop): Add optional NAME parameter
  which will be asked for (in an interactive context) when the universal
  argument is used and pass it on to `desktop-registry-add-directory'.
2013-08-07 22:08:01 +02:00
.gitignore Initial commit 2013-06-04 01:57:06 +02:00
desktop-registry.el Signal error and specify name 2013-08-07 22:08:01 +02:00
NEWS Signal error and specify name 2013-08-07 22:08:01 +02:00
README.org Signal error and specify name 2013-08-07 22:08:01 +02:00

Desktop registry

After reading this post I started using desktop.el as a simple project file-like system. The only problem was that remembering which desktops were where and switching between them is bothersome. This module tries to fix that.

Installation

If you have Marmalade set up you can just use:

M-x package-install <RET> desktop-registry

Usage

To switch between desktops you can use desktop-registry-change-desktop, this will prompt (with completion) for the directory you would like to load.

When you're done with a desktop or want to get rid of a desktop for another reason you can use desktop-registry-remove-desktop.

If you've registered a desktop and you don't like what it made of the name you can use desktop-registry-rename-desktop to give it a new name.

Adding new desktops

You can use desktop-registry-add-directory to add a new directory to the registry, or desktop-registry-add-current-desktop to add the currently loaded desktop to the registry. With either of these function you can use the universal argument (C-u) to specify a name for the desktop as well.

If you enable desktop-registry-auto-register it will automatically add new desktop files to the registry when you use desktop-save.

With org-capture-templates

The desktop-registry-current-desktop can be used to insert the currently loaded desktop into an org capture template.

  (add-to-list 'org-capture-templates
               '("t" "Task" entry nil
                 "* TODO %?  :%(desktop-registry-current-desktop \"\"):"))