I have an NPAPI plugin for OS X using the CoreAnimation drawing model. How can I open a new window to display errors, plugin information like an "about" window, etc?
The technical answer is that you use the standard Cocoa framework calls to create windows; NPAPI has no provisions for creating windows.
The real answer, though, is that you shouldn't. NPAPI plugins aren't intended to allow you to create arbitrary UI; you are only supposed to draw in your plugin's region (i.e., the CALayer you vend). You should display information as overlays that you temporarily add as sublayers of your main plugin layer. Apple used to have a doc about writing NPAPI plugins, and it explicitly called out creating windows as something you should not do.
If you do create windows from an NPAPI plugin, then in browsers that run plugins out of process (which is all the major ones at this point), your windows will behave badly. They may or may not come forward when you create them. They won't show up in Exposé, or in the Window menu, or when someone uses command-` to cycle through windows. They will be hard for users to find and close if they lose track of them. They won't come forward when someone clicks the browser in the Dock.
The best thing to do in a new plugin is not to do it.