Windwow is an Emacs package with a small collection of functions for saving and loading window arrangements and buffer configurations.
This package simplifies workspace management for Emacs. With just a few functions we can save window arrangements, load those arrangements, and do the same for buffers. These values are easily persisted because they are simple data structures - there are functions used internally that translate a window arrangement to a list of split and switch commands.
A buffer configuration is a list of buffers and a window arrangement is an arrangement of windows in a frame. Right now window arrangements created only with split and switch commands are supported. These functions can be called interactively (via M-x
) or from keybindings.
windwow-save-buffer-list
- saves current buffers and prompts for namewindwow-load-buffer-list
- loads a previously saved buffer listwindwow-load-buffer-from-list
- loads a buffer from a saved buffer list
windwow-save-window-arrangement
- saves current window arrangementwindwow-load-window-arrangement
- loads a previously saved window arrangement
windwow-load-window-arrangement-and-buffer-list
- loads a window arrangement and a buffer list
Here is an example showing how to use some of the aforementioned functions:
- Switch to a frame with one window. Create a window arrangement with split and switch commands; these commands are
split-window-below
(C-x 2
),split-window-right
(C-x 3
), andother-window
(C-x o
). Switch to a different buffer in each of these windows. - Now save this configuration with
windwow-save-window-arrangement
andwindwow-save-buffer-list
. - Close all the windows except the current one with
delete-other-windows
(C-x 1
). - Now restore the window arrangement and buffer list with
windwow-load-window-arrangement-and-buffer-list
. The windows previously created should be restored in the proper arrangement with the corresponding buffers loaded inside.
Unfortunately manually resized windows are not supported at the moment.
- Support frames with manually resized windows
- Minor mode
- More efficient reconstruction algorithm
- More documentation