Guides / Multiple displays
Multiple displays
Every monitor has its own layouts. Krova recognises a monitor when you plug it back in and brings its layouts back. On Windows, the windows you snapped there go back into their zones too.
One set of layouts per monitor
- The first time Krova sees a monitor, it gives it the four templates (Halves, Thirds, Grid 2x2, Priority) with Halves active. Edit, add and activate layouts per monitor in the layout editor.
- While you drag, only the monitor under your cursor shows its zones, using its own active layout.
- On Windows, the keyboard shortcut Ctrl+Alt+Shift+Up sends the focused window to the next monitor (to the right, wrapping round) in the zone with the same number. See Keyboard shortcuts.
- Zones are stored as fractions of a monitor, so monitors with different resolutions, shapes or scaling settings can share the same idea of a layout. Krova converts per monitor.
How a monitor is recognised
When Krova starts, and whenever your monitors change, it compares each connected monitor with the ones it has saved, and scores each pair:
- Hardware identity (the biggest weight). Two monitors with different hardware identities are never treated as the same one.
- Device path, which identifies the connection the system reports for it, usually the port.
- Last size, and then last position, of the monitor.
Each saved monitor is used once, best matches first. A pair needs a minimum score to count: a matching size alone is
too weak, but the same size at the same position is enough for a monitor that reports no identity. On Windows the hardware identity is the
monitor’s PnP id (manufacturer and product code, such as DELA0B7), without a serial number. On macOS
Krova also stores the display’s serial number when the display reports one.
When you reconnect a monitor
Unplugging a monitor does not delete its layouts. Krova keeps its saved profile, and when the same monitor returns, even in a different position or on a different port, its layouts and active layout come back. A monitor Krova has never seen gets a fresh profile with the four templates.
Windows return to their zones (Windows only)
Krova also remembers which window it put into which zone. When a monitor comes back (after docking, undocking or waking the PC), the windows Krova snapped to that monitor go back into their zones, about a second and a half after the display settles. The setting is Restore windows on reconnect under Settings, Windows. It is on by default.
- Memory only. The list is kept in memory, as window handles, zone ids and rectangles. No window titles or program names, and nothing is written to disk. Quit Krova or restart the PC and it is gone.
- Only windows Krova snapped, by dragging or by a shortcut, since Krova started. A window you drag, move or maximize yourself is forgotten and left where you put it.
- Windows 11 does something similar. It has its own setting that restores window positions when you re-dock. If a window is already in its zone, Krova leaves it; if it is not, Krova puts it there.
- A window with a minimum size may end up larger than its zone. Krova remembers the size it really got and does not push it again.
- How well it is tested. It worked end to end with a simulated monitor change and a real Notepad window on a one-monitor PC. A real unplug and replug has not been tested yet, so tell us if it misbehaves for you.
- macOS has no window memory yet. Only the layouts come back there.
Two identical monitors
Two monitors of the same model have the same hardware identity on Windows, so Krova tells them apart by device path (the port), then by position. In practice the layouts follow the port, not the physical screen. If you swap two identical monitors between ports, they can swap layouts. If that happens, open the editor, check each tab, and set the active layouts the way you want them. This follows from the matching rules above and has not been tested with real identical monitors.
Edge snapping and the border between monitors
Edge snapping never triggers on the shared border between two monitors: a side only counts as an edge if no other monitor touches it at the cursor’s position. If two monitors are staggered, only the part of the border where they touch is ignored; the rest still works.
Mixed scaling
On Windows, Krova is designed to work in each monitor’s real pixels, so a 100% monitor next to a 150% one is handled separately, and the size of a zone is never taken from one monitor and applied to another. The app declares per-monitor DPI awareness for this (and so its own window should stay sharp on scaled displays). It has not been verified on a mixed-scale setup yet.