Firefox add-on to search selected text in a web page using your favorite search engines.
Notifications, Downloads, History and Bookmarks are now optional permissions. They are disabled by default. If you'd like to show notifications and/or save your list of search engines to your local disk, or search your history or bookmarks from the Omnibox, then open the extensions manager, select Context Search and, under the Permissions tab, enable the appropriate permissions.
To open search results in a new private window, in the extensions manager, allow Context Search to "Run in Private Windows".
The search results will appear as defined in the extension's preferences page.
To manage your favorite search engines, you can go to the preferences page of Context Search. You can reach this page by opening the extensions page (Addon Manager) where all your add-ons are listed and then clicking on the "Preferences" button.
Please refer to the 4th screenshot above.
The 'Reset' button will re-load the default list of search engines and their associated favicons.
You can also import a JSON file containing your own list of search engines. It is strongly recommended to export your customized list of search engines as a backup in case anything goes wrong.
Prior to using an AI provider, ensure that you have logged in to their website. At the bottom of the Options page, select the tab to 'Add a new AI prompt'. Chose the AI provider you'd like to use, add a name for your prompt and enter your prompt by inserting %s where you'd like your text selection to appear (e.g. 'Comprehensively explain the following for a 10 year old: %s').
In most cases, after selecting text on a web page and selecting your prompt in the context menu, a new tab will open with the prompt pasted in the search box. However, pressing the ENTER key will not work! You have to place the cursor in the search box, then press the SPACE bar and finally press the ENTER key. The search results should then appear.
At any time, you may press CMD + V to paste you prompt if it doesn't appear.
At the bottom of the Options page, simply click on the "Add separator" button. This will add a separator to the bottom of your search engines list. Then, use the arrow handle to the right of the horizontal line to move the separator to the position where you would like it to be. The separator should appear in the context menu.
From the Options page, click on the favicon right before the search engine's name. A popup window will open displaying the current favicon and the associated base64 string. Drag & drop a new image onto the existing one, then click on the 'Save' button for your changes to take effect. The popup will automatically close after you click on the 'Save' button.
In the omnibox (or url address bar), type 'cs ' (without the quotes, and where cs stands for Context Search) followed by the keyword you have chosen for your seaarch engine in the extension's preferences, e.g. 'w ' (again without quotes) for Wikipedia, followed by your search term(s). The dot ('.'), the exclamation mark ('!'), '!h' or 'history' and '!b' or 'bookmarks' are reserved keywords. If the same keyword is used for different search engines, then a multi-search will be performed.
Here are some examples:
cs w atom will search for the word 'atom' in Wikipedia.
cs . will open the Options page
cs ! cold fusion will perform a multi-search for the search terms 'cold fusion'
cs !h or cs history will display all your history
cs !b Mozilla or cs bookmarks Mozilla will display all bookmarks that include the term Mozilla
cs !b recent or cs bookmarks recent will display your 10 most recent bookmarks
Please note that permissions for History and/or Bookmarks need to be anabled for the latter features to work.
{
"id": {
"index": 0,
"name": "search engine's name",
"keyword": "keyword to be used in an omnibox search",
"keyboardShortcut": "keyboard shortcut assigned to the search engine",
"multitab": "takes the value true or false depending on whether this search engine should be included in a multi-search or not",
"url": "search engine query string (without the search terms)",
"show": "takes the value true if the search engine is to be shown in the context menu or false if not",
"base64": "a base 64 string representation of the search engine's favicon"
}
}
Here is an example of a JSON file containing 3 search engines:
{
"bing": {
"index": 0,
"name": "Bing",
"keyword": "b",
"keyboardShortcut": "",
"multitab": false,
"url": "https://www.bing.com/search?q=",
"show": true,
"base64": ""
},
"google": {
"index": 1,
"name": "Google",
"keyword": "g",
"keyboardShortcut": "",
"multitab": false,
"url": "https://www.google.com/search?q=",
"show": true,
"base64": ""
},
"yahoo": {
"index": 2,
"name": "Yahoo!",
"keyword": "y",
"keyboardShortcut": "",
"multitab": false,
"url": "https://search.yahoo.com/search?p=",
"show": true,
"base64": ""
}
}
It is not required to provide the base 64 string representation of any search engine's favicon. This string will automatically be loaded for you.