Skip to content


Repository files navigation


A tab management plugin

Current features

Tabulator overrides your new tab page with its own page. On this page, you can

  • list all tabs in the current window with thumbnails
  • allow filtering said list of tabs by tab title or url
  • allow switching to a tab from said list of tabs
  • allow closing tabs from said list of tabs
  • allow re-ordering tabs via drag and drop (press and hold before dragging)

Future features

Potential future features

  • keyboard navigation of tabs, with enter to switch to currently selected tab and delete/backspace to close
  • some sort of toast after closing a tab, with a quick link to re-open tab (is that even possible?)
  • visual indication of pinned tabs

Chrome permissions

Summary of Chrome permissions needed

  • <all_urls>: needed to capture a screenshot of a tab
  • tabs: needed to access the title and url of all tabs

Development setup

You will need a recent-ish version npm to develop Tabulator. I don't actually know what the minimum required version is.

Clone the project, cd into it, run npm install, and then npm run build.

Next, go to chrome://extensions, hit "load unpacked", and pick the static folder of the repository.

I also highly recommend updating the build script in package.json, replacing production with development. If you do that, you will also need to add the following to your manifest.json:

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",

Just make sure you don't check those changes in.

When you make changes, npm run lint to lint your changes, and npm run build to generate the changed files. For changes to the new tab page, refreshing that is sufficient, but for changes to the background page you'll need to either refresh the plugin, or refresh the background view from "inspect views" in chrome://extensions. Any changes to the manifest require an extension refresh, also from chrome://extensions.


Create a commit where the commit message is in the following format: "Bump to v1.0.1". That commit should update the verison number in package.json and manifest.json. Tag that commit with the version, eg "v1.0.1". Don't forget to push the tag to github. Next, npm run build && npm run package. Submit the generated in the Chrome developer dashboard.


No description, website, or topics provided.







No packages published