Browser extension that adds configurable keyboard shortcuts to Google search, YouTube, Startpage, Brave Search, Google Scholar, Github, Gitlab, and Amazon.
Install from the Chrome Web Store.
See below for downloading a release and installing it manually (not recommended since you won't get updates automatically).
chrome://extensions
)Install from the Add-ons for Firefox.
Install from Microsoft Edge Add-ons.
NOTE: Safari is supported on a best-effort basis and isn't packaged yet.
Follow these steps.
NOTE:
- Shortcuts for navigation to tabs (images, news, etc.) only work when the tab is visible.
- All shortcuts can be customized to your liking via options
Shortcuts | Action |
---|---|
↓/j | Select next search result |
↑/k | Select previous search result |
//Escape | Focus on input search box |
Enter/Space | Navigate to selected result |
Ctrl + Enter/⌘ + Enter/Ctrl + Space | Open selected result in background tab |
Ctrl + Shift + Enter/⌘ + Shift + Enter/Ctrl + Shift + Space | Open selected result in new window/tab |
←/h | Navigate to previous search result page |
→/l | Navigate to next search result page |
a/s | Navigate to All tab (= default search tab) |
i | Navigate to images tab |
v | Navigate to videos tab |
m | Navigate to maps tab |
n | Navigate to news tab |
Alt + s | Navigate to shopping tab |
b | Navigate to books tab |
Alt + l | Navigate to flights tab |
f | Navigate to financial tab |
z + h | Filter results by past hour |
z + d | Filter results by past 24 hours (day) |
z + w | Filter results by past week |
z + m | Filter results by past month |
z + y | Filter results by past year |
z + z | Turn off filter (show all results) |
z + s | Toggle sort by date/relevance (only when filtering) |
To check the code for linting and formatting errors, run yarn run check
. We
use a Javascript coding style based on
Google's. We use the
following tools to lint the code enforce a consistent style:
yarn run check
because it can't be installed using yarn install
.Please try to write your code in a similar style, and run yarn run check
before sending a pull request.
Starting from 2020-07-19, this project uses Conventional Commits. Please write all you commit messages in this style.
We use yarn package manager for dependency management and gulp for building. To build the extension for development run:
yarn install && yarn build
The extension will be deployed directly to the src
directory.
The easiest way to run the built extension is to use web-ext
which will run a
separate it in a separate browser profile and reload it automatically on changes
to the source files. From the project root directory:
# Replace '--target chromium' with "--target firefox-desktop" for Firefox.
yarn run web-ext run --source-dir src --target chromium \
--start-url 'https://www.google.com/search?q=whatever'
Alternatively, you can load this directory as an unpacked extensions to your browser.
It would be better to deploy for example to build/deploy
and add gulp-watch
to update the deployed files automatically. However when done so the Chrome's
auto-reload extension gets broken and one has to reload the extension manually
on every change. Hence the src
directory is used for the convenience.
To build a bundle consumable by the browser with minified dependencies:
# Replace make-chrome.sh with make-firefox.sh for Firefox
yarn install && yarn build --env production && ./tools/make-chrome.sh
Then, upload the bundle to the browser store from
./build/chrome/package.zip
/./build/firefox/package.zip
.
See a reference commit with minimal changes for amazon.com. Specific steps:
optional_permissions
key in
src/manifest.json
src/options_page.html
(copy an existing one and
modify it)src/options_page.js
for handling the
permission requestsrc/search_engines.js
with the
required properties. See the documentation at the top of the file and use the
other search engines classes in that file as a reference.searchEngines
.Before reporting a bug, please check and answer the following:
In addition, please try to reproduce the bug in a clean browser profile with no
other extensions. The easiest way to do it is to clone the repo and use
web-ext
:
git clone https://github.com/infokiller/web-search-navigator
cd web-search-navigator
yarn install && yarn build
# Replace chromium with firefox-desktop for firefox
yarn run web-ext run --source-dir src --target chromium
This will open a clean browser instance with no other extensions. Note that this browser instance will have the default extension options (including permissions for alternative search engines), so you may need to modify the option.
See PRIVACY_POLICY.md.
This project is not affiliated with Google LLC.
©2023 Google LLC All rights reserved. Google™ search is a trademark of Google LLC.