Whales π
ID: djekpphohbpoclnojbifclkfhihbmlho
Supported Languages
Extension Info & Metadata
Publisher Contextual Analysis
- Author
- wtruongView Profile
- Privacy
- Privacy Policy
- MX records exist
- Yes
- Domain exists
- Yes
- Is disposable
- No
- Is role-based
- No
- Mailbox exists
- Yes
You reached today's free scan limit (3/3 unique extensions).
Upgrade for full visibility.
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
Extracted Data
You reached today's free scan limit (3/3 unique extensions).
Upgrade for full visibility.
URLs
View the external URLs this extension communicates with to understand its network activity and data interactions.
You reached today's free scan limit (3/3 unique extensions).
Upgrade for full visibility.
You reached today's free scan limit (3/3 unique extensions).
Upgrade for full visibility.
Version History
You reached today's free scan limit (3/3 unique extensions).
Upgrade for full visibility.
Browse and explore files within this extension package
You reached today's free scan limit (3/3 unique extensions).
Upgrade for full visibility.