We are noticing events where an Operator using SPM, is able to start a module, but the module doesn't appear on any monitor. You can see, on the Taskbar, that it is open, but you can't get it to display. Closing down SPM and restarting does not fix the problem. In particular, it is isolated to staff who:
-
- have a laptop
-
- take the laptop to different locations
-
- project or connect to external monitors
-
- the external monitors at the different locations, are arranged in different positions, compared to the laptop.
The following is what is causing the problem.
To be helpful to the Operator, SPM saves the module display position on exit, so that the next time they start the program and open the modules, they will load and display on the same monitors and at the size, they prefer. This information is saved as X,Y co-ordinates in a workstation ini file. The ini file name will start with spm_ then will include the workstation name e.g. spm_seslt43.ini (we remove the hyphens). These files are in the shared data directory that SPM uses.
At location A, the user has an external monitor that is positioned to the left of the laptop. The user drags a SPM module onto the left-hand monitor. Then exits SPM. The X,Y co-ordinates of the module are saved in the spm_workstation.ini file. You can see in the example below that the X position is -1248 as it is in monitor 2.
At location B, the user connects to a different monitor arrangement, where the monitors are all on the right-hand side (or there are multiple monitors). SPM tries to be helpful and because the user has the same workstation name, it loads the module using its previous X position. However, the -1248 location is to the left, but there is no monitor at that location, so even though the SPM module is active, it cannot be displayed. You also can 't get to the module to drag it to another monitor.
The short-term fix I have implemented is to:
-
- exit SPM
-
- rename or delete the user's spm_workstation.ini file in the shared data directory
-
- start SPM
The spm_workstation.ini file will recreate itself from scratch and won't have any saved module positions.
You can also try the following work-around: