A keyboard centric most recently used (MRU) ordered page list plugin with seek and switch functionality inspired by IntelliJ IDEA
Users
3
0 in 30 days
Rating
0.0 / 5
unchanged in 30 days
Ratings
0
0 in 30 days
Store rank
#321K
#255K among extensions
Version
2024.11.26
updated 7 Mar 2026
Users
monthly, 7 months
Latest, 17 Oct 2026:3 usersMove the mouse over the chart for any month
Ratings count
monthly, 7 months
Latest, 17 Oct 2026:0 ratingsMove the mouse over the chart for any month
The Chrome Web Store rounds user counts down to the leading digit, so the user line moves in steps. The ratings count is exact and is the better signal of real adoption.
About Whales π
# 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
Growth
Window
Users
Change
Ratings
Rating
7 days
0
+0.0%
0
0.00
30 days
0
+0.0%
0
0.00
6 months
+3
β
0
0.00
Chrome Web Store search rankings
Where Whales π appears when people search the store, with the 30 day change