Custom keyboard shortcuts don't work until menu is selected

I’ve noticed that certain keyboard shortcuts I add through the OSX Keyboard pref pane will not work when I first launch Scrivener. If I select one of those menu items manually, then after that, all the custom keyboard shortcuts work for the rest of the time Scrivener is open. If I quit and relaunch, then it’s back to not working. (I’ve noticed this behavior in other apps as well, so it may not be a Scrivener-only problem.)

For reference, here’s a shortcut that doesn’t work for me until I select it manually when I first run Scrivener:

Format->Highlight->Orange Marker ^⇧⌘O (or ^⌘O, same result)

To contrast, here’s a shortcut I added that does work even when I’ve just run Scrivener:

Format->Text->Line and Paragraph Spacing… ^⌘P

Not sure what the difference is there, but the latter works as soon as I run Scrivener, and the former will not work until I’ve selected the menu once manually (or until I’ve selected one of my other similarly non-working items).

I’m running Scrivener 2.7 (26106) on OSX 10.11.4.

Hope someone is aware of this and that a fix is possible. Thanks!

Bingo. It’s a problem with how menus are scanned when the software starts up. I’m not 100% on the variables, but the patterns I’ve noticed indicate that menus that are built by the software dynamically are the ones that will be prone to not “existing” when the initial shortcut scan is done. For example, I have some custom shortcuts that I use to work with the revision mode feature. I assign Ctrl-1 thru 5 to the colours themselves, use Ctrl-0 for “Remove All Revisions”, and Ctrl-Opt-0 to “Mark Revised”. However that last menu command only appears when you have a revision mode enabled and you have some text selected. Otherwise, the words “Mark Revised” do not even appear in the menu (the command “Remove Current Revision Color” occupies its slot, when nothing is selected). Thus once per session if I want to use that shortcut, I have to go and look at the menu while the conditions are set for it to appear.

The Highlights menu is another menu that is dynamically built on the fly. Not only does it add entries for your custom colour swatches, it checks for the presence of a system colour palette called “Scrivener”, scans it for colours matching the default highlights, and uses the names of those swatches for the menu names. Hence you could rename “Orange Marker” to “Needs Research”, and the custom shortcut would have to point to “Format->Highlight->Needs Research” too, but in either case the name of the marker isn’t there during the initial shortcut sweep.

That’s a static menu item, like most of them, it is there from the very start in the UI throughout the whole startup sequence. When OSX does its shortcut sweep, it’s already there.