We have written a layer management ULP to alleviate some of the issues with the fairly spartan existing layer display/settings dialog. As part of its functioning, due to the limitations of ULPs, it sometimes has to exit to run a script, then re-open again.
Unfortunately, upon re-opening, the ULP pops back up in the center of the screen - which means it's not as seamless a workflow at times as we would like.
It may be that v6 will offer a better layer manager - but even if it does, I think it would be good if an ULP could:
1. Specify where the dialog should open, e.g as // dlgDialog(string title, int x, int y) // where x and y are optional to retain backward compatibility as well as // dlgSetPos(int x, int y) // or as separate x, y access.
2. Retrieve its current location, e.g. as // dlgGetPos(int &array[]). // or as separate x, y access.
That way the dialog location can be (temporarily) stored on close and when it's time to open it again, be made to re-open in that location.
Alternatively, Eagle could track ULP-based dialog locations internally, but that seems less flexible.
Thanks for your consideration!