Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glutton

A Manifest V3 Chrome extension for Arc (and other Chromium browsers) that discards inactive tabs from memory. Fixes the problem of Arc keeping dozens of tabs rendered and eating RAM.

Supported on any OS, on any Chromium-based browser — Arc, Chrome, Edge, Brave, etc. It's a plain Chromium extension with no platform-specific code; written with the macOS Arc use case in mind, but nothing ties it to that platform or browser.

Status

Implemented, not yet published (and doesn't need to be — see below).

Install (dev)

Works the same way in any Chromium-based browser — just swap the address for your browser's extensions page:

Browser Extensions page
Arc arc://extensions
Chrome chrome://extensions
Edge edge://extensions
Brave brave://extensions
  1. Open that page.
  2. Toggle on Developer Mode (top right).
  3. Click Load Unpacked and select this glutton/ folder.
  4. The extension appears in the list; click its Details → Extension options to open the settings page.

No Chrome Web Store account, review, or fee is needed — "Load Unpacked" is a permanent install, not a temporary dev mode. It survives browser restarts and updates as long as this folder stays at the same path. After editing any file, hit the reload icon on the extension's card on the extensions page to pick up the changes.

Settings

  • Idle timeout — minutes of inactivity before a tab becomes eligible for discard.
  • Domain whitelist — tabs on these domains are never discarded.
  • Discard pinned tabs — checkbox, off by default. When enabled, pinned tabs are also eligible for discard on the timer.
  • Free memory now — button that forces an immediate sweep over all tabs, ignoring the idle timeout (whitelist and the pinned checkbox are still respected).

See docs/ARCHITECTURE.md for how it works internally.

Testing

The discard/filter rules and settings parsing live in lib/ as plain functions with no chrome.* calls, so they run in Node without a browser:

npm test

Uses Node's built-in test runner (node --test) — no dependencies to install.

Stack

Manifest V3, chrome.tabs, chrome.alarms, chrome.storage.local. Plain JS, no build step, no dependencies.

About

Discards inactive tabs to free memory in Arc and other Chromium browsers — Manifest V3, no build step, no dependencies.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages