Restoring Schematic and PCB/Layout windows positions on screen(s)

Hi

KiCad 9.0.6 here

I use a dual-screen setup on Windows 11, with the taskbar at the bottom of the first screen (on the left).

I usually configure the schematic window on the left screen and the PCB/Layout window on the right screen, both in “maximized” mode.

If I close my project and reopen it, then open both files (.kicad_sch and .kicad_pcb), they both open on top of each other in maximized windows on the left screen instead of their previous positions.

That’s the first inconvenience.

But worse still, I can’t drag the PCB window to the right screen because it is maximized. So I have to “restore” its size in order to drag it, and that’s where the second drawback comes in: once “restored,” the PCB window’s title bar is off the screen (probably because of the task bar below) and cannot be moved easily. I have to right-click on the KiCad icon in the taskbar and select “Move” to finally drag it to the right screen, and re-maximize it.

Have I missed a setting somewhere to save (and restore) window positions on the screens to avoid all these actions ?

Isn’t this a windows limitation ? Default screen ie screen 1 - presumably you have your left screen set as default and therefore programs open by default there…

I can’t offer any “elegant” solution but, from the “if this helps” department, I experienced something similar with TeamViewer’s handling of connections to multiple screens.

One workaround was to use AutoHotkey to do the “heavy lifting”.

I found it to be a bit of a PITA to set up but it’s definitely capable of sorting the issue in a couple of seconds once set up correctly.

Hope this helps.

Thanks for the help, but wouldn’t it be more elegant if KiCad placed the windows where they were last closed? There are plenty of programs that do this, although there are exceptions, as you’ve seen with TeamViewer. To be honest, I’m very surprised that a program that’s been around for a while doesn’t do this, and especially that no one has complained about it (politely).

KiCad does do this (At least on my Linux PC), but there can be various settings in your OS which can overrule this.

It works correctly for other software (Notepad++ or Firefox come to mind, but there are others). So, unless there is a specific setting in KiCad I missed, I’m afraid it’s not related to my OS.

To be complete, it correctly saves the position of the project window, but not that of the schematic or PCB windows.

I have a 3 screen setup. I just moved the launcher to screen three and opened the Schematic Editor and then the PCB Editor. The former opened on screen 1, and the latter on screen 2.

This is after the PC was off overnight - so it appears as if they’re working as expected for this end (Win 11 PC).

Thank you for your comment. I just tried again and I think I understand: It works very well when the windows are not maximized, but if both windows (schematic and PCB) are maximized, then they do not return to their positions after closing. At least, that’s what happens on my computer.

That’s odd; I just tried again on mine and as it turns out I had one maximised and one that technically wasn’t, although it was close to full screen anyway - both came up in the same locations as last time.

The only anomaly was when I restored the maximised one as a test - it moved the window slightly higher and thus a small portion of the title bar disappeared.

Sounds like you’re close to getting something that’s workable though; fingers crossed!

Apparently, the PCB window coordinates + sizes are correctly saved in pcbnew.json, but KiCad is unable to position the window correctly when it is reopened, and resets its position to the top left corner of screen 1. I will try to formalize this and fill out a bug report.

"maximized": true,
...
"pos_x": 1912,
"pos_y": -8,
"size_x": 1936,
"size_y": 1096,
...

1 Like