> When we set desktop-save-mode, we can restore all the buffers of
> previous session.. but what about the layout (windows, frames etc.)?
>
> For example, suppose one is working with 4 windows (C-x 3 and then, in
> each window, C-x 2) of different size: one window with a .c buffer, two
> windows with .h buffers, and another with eshell.
>
> It would be useful, the next morning one starts Emacs, not only to
> restore all the buffers of previous session but also all the windows
> (and their size/position) of the previous session..
>
> Is this possible with current (trunk) Emacs?
In Emacs 24.3 there are two functions `window-state-get' and
`window-state-put' which can be used to do that. The only missing part
is to write an interface to these functions when saving and restoring
the desktop. I don't know whether anybody has done that.