• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. How to set ADE-XL/Maestro to a given position and size

Stats

  • Locked Locked
  • Replies 14
  • Subscribers 143
  • Views 7258
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to set ADE-XL/Maestro to a given position and size

netbug
netbug over 5 years ago

Hi all,

I would like, whenever I open an ade-xl/maestro session, to center the window and resize it to a given width x height.

This is because I am using two displays as one and don't want every time I maximize the window, for it to span across both screens. So it would be handy to customize size and position.

Thanks in advance.

Best regards,

Pedro

  • Cancel
Parents
  • netbug
    netbug over 5 years ago

    skillUserAndrew Beckett

    Good morning,

    I have discovered a linux command (maybe you know it) that gives both the coordinates and dimensions of a given window.

    So, you can do the following:

    1. position and stretch any window the way you want
    2. enter, on a linux terminal, the command "xwininfo"
    3. click the window you would like to get the information from

    You should end up with a result like the one below.

    xwininfo: Please select the window about which you
    would like information by clicking the
    mouse in that window.

    xwininfo: Window id: 0x2400003 "Terminal"

    Absolute upper-left X: 2
    Absolute upper-left Y: 57
    Relative upper-left X: 2
    Relative upper-left Y: 26
    Width: 1917
    Height: 1067
    Depth: 24
    Visual: 0x23
    Visual Class: TrueColor
    Border width: 0
    Class: InputOutput
    Colormap: 0x20 (installed)
    Bit Gravity State: NorthWestGravity
    Window Gravity State: NorthWestGravity
    Backing Store State: NotUseful
    Save Under State: no
    Map State: IsViewable
    Override Redirect State: no
    Corners: +2+57 -1921+57 -1921-54 +2-54
    -geometry 190x52+0+31

    Best regards,

    Pedro

    PS: I am sorry if you already knew this.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • netbug
    netbug over 5 years ago

    skillUserAndrew Beckett

    Good morning,

    I have discovered a linux command (maybe you know it) that gives both the coordinates and dimensions of a given window.

    So, you can do the following:

    1. position and stretch any window the way you want
    2. enter, on a linux terminal, the command "xwininfo"
    3. click the window you would like to get the information from

    You should end up with a result like the one below.

    xwininfo: Please select the window about which you
    would like information by clicking the
    mouse in that window.

    xwininfo: Window id: 0x2400003 "Terminal"

    Absolute upper-left X: 2
    Absolute upper-left Y: 57
    Relative upper-left X: 2
    Relative upper-left Y: 26
    Width: 1917
    Height: 1067
    Depth: 24
    Visual: 0x23
    Visual Class: TrueColor
    Border width: 0
    Class: InputOutput
    Colormap: 0x20 (installed)
    Bit Gravity State: NorthWestGravity
    Window Gravity State: NorthWestGravity
    Backing Store State: NotUseful
    Save Under State: no
    Map State: IsViewable
    Override Redirect State: no
    Corners: +2+57 -1921+57 -1921-54 +2-54
    -geometry 190x52+0+31

    Best regards,

    Pedro

    PS: I am sorry if you already knew this.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to netbug

    Or rather more simply, in Virtuoso you can find this out using:

    hiGetAbsWindowScreenBBox(hiGetCurrentWindow())

    (the numbers are slightly different because it doesn't include all the window manager decorations, I believe). You can move the window using hiResizeWindow(...)

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • netbug
    netbug over 5 years ago in reply to Andrew Beckett

    Thanks Andrew.

    Is it possible to associate those instructions to an event triggered when the maximize button is pressed?
    The goal of all of this is to resize the window for a given size, without maximizing it.

    The reason behind this, is that I am using  VNC Viewer to control multiple monitors, buy they are seen as one monitor. Anytime I pressed the maximize button will span the windows across all monitors.

    So I would like to redefine what the maximize button does to fit one screen only.

    Thanks. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to netbug
    netbug said:
    Is it possible to associate those instructions to an event triggered when the maximize button is pressed?

    No, sorry. There's no trigger mechanism for this. The maximise button is part of the window manager, and not directly accessible by Virtuoso. I did wonder whether hiRegZoomPanProc would help, but maximise doesn't necessarily trigger a redraw, so it doesn't get called.

    Andrew.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • netbug
    netbug over 5 years ago in reply to Andrew Beckett

    Thanks for looking at this. :-)

    Best regards,

    Pedro

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • netbug
    netbug over 5 years ago in reply to Andrew Beckett

    This one is off-topic.

    Have you ever thought of writing a book about SKILL? I would buy it. :-)

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 5 years ago in reply to netbug

    Hi Pedro,

    I've considered it - the main challenge would be finding the time. Writing a book takes quite a bit of time and juggling that with all the other things I do would be a challenge. Many years ago I considered (and started) co-writing a book on another EDA topic, but it was just going to be a huge time sync. Maybe I'll have another think about it (no promises!).

    Anyway, if you've not seen it, maybe in the meantime this video of a webinar I presented last year might be of interest: Writing Good SKILL Code

    Andrew.

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel
  • netbug
    netbug over 5 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thanks for answering. :-)

    I really hope that, someday, you'll find the time to write the book. From my point of view, having a book on this subject would be a very big plus for all community.

    Regarding the video, I haven't seen it yet, but I will.

    Best regards,

    Pedro

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information