Skip to content

lkuechler/omnibox-browser-extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Omnibox Browser Extension

A browser extension that adds a command palette to the browser.

Why

We all know the feeling: After a lengthy research session we've got a million tabs open relating to various aspects of our current task. And while it might be interesting to stare at this visual representation of our train of thought, finding anything specific in the mess left behind is often a nightmare.

Different browsers have different solutions for this. So do most IDEs.

This extensions aims to provide a unified, accessible control scheme for all browser, modelled after common shortcuts used in popular IDEs.

Feature set

Search your tabs

The default behaviour of omnibox is to fuzzy search through all you open tabs for matches to your query. This does include tabs that are hidden through extensions such as Simple Tab Groups but won't show any tabs in incognito windows.

Execute commands

This includes closing tabs (other tabs, tabs to the left or right, etc.) as well as most other features normally offered by right-clicking a tab in your browser.

Audio search

This modifier allows you to find any tabs that are currently playing audio.

Bookmark search

This modifier allows you to search through your bookmarks and bookmark folders for specific pages.

History search

This modifier allows you to search through your browsing history for specific pages.

Installation

The easiest way to install the extension is through the extension stores of your browser

Settings

Alt + O

This opens the main omnibox dialog.

Alt + Shift + O

This opens the main omnibox dialog but already prefilled for entering commands.

FAQ

1. Can I change the keyboard shortcuts?

Yes! Firefox

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3

Development

To contribute to the development of this extension, please follow these steps:

  1. Clone the repository
  2. Install the dependencies npm install
  3. To debug the extension in Firefox, run npm run start or npm run start:chrome for Chrome.

Distribution

To create a production build of the extension, run the following commands:

npm run build
npm run bundle

This will generate a zip file containing the extension in the web-ext-artifacts folder, which can be loaded into your browser.

Used Libraries

  • web-ext - Command line tool to help build, run, and test web extensions
  • fuzzysort - Used for fuzzy searching through tabs and commands
  • DOMPurify - Used to sanitize tab titles before rendering
  • Vite - Build tool used for bundling the extension
  • Prettier - Code formatter used to maintain consistent code style

Icon credits

The following icons are used from the heroicons outline set under MIT License:

  • hidden
  • mute
  • unmute