Ignition 8.0.9 - Multi Monitor Issues


I’m using Ignition 8.0.9, in a multi-monitor configuration (using the sample code at https://docs.inductiveautomation.com/display/DOC80/Multi-Monitor+Clients).

I’ve noticed two issues:

  • system.gui.passwordBox opens on the primary desktop, regardless of where the calling button is located
  • Tab Strip on the primary desktop (if Selected Tab is bound unidirectionally to [System]Client/User/CurrentWindow) controls windows on both monitors. Conversely, the Tab Strip on the secondary monitor can be operated independently, and does not affect the primary monitor.

Are there any workarounds for these?

Not much I can advice with your shared info. Just make sure to identify which monitor is num 1,2…n. If working on WOS


About the second point. I’ll guess your running one client and with 2 desktop(). It means that the system tag just can hold one value at ones for that running client launched by the gateway. If so, it actually depends of how made your Tab Strip Dinamic.

Maybe if your share the way tried it I can give an advice.
I don’t think is something with v 8.0.9

MultiMonitorTest_20200306140807.zip (23.8 KB)

Attached is a MWE demonstrating the issue. The project has a docked bar with a tab strip, where the “Selected Tab” is bound to a system tag, so that it updates when the page changes (e.g. via a client event). The primary monitor forces the secondary to change page when the tab strip is used.

There is a button on “Window 1” which brings up a password box. The password box only appears on the primary monitor, regardless of which monitor the button is clicked on.

Assuming these are problems with my implementation, how else would I go about implementing a multi monitor client so I can avoid these issues?

I was able to resolve the issue with the password prompt not appearing on the correct monitor:

desktopHandle = system.gui.getCurrentDesktop()
password = system.gui.desktop(desktopHandle).passwordBox("Password")

No luck figuring out how to use the tab strip on a multi monitor display, yet.

I resolved the issue with the tab strip by setting up a timer on the navigation tab, with the following script on the actionPerformed event of the timer:

event.source.parent.getComponent('Tab Strip').selectedTab = system.nav.desktop(system.gui.getCurrentDesktop()).getCurrentWindow()