Jump to content
vipin

Auto closing hm session

Recommended Posts

I want to terminate the hm session if it is idle for more than one hour.

Is there any option available inside the license file? Or else what is the alternative?

Share this post


Link to post
Share on other sites

Hi

What do you mean "idle"?

Suppose that you want to close if over 1h there is no user interaction on hm session:

Try a proc like this

proc ::p_MonitorHmSession {TriggerTime TriggerScript} {

         if {[focus] ne ""} {

                 dict set ::p_MonitorHmSession -lastused [clock seconds]

          } else {

                 if {[clock seconds]-[dict get $::p_MonitorHmSession -lastused]>$TriggerTime*3600} {

                          uplevel #0 $TriggerScript

                          dict set ::p_MonitorHmSession -lastused [clock seconds]

                 }

          }

          after cancel [list ::p_MonitorHmSession $TriggerTime $TriggerScript]

          after 5000 [list ::p_MonitorHmSession $TriggerTime $TriggerScript]

}

now start the monitor:

::p_MonitorHmSession 1 hm_exit; #after 1hour if do not focus on hm window, it will exit

llyle likes this

Share this post


Link to post
Share on other sites

Hi,

 

Thanks a lot for the script, this is what i exactly looking for.

I have added the command to save the file in some location before closing.

tinh likes this

Share this post


Link to post
Share on other sites

Hi @tinh,

 

If I open two or more hypermesh windows(with script in hmcustom.tcl), the script is closing the window which is on top(please see image below).

After that it is not closing other windows. I am not keeping any focus on the windows.

 

Script is working fine if there is only 1 hm session present. But i need to close all the sessions which are not in use. Is there any solution for this?

 

image.thumb.png.cef8697985abf48dd64cb81c5fa46a2d.png

 

 

 

Share this post


Link to post
Share on other sites

Hi Vipin

You have to run the script on all hm sessions

put the script in a file named hmcustom.tcl in folder c:\users\your_account

hm will run it when opening

vipin likes this

Share this post


Link to post
Share on other sites

Hi tinh,

 

Yes I did the same, but after the first window is closed it is not working on other windows. If all windows are minimized it will work.

Only problem is if i keep windows like the above image it is not working.

Share this post


Link to post
Share on other sites

I see, it's because when one session was closed, window focus in next one so it seems to get "interaction" with user.

minimizing all can avoid this, or open other window on top (eg. notepad)

 

or modify script that before exiting then tells other sessions not to get focus

Share this post


Link to post
Share on other sites

Hi

save the codes in any file, example C:\mystartup.tcl

 

right click on HV icon and select Properties

in Target field add arguments:

-tcl C:\mystartup.tcl

 

 

Share this post


Link to post
Share on other sites

Hi,

 

For HV 14 ,  I found another way where I can place the code in "hwstartup.tcl". This file is available in ".\..\HW14.0\hw\tcl" directory. 

"hwstartup.tcl" gets executed whenever HV gets launched.

 

Unfortunately, this tcl file is not available for HV 13 n below.  Any idea what other files I can try with?

 

Thanks,

Roshan

Share this post


Link to post
Share on other sites

×
×
  • Create New...