I have tried docks once and gave up them shortly. This morning I decided to look at them again and try to help with this issue (if I can).
Initial look was awful. Then it was too easy to mess up docks so much that the layout become totally unusable. I very much dislike clearing my cache because I keep there some data important for my work process, so I tried to delete only entries related to dock layout using script. But, those entries are saved again when closing Leo and they are saved in unmanageable state again. I had to delete entries using script and then to kill Leo, to start again with the default layout. Then I realized that in order to achieve my usual layout (like the one I use without docks: body on the right side from top to bottom, and on the left outline above tabs), I have to change setting @string central-dock-widget=body. Once I added this setting and restarted Leo, layout got broken again because saved layout had different central widget. When I finally managed to adjust layout to my liking, I have saved and closed Leo. On the next start layout was well preserved, but hitting Ctrl-n (new outline), I got again default layout, not the copy of first open Leo layout. This is most likely because setting central-dock-widget was local to the first file, and new outline got the default value for this setting and therefore the layout of the first loaded outline can't be applied.
I would be really surprised if a newbie had enough patience and commitment to adjust the initial layout to something usable.
Then I compared docks and no-docks Leo window. The only difference is that in docks all three panes (outline, body and tabs) have small label above. In effect it reduces useful screen space. So, I wander what are the reasons that one would prefer docks over no-docks layout.
Can anyone who uses docks and prefer docks explain me what are the benefits of using docks? Perhaps I miss something and I am not using them correctly.
Anyway, I think that it isn't enough to have just single hard-coded value in app.defaultWindowState. If this state can't be applied when central-dock-widget isn't the same as was used in this hard-coded value. There should be hard-coded value for each possible value of central-dock-widget. Perhaps these values might be stored in the theme files. There should be a command to launch a dialog for selecting one of the predefined layouts. If one messes up docks layout, this command should allow easy restoring layout to something usable.
It might be useful to have a command which would add current layout to the list of predefined layouts (that can be selected from the dialog) and a setting which one should be used for new outlines.
Unless I learn about some feature of the docks interface that makes it superior over the no-docks interface, I will stick to the no-docks interface.
Vitalije