Set Igor Sleep Meter

Average rating
(0 votes)

// Igor Sleep Meter
//
// Creates a slider that can be used to adjust the relative attention level given to Igor
// This procedure only has use under MacOS, not Windows
// Higher values of sleep mean Igor spends less time looking for something to do
// A value of ZERO gives full time to Igor as a foreground application
 
#pragma rtGlobals=1
 
Function SetIgorSleep()
	if (WinType("IgorSleep")==0)
		NewPanel/W=(150,50,217,171)/K=1/N=IgorPower as "IgorSleep"
		Slider Power,pos={7,21},size={47,80},proc=SleepNumber,limits={0,20,1},value= 1
	endif
	SetProcessSleep 1
End
 
Function SleepNumber(sa) : SliderControl
	STRUCT WMSliderAction &sa
 
	switch( sa.eventCode )
		case -1: // kill
			SetProcessSleep 1
			break
		default:
			if( sa.eventCode & 1 ) // value set
				SetProcessSleep sa.curval
			endif
			break
	endswitch
 
	return 0
End

Back to top