It looks like I will eventually have to reverse-engineer and replace NSDrawer for one of my MacOs apps. There has been talk here and there about doing that, and I wondered if anyone had done so and would be willing to share or give hints.
For the record:
(1) My use of NSDrawer is appropriate under the original human interface guidelines for it, which were "[u]se drawers only for controls that need to be accessed fairly frequently but that don't need to be visible all the time."
(2) NSSplitView is not appropriate because (a) my app is text-based, and it is very disconcerting to have the text re-flowed when the extra view opens and closes, and (b) I need more than one drawer (for different sets of controls, useful in different circumstances).
(3) Various other kind of view don't work because of one or more of (a) they block content in the main view, (b) they do not automatically appear at the same position relative to the main view, or (c) they do not follow the main view when the user moves or resizes it. (Note that requirements (b) and (c) follow from Fitt's law.)
My app is a program-development environment for the Scheme programming language, called "Wraith Scheme".