With the new layout system, all layouts equalize the pane sizes when applied. There is currently no way to remember what pane sizes used to be. I remember that with the old system, sometimes the sizes were remembered right and sometimes they weren't. That was annoying so for the new system we didn't put any effort into restoring sizes. It would be possible to write a script to change the size ratios for any particular layout after it has been applied. The ratios would be hard-coded into the script. That should not be very hard.
It is possible and I use it often. Currently there is no built-in layout for this arrangement but there are two ways to get it:
1. Use the "vertical-thirds" layout and then run the layout-swap-log-panel command.
2. Run this layout command. You can make an @command setting for it in myLeoSettings,leo if you like:
from leo.core.leoQt import Orientation
VRX_PLACEHOLDER_NAME = 'viewrenderedx_pane'
LAYOUT = {
'SPLITTERS': dict(
(('outlineFrame', 'secondary_splitter'),
('secondary_splitter', 'main_splitter'),
('bodyFrame', 'main_splitter'),
('logFrame', 'main_splitter'),
(VRX_PLACEHOLDER_NAME, 'main_splitter'))
),
'ORIENTATIONS': {
'secondary_splitter': Orientation.Vertical,
'main_splitter': Orientation.Horizontal
}
}
dw = c.frame.top
cache = dw.layout_cache
cache.restoreFromLayout(LAYOUT)
If there is interest out there - so far it's you and me - this layout could be added to the built-in set of layouts.