I have 2 screens.
-
I open Kicad (NOT full-screen, but in a window) and put the window on the second screen. If I disconnect (as in un-plug) that screen then windows goes to single screen mode, and the Kicad window moves to the primary screen, as expected.
-
I open Kicad and put the window on the second screen, then close Kicad. If I open Kicad again, the window appears on the second screen again (ie where it was before I closed it), again, as expected.
-
Moving on from (2), if I disconnect the second screen, leaving the primary screen, (or I RDP to the machine, which gives me a single display), and I then open Kicad, it puts the Kicad window on the non-existent second screen, with no way to move the window!
-
If I reconnect the second screen, the window is there on the second display, and it works as in (2).
-
If I leave the Kicad screen on the primary screen, then with the second screen disconnected, it launches correctly where is was, on the primary screen.
-
the same applies to the schematic capture and PCB layout, if they were previously opened as a window on the second screen, then when they are re-launched, they remain over on the non-existant second screen… so at least the behaviour is completely consistent.
-
If I instead open Kicad, or the schematic capture or the PCB layout in FULL SCREEN on the second screen, then when I re-launch it, it opens full-screen on the primary screen
-
back to (3) or (6): the app was previously in a window on the second screen, and I re-open it with just the primary screen, it will be on the non-existent secondary screen. If I now use the task bar to make it go full-screen, it opens full-screen on the primary display, but if I minimize it again, it goes back the non-existent secondary screen!
(In all the above, Windows correctly sees that the second screen is either there or not there, as expected)
I’m assuming that Kicad is keeping a note of where (on the 2 screens) it needs to be when it is windowed, and how big that window is; but when it is full screen, it either goes goes full-screen on the “last used screen” if it exists, or moves correctly to the primary display if it doesn’t exist!
I had exactly this behaviour a year or two ago with “Essential PIM”, reported it, and it was fixed, so clearly it can be done correctly!
Ok, so you may ask why this matters. Well, if I need to do something to a PCB or schematic, and I’m not local to the 2-screen PC, I will RDP to it (with just a single screen) but clearly this “feature” stops me doing what I want!!