I hope I understood correctly. This will require some (simple) Java Script and also one of the latest versions of BTT because the "Measure Area" action has only been added in the latest builds (Standalone “Template Window” Action for Measuring & Copying Dimensions - #4 by Andreas_Hegenberg )
Here is an example preset:
dynamic_screenshot.bttpreset (7.2 KB)
In this preset, pressing cmd+opt+s let's you select an area of your screen.
Pressing cmd+opt+c will capture the last selected area and save it to your downloads folder.
async function saveDimensions() {
let x = await get_number_variable("BTTActionMeasuredX");
let y = await get_number_variable("BTTActionMeasuredY");
let width = await get_number_variable("BTTActionMeasuredWidth");
let height = await get_number_variable("BTTActionMeasuredHeight");
// format in any way you want
let slideFrame = `${x},${y},${width},${height}`;
await set_string_variable({variableName: "SlideFrameToCapture", to: slideFrame})
return slideFrame;
}
async function captureScreenshot() {
let frameToCapture = await get_string_variable("SlideFrameToCapture");
let result = undefined;
result = await trigger_action({json: JSON.stringify({
BTTPredefinedActionType: 169,
BTTScreenshotOptions: `-R;;${frameToCapture};;-t;;png;;~/Downloads/Screenshot_{datetime}_{random}.png;;`,
BTTScreenshotDateFormat: 'yyyy-MM-dd HH.mm.ss'
}), wait_for_reply: true});
}