💡 Explanation

The four ways to interact with XTagger

XTagger has four distinct interfaces. Each is designed for a different task. Knowing which to use makes everything faster.


1. The hover trigger — tagging on the fly

Open it: Hover your mouse over any username on X.com. A small gold 🏷️ tag button appears to the right.

What it’s for: Creating or editing tags without leaving the feed. This is the primary way most people tag — you’re reading, you see someone interesting, you tag them in two clicks without losing your place.

What you can do here:

  • Create a new tag with a name, colour, and optional notes
  • Quick-assign a tag you’ve used before (one click from the “Quick assign” section)
  • Edit or delete an existing tag by clicking a pill

What you can’t do here: Search your full tag library, export, or change settings.


2. The popup — your tag library

Open it: Click the 🏷️ icon in your browser toolbar (or the extension button, then XTagger).

What it’s for: Managing and reviewing everything you’ve tagged. This is command central.

What you can do here:

  • Search tagged users by name or tag
  • See all tags at a glance across your entire collection
  • Import a collection someone shared with you
  • Export your tags — all of them, or a filtered named collection
  • Change display settings (pill style, theme, palette size)

What you can’t do here: Create tags on-page (for that, use the hover trigger or context menu).


3. The context menu — right-click tagging

Open it: Right-click anywhere on X.com → Tag this user with XTagger.

What it’s for: Tagging when the hover trigger isn’t convenient — keyboard-driven workflows, unusual page layouts, or profile pages where you want to tag without hovering.

What you can do here: Everything the hover trigger can do — create, quick-assign, edit.

What you can’t do here: Browse your tag library or change settings.


4. The extension management page

Open it: brave://extensions or chrome://extensions → find XTagger.

What it’s for: Installing, updating, reloading after crashes, and assigning a keyboard shortcut.

When you need it:

  • After updating source files, to reload the unpacked extension
  • To set a keyboard shortcut for opening the popup
  • To check for errors in the extension’s background service worker

How data flows

When you save a tag through any of the above interfaces, the flow is:

  1. The content script (running in the X.com page) sends a tags:create message to the background service worker
  2. The background service worker writes the tag to chrome.storage.local via IndexedDB
  3. The background fires a tag:created event back to the content script
  4. The content script finds the user on-screen and injects a coloured pill next to their name

Everything happens locally. No network requests leave your browser for tag data.


Why tags sometimes appear only after a page refresh

XTagger’s MutationObserver watches for new DOM nodes added to the page as X.com loads tweets. Tags are injected as soon as a username is detected. On first load, if tweets render before XTagger’s service worker has fully started, a few usernames may be missed — a hard refresh (Ctrl+Shift+R) re-scans the full page.

This is a startup timing issue, not a data issue. Your tags are always safely stored.

✎ Edit this page on Forgejo