desktop-registry/README.org
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

48 lines
1.7 KiB
Org Mode

#+TITLE: Desktop registry
#+STARTUP: showall
After reading [[https://ericjmritz.wordpress.com/2013/05/28/emacs-desktops/][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 [[http://marmalade-repo.org/][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.
#+BEGIN_SRC emacs-lisp
(add-to-list 'org-capture-templates
'("t" "Task" entry nil
"* TODO %? :%(desktop-registry-current-desktop \"\"):"))
#+END_SRC