Force pages to always think the tab is visible/focused; optionally spoofs mouse as always "in page" and blocks exit/enter intent; shows a tiny popup when a visibility or mouse check is detected
forces sites to always think the tab is visible and focused. it blocks or rewrites common ways pages detect tab visibility/focus and can optionally show a tiny popup when those checks happen.
document.visibilityState → "visible"document.hidden → falsewebkitVisibilityState, mozHidden, msHidden, etc.) → coerced to visibledocument.hasFocus() → truevisibilitychange, webkitvisibilitychange, mozvisibilitychange, msvisibilitychangepagehide, pageshow, freeze, resumeblur, focus, focusin, focusout (configurable; global blur/focusout can be swallowed to stop “window blur” probes)onvisibilitychange, onblur, etc.) are wrapped tooall wrapped handlers observe a “document is visible” state.
mousemove (and optional pointermove) with subtle jitter@run-at document-start and in @all-framesrequestAnimationFrame / requestIdleCallback) — off by defaultno network calls, no external code resources. all logic runs locally.
this script may keep some backgrounded tabs busier than normal, since it prevents browsers from pausing work when a tab isn’t visible. this isn't a bug or feature; it is an unintended side-effect of the browser and website thinking that you are still viewing each tab. however, this will NOT impact your browser's memory-saving features (i.e., chromium's Memory Saver).
patchTimers) can wake tabs up more oftenlow-impact (default-ish)
strictMode: falseparanoidMode: falsepatchTimers: falsemouse.fakeIntervalMs: 30000+notify: mostly offvideo keeps playing, stay efficient
focus.blockGlobalBlur: truepageRealmPatch: truemouse.fakeIntervalMs: 30000–45000patchTimers: falsemaximum stickiness (expect more cpu/battery)
strictMode: trueparanoidMode: truepatchTimers: truemouse.alsoPointerMove: true