I've been trying to produce a layout that works something like
TwoPane/DragPane (I don't really understand the difference between these
two),
IIRC on DragPane you can use the mouse to move/resize the layout division.
 
but with tabs for the slave windows. I.e. if there's only one
window, it takes up the full screen; if there are two windows, the master
window is always in the left pane, the slave on the right; if there are
more than two windows, the master is on the left, one slave is displayed
on the right, and there are tabs (as in e.g. simpleTabbed) showing the
slave windows.
You've probably missed X.L.Master at contrib, which does just that.
layout = mastered 0.03 0.5 simpleTabbed
 
I've achieved something very close to what I want using:

 reflectHoriz $ combineTwo (TwoPane 0.03 0.5) simpleTabbed Full

I needed the reflectHoriz because with

 combineTwo (TwoPane 0.03 0.5) Full simpleTabbed

hidden slave windows ended up in the left pane, rather than appearing as
tabs in the right pane. But the (minor) annoyance with using reflectHoriz
is that the focusDown/focusUp and Shrink/Expand key bindings go the
opposite way to every other workspace (I use PerWorkspace layouts, so
simply switching the bindings won't work).
when using combineTwo that's what you get, the new windows go to the first layout by default.
you could set a manageHook that tests if it's in the right workspace and move the window to the second layout.
It's not very difficult, but since X.L.Master does exactly what you understood you want...


Thanks,
you're welcome :) 
 
Henrique Abreu