Summary
Show the active profile name (or short-code) as a badge on the toolbar icon via chrome.action.setBadgeText, so users can see which profile is active without opening the popup.
Motivation
Right now the active-profile indicator (#23, closed 2018) only appears inside the popup — the user has to click the icon to see which profile is on. When switching profiles frequently (work/home/dev/etc.), a persistent visual on the toolbar itself removes that step.
Proposed change
In js/engine.js (or wherever the active profile is committed to storage), after applying a profile call:
// Truncate to Chrome's ~4-char practical badge limit; use first 4 chars of profile name.
const label = (activeProfile?.name() || '').slice(0, 4);
chrome.action.setBadgeText({ text: label });
chrome.action.setBadgeBackgroundColor({ color: '#4a90e2' }); // or theme-derived
chrome.action.setTitle({ title: activeProfile?.name() ? `Extensity — ${activeProfile.name()}` : 'Extensity' });
Optionally an options toggle "Show profile badge on toolbar" so users who prefer a clean icon can turn it off.
Additive, not overlapping
Notes
- Badge width is ~4 characters practical on most themes. First-4 of profile name is a reasonable default; users could override per-profile in a future iteration.
- On Windows 11 the toolbar badge is HiDPI-crisp; verified with other extensions in the store.
Thanks for the great work on Extensity!
Summary
Show the active profile name (or short-code) as a badge on the toolbar icon via
chrome.action.setBadgeText, so users can see which profile is active without opening the popup.Motivation
Right now the active-profile indicator (#23, closed 2018) only appears inside the popup — the user has to click the icon to see which profile is on. When switching profiles frequently (work/home/dev/etc.), a persistent visual on the toolbar itself removes that step.
Proposed change
In
js/engine.js(or wherever the active profile is committed to storage), after applying a profile call:Optionally an options toggle "Show profile badge on toolbar" so users who prefer a clean icon can turn it off.
Additive, not overlapping
chrome.actionis core to MV3, already used implicitly via theactionmanifest key.Notes
Thanks for the great work on Extensity!