I have a gesture on my Trackpad that shall snap my window to a certain position if the BTTLastTriggeredUUID is something and do something else if this is not the case. This works fine.
But actually, I would like this condition to be
BTTLastTriggeredUUID == "7AAB391C-FD6E-4441-9929-10A2F174147C" AND
**CurrentTime** - BTTLastTriggerTime < 5
Can somebody help me with how I can get the current time?
Thank you very much
(async ()=> {
let lastTriggerUUID = await callBTT('get_string_variable', {variable_name:'BTTLastTriggeredUUID'});
let lastTriggerTime = await callBTT('get_number_variable', {variable_name:'BTTLastTriggerTime'});
let secondsSinceJan2001 = ((new Date()) - (new Date('January 1, 2001')).getTime())/1000 - 3600;
let secondsSinceLastTrigger = secondsSinceJan2001 - lastTriggerTime;
if(lastTriggerUUID == "7AAB391C-FD6E-4441-9929-10A2F174147C" &&lastsecondsSinceLastTrigger < 5) {
await callBTT('trigger_named', {trigger_name: 'TheNameOfYourNamedTrigger'});
}
returnToBTT('seconds since last trigger: ' + secondsSinceLastTrigger);
})();
This would trigger a named trigger (configured in the "Automations, Named & Other Triggers" section in BTT). Unfortunately BTTLastTriggerTime is currently using the seconds since 00:00:00 1 January 2001 (Apple default), so some calculations are necessary (see code snippet).
I'll add a better variable "BTTSecondsSinceLastTrigger" to the advanced trigger conditions soon to make this much easier.
Thank you that the variable seconds_since_last_trigger exists. But currently both the > and < operator evaluate on false on it. I assume there is a bug that the variable is considered to be a string instead of a float:
This is the output I get:
BTTLastTriggeredUUID != "C3FC3C06-D313-4016-A971-15D41D981E64" AND BTTLastTriggeredUUID != "7AAB391C-FD6E-4441-9929-10A2F174147C" AND seconds_since_last_trigger <= "3" .