Item logo image for Whales πŸ‹

Whales πŸ‹

ExtensionTools
Item media 1 (screenshot) for Whales πŸ‹

Overview

A keyboard centric most recently used (MRU) ordered page list plugin with seek and switch functionality inspired by IntelliJ IDEA

# Whales A personal fork of [Quick Tabs](https://github.com/babyman/quick-tabs-chrome-extension) with power-user enhancements for managing large numbers of tabs. ## Fork Changes ### πŸ‹ Domain-Grouped Tab View ("Whales") Toggle the grouping icon (≑) in the popup header (or assign a keyboard shortcut via `chrome://extensions/shortcuts` β†’ "Open Quick Tabs in Domain Groups mode") to see all open tabs **grouped by domain**. Each group shows: - Domain favicon, name, and tab count - Expandable/collapsible tab list - URL paths with domain stripped (already in the header) - Close-all button per group ### 🧠 Semantic Title Extraction SPAs like Google Gemini share a single generic `<title>` across all pages, making tabs impossible to distinguish. This fork injects a content script that extracts the **actual page title** from the DOM: - **Gemini** β€” reads the selected conversation name from the sidebar's `aria-label` - **Other sites** β€” falls back to `document.title` β†’ `<h1>` β†’ `<meta description>` Titles are cached in the background service worker and displayed in the popup. ### πŸ“Έ Visual Thumbnails On tab visit, a compressed JPEG screenshot is captured via `chrome.tabs.captureVisibleTab` and cached in-memory. Thumbnails render alongside each tab item in the popup. ### ⚑ jQuery Removed β€” Vanilla JS Only All jQuery and jQuery Hotkeys dependencies have been completely removed. DOM manipulation, event handling, focus management, and scrolling now use native browser APIs (`querySelector`, `classList`, `scrollIntoView`, etc.), reducing extension size and improving performance. ### πŸš€ Faster Popup Loading - **Parallel init** β€” `Config.init()` and `getPopupData()` run simultaneously via `Promise.all` instead of sequentially - **Favicon pre-caching** β€” favicons are fetched and converted to data URIs in the background service worker, eliminating per-tab network requests when the popup opens - **Batched data transfer** β€” a single `getPopupData()` call returns tabs, closed tabs, bookmarks, semantic titles, and thumbnails in one message instead of three separate `getTabs`/`getClosedTabs`/`getBookmarks` calls ### 🎨 Modernized UI Complete visual overhaul of `styles-popup.css` β€” clean spacing, refined colors, improved hover states, and better layout structure for tab items and domain groups. ### Technical Notes - All caching uses `Map` objects in the background service worker (`faviconCache`, `semanticTitleCache`, `thumbnailCache`) - `compareTabArrays()` preserves injected properties (`semanticTitle`, `thumbnailUrl`) during the tab refresh cycle - Added `"scripting"` permission and `host_permissions` for cross-origin favicon fetching and content script injection - Extension `key` set in manifest for stable extension ID across installs

Details

  • Version
    2024.11.26
  • Updated
    March 7, 2026
  • Offered by
    wtruong
  • Size
    368KiB
  • Languages
    English
  • Developer
    Email
    wtruong@google.com
  • Non-trader
    This developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.

Privacy

Manage extensions and learn how they're being used in your organization

Whales πŸ‹ has disclosed the following information regarding the collection and usage of your data. More detailed information can be found in the developer's privacy policy.

Whales πŸ‹ handles the following:

Web history
User activity
Website content

This developer declares that your data is

  • Not being sold to third parties, outside of the approved use cases
  • Not being used or transferred for purposes that are unrelated to the item's core functionality
  • Not being used or transferred to determine creditworthiness or for lending purposes
Google apps