window-numbering-mode assigns a number to each window in a Emacs frame, so you can reach any window with just one command (M-1 … M-0)
Add the following to your .emacs file:
(add-to-list 'load-path "/path/to/window-numbering") (require 'window-numbering) (window-numbering-mode 1)
If you want to affect the numbers, use window-numbering-before-hook or window-numbering-assign-func. For instance, to always assign the calculator window the number 9, add the following to your .emacs file:
(setq window-numbering-assign-func
(lambda () (when (equal (buffer-name) "*Calculator*") 9)))
Use M-1 … M-9 to jump to a window. Each window's number is displayed in the modeline to the left. If the minibuffer is active, M-0 jumps there, otherwise it is assigned to a regular window.
email me, or visit this package's page at the Emacs wiki.