Does anyone know how to code the opening of a layout view to a specific window size and location (on the user's monitor) so the user does not have to resize each view opened from the Library Manager?
Searched for this topic but did not see a related thread.
I used to be able to configure this with Mentor Graphics apps, but do not see how to do it in Cadence....would be very nice to have.
Put this in your ~/.cdsenv (adjust coordinates as you want):
layout leWindowBBox string "((100 100) (800 700))"
Thanks so much Andrew.
I have found the leWindowBBox() environment variable in our documentation now and I am using it.
Can you help with sample code to control the size and location of the LSW and CIW as well?
I have tried "leResizeLSW((0 0) (158 1170))" and "leSetLSWBBox((0 0) (150 2000))" for example, in the CIW, but cannot get the syntax correct. The arguments passed are not being recognized as a list, despite having the same format returned by "leGetLSWBBox()"
I have not located anything that defines or controls the size and placement of the CIW.
You are close, but when a bounding box is returned to you, it is not quite the same format used to specify the same (I will show an example shortly). If a bounding box is returned by a function, then that return value can be used directly as input to another function that accepts a bounding box format in its input. Here is how you would specify a bounding box:
leResizeLSW('((0 0) (158 1170)))
leSetLSWBBox(list(list(0 0) list(150 2000)))
Hopefully the examples will help; the bounding box is a list of lists
structure. The first example uses the single quote to prevent the SKILL
interpreter from evaluating what is in the parentheses, and so this would
return the list of lists structure exactly as written. In the second
example I used the list function to create the list and sub-lists.
In the third example I use the ":" range operator to generate the sub-lists
and the list function to make the top-most list. Do not attempt to use a
combination of '() with the list function or the range operator inside the
parentheses as this will not give what you want since the items inside the
parentheses would not be evaluated (and you want the list or range functions
Thank you Lawrence,
the commands to resize or to set the LSW in-session, from the CIW command input line work.
And I have located the commands to size the CIW at startup using "hiResizeWindow()".
I was hoping to use the Session file to restore the LSW window at startup, but it does not appear to work for the LSW.
Is there some way to set the size and location of the LSW at startup or automatically when a layout view is opened - as opposed to defining a function to, or by typing the leSetLSWBBox() command directly after a layout view is open?
An addendum to the prior post - the session file does NOT save the previous CIW size and location. The session file ONLY restores the Layout window approximate size and location, and the Library manager window size and location.