As far as I know, there is no way to make a distinction between 2-monitor wide screens and 1-monitor wide screens, primary and secondary screens, etc... Maybe some platform-dependent identifiers can be used but it is not satisfying. As a first step, NEWT should query this information and expose it. As a second step, we should be able to pick the most suitable screen. 2-monitor ones are generally not suitable for games.
XRandR version 13 can be used to do that under GNU Linux, some other solutions have to be found for other platforms.
Created attachment 359 [details]
Screenshot of the trouble occurring with TUER (Ardor3D) provided by Jiri Vanek (Red Hat)
Maybe this will help identifying monitors.
(In reply to comment #2)
> Maybe this will help identifying monitors.
I'm not sure AWT is able to return physical screens, it probably handles only virtual screens.
In my humble opinion, it's a bit late to modify the public API to support this feature before the release of JOGL 2.0.2 but choosing a physical monitor is really important both in games and in other applications. NEWT really needs it. I'm not sure that this bug should be fixed in the next minor release.
As a first step, it would be fine to expose all monitors (virtual and physical) in the unchanged public API. Maybe it wouldn't be enough to fix bugs that really require a way of detecting that the current canvas has been moved to another display.
NEWT API Change !
Fix Bug 600 and Bug 721: Adding support for multiple monitors w/ NEWT
- Support for all monitor devices and their available modes
- X11: Use RandR 1.3 if available
- Retrieve information
- Changing a monitor device's mode
- Support for dedicated and spannig fullscreen
- See <http://jogamp.org/files/screenshots/newt-mmonitor/html/>
- X11 RandR does _not_ relayout the virtual screen size
and neither the CRT's viewport.
We may need to relayout them if they were covering a seamless region
to achieve same experience!
- OSX: No machine to attach a secondary CRT -> TEST!
- Tested Manually for Regressions
- Linux ARMv6hf (Rasp-Pi/BCM, Panda/X11)
- Android (Huawei, Kindle)
- Tested Manually and junit:
- NV, ATI-Catalyst w/ 2 CRTs
- VBox w/ 4 CRTs
- NV, w/ 2 CRTs
- VBox w/ 4 CRTs
- X11/OpenIndiana, NV, 1 CRT