I would like to have a pop-up bottom window for temporary buffers like
compilation, Completions, etc. It should split-vertically the whole
frame even if root window was split horizontally.
For example: Before M-x compile:
+------+------+
| | |
| | |
| | |
+------+------+
After:
+------+------+
| | |
+------+------+
| |
+------+------+
I.e. it should be something like ecb-compilation-window, but without
ECB because I don't want to use ECB and CEDET. Actually I see two ways
to make described behavior but both have their drawbacks.
1) Use split-root.el or popwin-el modules.
Drawback: they use delete-other-windows function and then rebuild
previous windows tree after root window is split as required. They
invalidate all references to existed earlier windows in your code(or
code of any module).
For example it's hard to make elscreen module to work with
them(because elscreen saves current-window-configuration and then
creates another one).
2) Set window-min-height variable to its minimal possible value(1) and
call split-window-vertically during emacs startup minimizing window
height after it's created. Then use this window for temporary buffers
setting its height as required.
Drawbacks: Small annoying window with annoying modeline on the bottom
of the frame, doesn't work with emacs --daemon.
Are there more elegant ways to do that without drawbacks?
P/S: please CC me, I'm not subscribed to this list.
--
W.B.R.
Dan Kruchinin
In fact these also break overlays with a window property.
> For example it's hard to make elscreen module to work with
> them(because elscreen saves current-window-configuration and then
> creates another one).
>
> 2) Set window-min-height variable to its minimal possible value(1) and
> call split-window-vertically during emacs startup minimizing window
> height after it's created. Then use this window for temporary buffers
> setting its height as required.
> Drawbacks: Small annoying window with annoying modeline on the bottom
> of the frame, doesn't work with emacs --daemon.
You can get rid of the modeline but you can't get rid of the one-line
window because Emacs doesn't allow zero height windows.
> Are there more elegant ways to do that without drawbacks?
If you have bazaar installed try doing something like
bzr branch bzr://bzr.savannah.gnu.org/emacs/window-pub window-pub
Then you can pop up an arbitrary number of windows on any side of a
frame.
martin