Multiple Monitor Support
To better support multiple monitor environments, the SYSPRO architecture responsible for window positioning and sizing was re-engineered for the login window, the SYSPRO main menu and subsequent windows.
This improves consistency in how windows are sized and positioned, particularly when extending your desktop across two or more monitors.
As before, SYSPRO defaults to display on the primary monitor. However, if you subsequently move the SYSPRO main menu to another monitor, all subsequent programs loaded from the menu are shown on the same monitor as the menu.
Background
Windows supports the concept of extending the desktop across two or more monitors.
The primary monitor (defined in the Windows display settings) is the monitor used to login to Windows and some applications (such as SYSPRO) always default to using the primary monitor.
Each secondary monitor can be aligned relative to the primary monitor, so that as you move the mouse around the desktop, or drag a window around the desktop, the system acts as if there is a single, seamlessly connected, desktop made up of multiple monitors.
Each monitor can have a different resolution.
SYSPRO Behavior
When the SYSPRO application is run it displays on the Windows primary monitor, as do the following:
- Login dialog
- Main menu
- Subsequent application programs
The menu, and all programs loaded from the menu, can subsequently be repositioned and, in most cases, re-sized.
Before SYSPRO 8 2020 R1
If the menu and all subsequent application programs are run from (and displayed on) the primary monitor, then the logic described above works effectively in all versions of SYSPRO.
However, if you run SYSPRO on a secondary monitor (regardless of where it is positioned in relation to the primary monitor) then some parts of the SYSPRO application revert to displaying content on the primary monitor.
Therefore, if you have multiple monitors and use each of these for different tasks, we recommend that you run all instances of SYSPRO on the primary monitor and use the subsequent monitors for the other applications.
Saving and restoring SYSPRO windows
The following describes how SYSPRO positions and sizes it's windows and how this information is persisted between sessions:
By default, each application's window position and size are remembered between sessions.
However, you can prevent the saving and restoring of the previous window position and size by enabling the Save primary windows settings upon exit option in the Personalize program (SYSPRO Ribbon bar > Home).
Alternatively, the Reset option in this program removes any saved information, reverting to the initial defaults from then onwards.
Login dialog and menu
The first time you load the SYSPRO application, it's maximized on the primary monitor. You may subsequently restore the window (i.e. selecting the Restore Down symbol next to Close on the top right of the window) enabling you to reposition and re-size the menu as required.
When you exit SYSPRO a preference file is updated containing a state flag that indicates whether the window was maximized or restored, and if restored, the position and size of the window.
When next you run SYSPRO, the application restores to the previous state and the menu is displayed as it was when you last exited.
Applications
All programs run from the menu (e.g. Suppliers, Stock Code Maintenance, etc.) have their own main window that is positioned and sized.
If you have not previously run the program, then a default size and position is provided.
From SYSPRO 8 2020 R1 onwards
From SYSPRO 8 2020 R1 onwards, SYSPRO has improved support for multiple monitors.
If you have previously used SYSPRO and adjusted the menu or application window state, position or size, this is seamlessly used by the new software.
It is possible, however, that in rare cases, the position or size of a window is not saved and restored with the same pixel position (e.g. when the window is very close to one of the monitor borders and the current window's theme defines a window border as being larger than normal. This is expected behavior.
However, the majority of SYSPRO menu and application windows now work as expected when the menu is moved to a secondary monitor.
Saving and restoring SYSPRO windows
The following describes how SYSPRO positions and sizes it's windows and how this information is persisted between sessions:
Login dialog and menu
The login dialog and menu are always displayed centered on the primary monitor, as before.
However, you can now move the main menu to a secondary monitor, if required.
In all cases, when you exit SYSPRO, the state (maximized or restored, and if restored, the position and size) is persisted to the preference file.
Applications
As each program is loaded, the system detects the monitor on which the menu resides. This is done by determining the center of the menu and whether the center point resides on the primary monitor or a secondary monitor.
If the menu resides on the primary monitor, then the saving and restoring of the window position and size is handled as it was in prior versions.
If the menu resides on a secondary monitor, then restoring the window size and position is adjusted by a value to ensure that the application program's window is on the same monitor as the menu.
Similarly, when you exit the application, the position and size of the window is adjusted by a value as if it had been placed on the primary monitor.
Dialogs, messages, notifications, searches, etc.
Additional visual objects have been enhanced to ensure that if the menu resides on a secondary monitor that the objects appear on the correct monitor.
These include:
- Task dialogs and message boxes
- Toast notifications
- Predictive search results
- Quick Views
Applications that show an initial Dialog box
A few selected programs show an initial dialog box instead of a window, but this is relatively rare in recent SYSPRO versions.
A dialog box is like a window except that it cannot be sized (i.e. the width and height of the dialog box is fixed).
Therefore, the centering, saving and restoring logic mentioned for windows is very similar, except that the right and bottom edges are not adjusted if you position the dialog box overlapping the right/bottom of the current monitor.