Is there a one-step way to create a subdocument in Binder?

I described the problem last December, but got no response. In Scrivener 1.9.7 you could create a new document in Binder as either a sibling to current document or as a child (sub-document). Pressing Enter or Shft+Enter respectively worked well for the tasks.

In Beta 12, however, there has been no way still, to create a sub-document in one step: you have to create a sibling document first (Ctrl+N or Enter) and then move it in (Ctrl+Right). Is it what was intended or to be settled later?

I also have heard nothing on this issue. It would be useful to have the ability to do this, but I suspect it’s not going to be.

What you might consider as a 3rd party solution is AutoHotKey (free tool), with which you could define Ctrl-Return in Scrivener 3 as “Enter, Enter, Ctrl-right arrow, enter,” which would add the document, move it right, and then leave the cursor editing the document title in the binder underneath the point where you started.

rwfranz, I am pleased to see that you miss this shortcut too and really grateful for the advice with AutoHotkey. The problem is, the option in question is not only essential for comfortable work in Binder, but it is just a standard practice when editing tree-structures like the Binder, not to say it was present in Scrinium’s previous version. I was unable to find any reason serious enough to throw the option away. That’s why I regard it as a bug so far.

Of course, the matter can easily be settled with simple AHK script, but this approach does not seems practicable. I think it should be either explained by the developers or corrected. Even though it seems rather small.

Hi guys, testing this in v1.9.9.0 using Enter or Shift+Enter works the same in Beta 12. A sibling document is created if you press “Enter” while a document is selected. A child document is created if a folder is currently selected. This is the expected behavior, and the idea is that the new document should not intercept the existing text flow.

Can you please provide more details about the way you created a child document of the current document using a shortcut in v1.9.9.0, and which does not work the same in Beta12.

I understand why it’s done the way it is.

And I generally didn’t create subdocuments with a command in 1.9.x (and I cannot find the way to do it, honestly). If I convert the file to a folder, Ctrl-N or return will serve the purpose, and the document is still editable, but its child is not a folder (even if I change the default template to a folder converted from a file).

If I needed it often (which I don’t; I need it occasionally, although I might need it often in a particular project where subdocuments abound), I would make an AutoHotKey script to do it. May anyway.

Two points on this. First—strangely enough—I was absolutely sure that Shift+Enter created a subdocument in Scrivener 1.9.7. As I stopped working with that old stable version last Fall and uninstalled it, I had to reinstall it to check the case. And, yes, both Enter and Shift+Enter give a sibling document if a document (not folder) is selected—at least in v.1.9.9. This means I was wrong stating that the feature was present in previous version. (The mistake was probably caused by my active use of folders in my earlier practice.)

But the question on Shift+Enter is still the same: why user cannot be allowed to choose whether he/she wants to create a sibling document or a child document, so far as two keyboard shortcuts are available? Work in Binder is very important part of the creative process (for me at least), and I would expect it is made as comfortable as possible. A couple of years ago I was trying and comparing a lot of programs with multi-level trees used a part of their interfaces. It seems just a common practice to give a user some set of (one-key) options: to add a sibling, or a child, or even a sibling before the current one.

I think this use of Shift+Enter (add subdocument) could be at least considered by the developers—if not yet. And I suspect it could be implemented easily enough if the request itself is found reasonable.

Having different shortcuts to alter the new child/sibling creation is a good idea. I cannot promise that it will be implemented, but I will add it to our feature request queue. As we match functionality between Mac and Windows it might take some time until implemented, if we decide to go down that road. Having the Binder navigation shortcuts, makes item reordering relatively easy, even if not the most comfortable one.

I would love this too — it would make working in the binder a bit more like working in dedicated outlining or mind mapping apps, where you often have shortcuts for adding items at different places in the structure.

Of course, it won’t be a catastrophe, if you decide not to go down that way. Though it would be just an implementation of a good practice—if you do decide to make such an option available.

I think it would be quite nice if we have both commands (i.e. both Add sibling document & Add child) available—even without a shortcut set for them. In that case a user could just set appropriate shortcuts himself.

As rwfranz pointed out, there’s an easy solution using AutoHotKey. A long time ago I created two AHK scripts. One of them uses Ctrl+; to pop up a dialog where you can type the name of a new document, then it creates that document as a child of the current document in the binder.

The other uses Ctrl+Shift+; to pop up a dialog to enter a filename, then creates a new file with that name outdented below the currently selected document in the binder.

These also work in Outline view.

The binder must have focus for these to work in the binder.

Here are the scripts, for anyone interested:

[code]^;:: ; this script sets Control + ; to open a dialog where you type the document name, then hits Enter, then Ctrl+Right. In Scrivener this creates a new document indented to the right below the current document.
{InputBox, vfilename, Document Name, Enter the name of the new document, , 400, 125 ; set ctrl+; to pop up input box and get name of new file
Send ^n
sleep, 200
Send %vfilename% {Enter}
Sleep, 200
Send ^{Right}
}
return

^+;:: ; this script sets Control + Shift + ; to open a dialog where you type the document name, then hits Enter, then Ctrl+Left. In Scrivener this creates a new document indented to the left below the current document.
{InputBox, vfilename, Document Name, Enter the name of the new document, , 400, 125 ; set ctrl+; to pop up input box and get name of new file
Send ^n
Sleep, 200
Send %vfilename% {Enter}
Sleep, 200
Send ^{Left}
;Send ^{Tab}
}
return
[/code]

To m ake these run only in Scrivener you can preface them with:

#IfWinActive, ahk_exe scrivener.exe

I’d be happy to help out if anyone wants to use these or has questions.

Thank you, TomGoodell. The script is nice. What seems more important here is the fact that the feature is really in demand. And since the costs do not seem high, it would be quite natural to implement it—sooner than later. At least, to get back to the matter after v.3 is finally released.