When we open multiple instances of tlclient on Mac OS X, the system treats them as separate applications. It should be grouping them together as a single applications. Symptoms of this is that the dock gets one icon per running tlclient and F10 (expose of application windows) shows just a single window at a time.
I think this is caused by us doing things incorrectly. We are currently shipping vncviewer as a separate bundle (inside the tlclient bundle). This makes OS X treat it as a separate application, and we do all kind of voodoo to defeat this. The correct way seems to be to simply put all executables in the main bundle's MacOS directory. The documentation says this about that directory: "(Required) Contains the application?s standalone executable code. Typically, this directory contains only one binary file with your application?s main entry point and statically linked code. However, you may put other standalone executables (such as command-line tools) in this directory as well." I tried putting vncviewer in there, and OS X then starts to believe it is the ThinLinc Client application. The CFBundleExecutable field is only used to determine which executable launches a new instance of the application, and doesn't seem to have any effect on associating processes with applications.
*** This bug has been marked as a duplicate of bug 3047 ***