You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
User preferences, whitelist management, timer configuration
Content Script
content.js
Page state detection, form change monitoring
Tab Manager
tab-manager.js
Core suspension logic, tab state tracking
Data Flow
Tab Monitoring: The service worker listens to chrome.tabs.onUpdated, chrome.tabs.onActivated, and chrome.idle.onStateChanged events.
Suspension Decision: When a tab exceeds the configured idle timeout, the tab manager evaluates whitelist rules, pinned status, and audio state.
Suspension: The tab's URL is replaced with a lightweight placeholder page that displays the original title and favicon while freeing memory.
Restoration: Clicking the suspended tab or using the popup triggers navigation back to the original URL.
Chrome Extension APIs Used
API
Purpose
chrome.tabs
Tab querying, updating, and event monitoring
chrome.storage.local
Persisting settings and whitelist rules
chrome.alarms
Scheduling periodic suspension checks
chrome.idle
Detecting system idle state
chrome.runtime
Message passing between components
chrome.action
Badge text showing suspended tab count
Build & Development
# Clone the repository
git clone https://github.com/theluckystrike/tab-suspender-chrome-extension.git
cd tab-suspender-chrome-extension
# Load as unpacked extension# 1. Open chrome://extensions# 2. Enable Developer Mode# 3. Click "Load unpacked" and select the project directory# No build step required — plain JavaScript, no bundler