Hello,
Would it be possible to create a "Hot Key" to turn overlays on or off?
Agreed, great idea!
Hi Bryan! Sure, we could do this. Any suggestions for a default hotkey for this?
I made a similar request last year. When you have a ton of takeoffs on a page, it's cumbersome to have to expand the page and scroll all the way to the bottom of it to turn on/off the overlay
I'm fine with whatever hotkey you guys decide
👍1Hi Heber, would definitely be open to any key that fits into your future plans.
AGTEK Gradework uses the "O" key to turn their overlays on and off.
👍2Currently "R" is resume takeoff recording on the selected object (different than N for new section/object). Maybe we switch "R" to "Rotate" and "O" to toggle overlay visibility. We previously did "O" for "orientation". Eventually you can customize hotkeys however you want. We just want some good standard defaults.
👍2Whatever you see best for the zz system will be just fine. Really appreciate all you work and efforts!
👍1I got tired of waiting for this 😅 so Claude built a temporary solution for me using Chrome and I binded the hotkey to the Q key.
Create a new bookmark in Chrome, name it Overlay Hotkey or something like that, and copy & paste the code below as the URL for the bookmark.
After you load zztakeoff, just open the bookmark, and now when you press Q it will hide/unhide overlays.
The only annoyance is that whenever you refresh your zztakeoff session disables it, so you'll have to relaunch the bookmark again, but other than that it works solid.
Btw you can actually change it to any hotkey you prefer to use by modifying the part on the first line in the code below that says var KO='q' and changing that q into the keyboard key you'd prefer to use.
javascript:(function(){if(window.__zzOv){document.removeEventListener('keydown',window.__zzOv,true)}var KO='q';function T(t){if(!t)return false;var g=(t.tagName||'').toUpperCase();return g=='INPUT'||g=='TEXTAREA'||g=='SELECT'||t.isContentEditable}function N(f,m){try{if(typeof window[f]=='function')window[f](m)}catch(e){}}function OV(){var p=takeoffPage.pageId;return(drawObjectsSub.getRecords()||[]).filter(function(r){return r.type=='overlay'&&r.pageId==p})}var h=function(e){if(e.ctrlKey||e.metaKey||e.altKey||e.shiftKey)return;if(T(e.target))return;if(typeof takeoffPage=='undefined'||!takeoffPage)return;if((e.key||'').toLowerCase()!=KO)return;e.preventDefault();e.stopPropagation();try{var o=OV();if(!o.length){N('notifySuccess','No overlay on this page');return}var v=o.some(function(x){return !x.hidden});mutations.setDrawObjectVisible({drawObjectId:o.map(function(x){return x._id}),visible:!v});N('notifySuccess',(v?'Overlay off':'Overlay on')+' ('+o.length+')')}catch(err){N('notifyError','Overlay hotkey: '+err.message)}};window.__zzOv=h;document.addEventListener('keydown',h,true);N('notifySuccess','Overlay hotkey armed - press Q')})()
🚀2