Preserve window layout in Emacs
EmacsEmacs Problem Overview
I have setup my windows in a certain way. How do I save this setting to be invoked later?
Emacs Solutions
Solution 1 - Emacs
I sometimes still use C-x r w <register>
to store a window configuration in a register, and C-x r j <register>
(where <register>
is a single character) to jump back to it.
While this is a nice way for storing a few window configurations which you want to go back to after some time, I find winner-mode to be more convenient in a few regards. (For example, you won't have to bother naming the configurations).
Just put (winner-mode 1)
in your .emacs, bind winner-undo
and winner-redo
to convenient shortcuts (or use the IMHO awkward C-c <left>
and C-c <right>
predefined ones), and you'll be able to switch back to previous window configurations.
See also: M-: (info "(emacs) Window Convenience")
and M-: (info "(emacs) RegConfig")
Solution 2 - Emacs
I know you allready accepted an answer, however because I understand your question in another way (concerning layout) and this question showed up for me when I was in search for something to persist my emacs window layout, I would like to mention:
which purpose is to save and restore the way, emacs windows are layed out and many more.
Solution 3 - Emacs
Check out emacs desktop. I have no emacs available but I believe it's part of the standard lisp packages you get when you install emacs.
> Use the desktop library to save the > state of Emacs from one session to > another. Once you save the Emacs > desktop—the buffers, their file names, > major modes, buffer positions, and so > on—then subsequent Emacs sessions > reload the saved desktop.
Solution 4 - Emacs
Give Layout Restore a try if you just want to restore the window layout later.
Solution 5 - Emacs
If you want to persist a layout in your hard-drive, desktop-save
is the option.
If you need to store multiple layouts during emacs' process lifetime (e.g. you connect to a long-running emacs daemon using emacsclient
), you can use C-x r f <register>
to store the frame layout in some register and C-x r j <register>
for restore.
Since I now and then remotely connect to the work station to do sth, disconnect for a while and later reconnect, restoring layout helps me continue stuff seamlessly (note in this case window layouts stored by C-x r w
would be gone).