← Back to team overview

kicad-developers team mailing list archive

kicad multi-monitor

 

Currently kicad saves the frame positions as absolutes with no sense
of displays, This is immediately apparent on OSX due to

https://bugs.launchpad.net/kicad/+bug/1578637

I have created the attached patch to fix this bug on osx (but i have
no idea whether it makes the behaviour worse on win/linux so it will
need to be tested and if necessary the code can be #ifdef'd to osx due
to osx not handling monitor removal) that will just check to see if
position is on a connected display and if not then use 0,0 for the
position. However this will not be good enough if display 1 is larger
than display 0 and it was maximized on display 1 for example.

Is it worth creating a baseCfgName + "Display" configuration option
that would allow more flexible resizing of displays without having the
window spanning between displays, At the expense of being on a
different display if the order/positioning of displays is changed.
As part of this instead of FramePos being absolute across all displays
this would be changed to be the position on display #

Is it worth Checking if Size is greater than the
wxDisplay::GetClientArea () of the display that the kicad window is
destined for and if so then reduce the frame size to match. This is
also an issue as on osx if you maximize pcbnew and close it then
reopen it, it will not be maximized and will be bigger than the
available client area on the screen. However this is currently due to
the maximized setting not being used... is there a reason for this?

Simon

Attachment: kicad_display-v1.patch
Description: Binary data


Follow ups