• 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. Switching windows - Virtuoso

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 3074
  • 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

Switching windows - Virtuoso

kashvi
kashvi over 15 years ago

 Is there any way to use bindkey for switching from one window to other.

For example,  If I want to select some layer in LSW I have to click on

lsw layer window and after selecting the particular layer again I need

to click on layout window.

 

I need to define a bindkey which toggles between lsw and layout window.

 

Thanks,

-K 

  • Cancel
  • archive
    archive over 15 years ago

     This doesn't answer your question, but might help the actual problem. You can set bindkeys to select layers. I have these defined:

    (hiSetBindKey "Layout" "<Key>0"                 "(leSetEntryLayer (list \"POLY1\" \"drawing\"))")
    (hiSetBindKey "Layout" "<Key>1"                 "(leSetEntryLayer (list \"MET1\"  \"drawing\"))")
    (hiSetBindKey "Layout" "<Key>2"                 "(leSetEntryLayer (list \"MET2\"  \"drawing\"))")
    (hiSetBindKey "Layout" "<Key>3"                 "(leSetEntryLayer (list \"MET3\"  \"drawing\"))")
    (hiSetBindKey "Layout" "<Key>4"                 "(leSetEntryLayer (list \"MET4\"  \"drawing\"))")

    Obviously you'll still need to switch to the lsw to select non-interconnect layers, but the majority of drawing is probably one of the above (or similar). You can also use modifier keys (ctrl, shift) for other layers - I have Shift<Key>1 to select MET1 hole for example.

    Cheers,

    Roger

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • dmay
    dmay over 15 years ago

    There are several things you can do. First of all, you can configure your Unix window manager (KDE?, Gnome?) so that you don't need to "click" to make windows active. A setting like "Focus follows mouse" is nice to have in Cadence. You can choose whether or not the window automatically raises to the top (I prefer that it doesn't), but I don't have to click in the window to make it active.

    Second, you can set a bindkey to raise the LSW in case it is not visible:

    hiSetBindKey("Layout" "<Key>space" "leRaiseLSW()")

    Third, you can use Cadence's "Layer Tap" feature on key t by default. If it is not on key t, then you can set it with:

    hiSetBindKey("Layout" "<Key>t"        "leHiLayerTap()")

    The layerTap command allows you to click on a shape in the layout to make it your active layer.

    Fourth, do like Roger suggested in his post, Define bindkeys for your commonly used layers.

    Derek

     

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • skillUser
    skillUser over 15 years ago
    Hi,

    Along the lines of what Derek suggested, you could define a bindkey, for example "j" since that is not bound to anything by default, so that the LSW is raised if it is iconified, otherwise the current window is raised (hopefully this would be the layout window that you have been working in).  Define the same bindkey for the CIW as for the Layout, so if the bindkey is used in either it will work to lift the LSW or Layout window to the top of the window stack.  If you have a click-to-focus mechanism, that can be annoying - for me the window that the mouse is over is the one that will accept the bindkey, so I can have, for example, the CIW partially buried but the 'j' bindkey would still work without me having to click in the CIW first. So YMMV for a click-to-focus mechanism.  Also, I could not find a good way to find out if the LSW is buried or partially buried; it might be a kluge to try to toggle whichever is raised next.  Also, the LSW does not allow the user to specify bindkeys.

    
    procedure(CCSraise() 
    if(leIsLSWIconified() then
    leRaiseLSW()
    else
    hiRaiseWindow(hiGetCurrentWindow())
    )
    )
    hiSetBindKey("Command Interpreter" "j" "CCSraise()")
    hiSetBindKey("Layout" "j" "CCSraise()")


    Finally, you may be able to customize the window manager that you are using to make life easier?  In FVWM I can simply click right on a window border to force it to the top (or the bottom if it was already at the top) of the window display stack, regardless of what application is in the window.

    Hope this helps.

    Regards,

    Lawrence.

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • kashvi
    kashvi over 15 years ago

     Thanks Lawrence..this is what I was looking..

     

    Regards,

    -K 

    • 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