Skip to content

yoneoarai/auto-minimize-tab-groups

Repository files navigation

Auto Minimize Tab Groups

Chrome Extension Firefox Extension Cross Browser Manifest V3 TypeScript Buy Me A Coffee

A cross-browser extension that automatically minimizes (collapses) tab groups after a configurable period of inactivity to help keep your browser organized and reduce visual clutter.

Now supports both Chrome and Firefox!

Features

  • Smart Auto-Minimization: Automatically collapses inactive tab groups after a customizable timeout
  • Active Tab Protection: Groups containing active tabs are never minimized
  • Multi-Window Support: Works seamlessly across multiple browser windows
  • Configurable Timeout: Set custom delay from 1 second to 1 hour via popup interface
  • Cross-Browser Compatible: Works on both Chrome and Firefox with identical functionality

Installation

For End Users

Chrome:

Firefox:

From Source (Development)

  1. Clone the repository

    git clone https://github.com/yoneoarai/auto-minimize-tab-groups.git
    cd auto-minimize-tab-groups
  2. Install dependencies

    npm ci
  3. Build the extension

    # Build for both browsers (recommended)
    npm run build
    
    # Build for specific browser
    npm run build:chrome    # Chrome only
    npm run build:firefox   # Firefox only
    
    # Development builds with source maps
    npm run build:dev       # Both browsers
    npm run build:dev:chrome
    npm run build:dev:firefox
  4. Load in browser

    Chrome:

    • Open chrome://extensions/
    • Enable "Developer mode"
    • Click "Load unpacked" and select dist/chrome/

    Firefox:

    • Open about:debugging
    • Click "This Firefox"
    • Click "Load Temporary Add-on"
    • Select dist/firefox/manifest.json
  5. Package for distribution

    npm run package  # Creates both chrome-extension.zip and firefox-extension.zip
    
    # Or package individually
    npm run package:chrome
    npm run package:firefox

Configuration

Access the extension settings instantly through:

  • Click the extension icon in your Chrome toolbar
  • Modern popup interface opens immediately - no separate tabs needed!

Development

Prerequisites

  • Node.js 16+
  • npm or yarn
  • Chrome browser (for testing)

Build Commands

# Install dependencies
npm ci

# Development build (TypeScript compilation)
npm run build-local

# Production build (webpack with optimization)
npm run build

# Create distribution package
npm run package

# Run tests (when implemented)
npm test

Project Structure

src/
├── background.ts    # Main service worker logic
├── popup.ts         # Popup interface functionality
└── popup.html       # Popup interface UI

dist/               # Build output
manifest.json       # Extension manifest
package.json        # Node.js dependencies
webpack.config.js   # Build configuration
tsconfig.json       # TypeScript configuration

☕ Support This Project

If you find this extension helpful and want to support its development:

Buy Me A Coffee

Your support helps keep this project maintained and enables new features! 🙏

Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Make your changes with proper error handling and validation
  4. Test thoroughly across different scenarios
  5. Commit with clear messages: git commit -m 'Add amazing feature'
  6. Push to your branch: git push origin feature/amazing-feature
  7. Open a Pull Request

📄 License

ISC License - see LICENSE file for details

🔗 Links


Made with ❤️ by Yoneo Arai

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors