Bug - Printing sometimes prints tool palette contents

Found an interesting one!

When I print (from File menu or via Command+P, and not from typing the command), sometimes the page shows the contents of the tool palette instead of the contents of the model. For example, I get this:

or this:

When I expect to see my model, a simple box:

This appears to happen only when focus is given to the tool palette title bar. Have tested it with Layer palette, Notes palette, and Main+Standard palette.

This happens in both 5.0.2 and the WIP 5B125w, starting with a blank new file.

Software versions
Rhinoceros version: 5.1 WIP (5B125w)
IronPython version: 5.1.2015.131
Language: en (MacOS default)
OS X version: Version 10.10.5 (Build 14F27)

Computer hardware
Hardware model: MacPro5,1
Processor: Intel Xeon CPU E5620 @ 2.40GHz
Memory: 16 GB
Architecture: Intel 64 bit

Video hardware
Graphics: ATI Radeon HD 5770 1024 MB
Memory: 1024 MB

Many thanks!!

This is correct OS X behavior. The menu in OS X is an application menu, unlike MS Windows, where the menu is attached to a window. Menu actions in OS X are sent to the frontmost window to be performed.

Rhino tries very hard to not make any of the floating tool palettes or the inspector palettes the frontmost window, for exactly this reason. For example, if you use command-` to switch between the windows in Rhino, Rhino only activates modeling windows and never activates a floating palette. Nor do the floating palettes show up in the list of windows at the bottom of the Window menu. Nor does clicking a tool button in a tool palette make the tool palette the frontmost window.

But, as you discovered, you can still force one of the floating palettes to be the frontmost window by deliberately clicking on the palette title. So, in this case, the File > Print menu selection is sent to the palette, just as you requested.

When the print dialog appears, it shows a preview of what will print. You should be able to easily see that you have the contents of a palette in the preview, and not one of your models.

You said that you expected the box to be printed. Rhino is a multi-doc application, and you can have several Rhino models open at once. Once you force one of the floating palettes to be the frontmost window, none of the Rhino models are the “active” model, so there is no model selected to use for printing.

@marlin, Thank you for that clear and detailed explanation.

Printing palette contents is a nice hidden feature, for example if you want to print the list of layers in the model (although it was a surprise the first few times it happened, until I figured out it was due to activating the tool palette title bar.) However, it seems to be rarely implemented fully – even Apple apps (Mail, Pages) avoid the confusion by falling back to the most recent active window, although to be fair, their palette usage is very different.

For the button palettes, should the red bar with black text at the top be stripped out? It seems to be a internal UI message, not meant to be seen by a user.

In any case, as you say, it’s a forced and easily avoidable situation. The only reason it jumped out at me was the surprise factor. Thanks again for your quick and thorough response!