Git Product home page Git Product logo

contextsearch's Introduction

Context Search

Firefox add-on to search selected text in a web page using your favorite search engines.

Features

  • Access search engines from the Context Menu
  • Access search engines from an Icons Grid
  • Compatible with search engines using either GET or POST requests
  • Reverse-image search
  • Site search
  • Carry out multiple searches at once using multisearch
  • Manage your search engines from the extension's Options page
  • Many ways to easily add a new search engine
  • Support for search engines using OpenSearch description format
  • Simply add a search engine from mycroftproject.com
  • Use custom favicons for your search engines
  • Use custom prompts to question a selection of AI chatbots
  • Carry out searches from the Omnibox, i.e. url address bar
  • Assign keyboard shortcuts to your search engines
  • Export/Import your list of search engines as a safe backup
  • macOS users can download videos from YouTube or Vimeo by right-clicking on a video thumbnail (requires some manual configuration as detailed below in the 'Advanced features' section)

Permissions

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".

How does it work

  1. Select some text on a webpage
  2. Right click (or Alt-click) on a selection
  3. A context menu (or a grid of icons) appears, displaying the list of search engines chosen in the extension's preferences
  4. Click on the search engine with which you’d like to search for the selected text

The search results will appear as defined in the extension's preferences page.

Managing search engines

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.

How to define a search engine

Please refer to the 4th screenshot above.

  1. The checkbox at the start of a line determines whether the search engine should appear in the context menu.
  2. The next item on the line contains the name of the search engine and is followed by a keyword.
  3. This keyword is used in the url address bar (or omnibox) after the word “cs “ and before the search terms (e.g. to search for linux using the search engine Wikipedia, you would type: ‘cs w linux’, where w is the keyword assigned to Wikipedia).
  4. Next, you can assign a keyboard shortcut to a search engine to perform a quick search. Please note that not all key combinations will work as some may be reserved by the browser or your system.
  5. The second checkbox specifies whether you’d like to use the search engine in a “multi-search”. A “multi-search” is a search performed using multiple search engines and can be selected in the context menu of in the grid of icons.
  6. The checkbox is followed by the search query string. This is the generic url you would use to perform a search. Search query strings may contain the parameters %s or {searchTerms} where you'd like your search terms, i.e. the selected text, to appear.
  7. Click on and drag the move icon to the left of the trash icon to move each search engine up or down in the list.
  8. Click on the trash icon to remove a search engine from the list.

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.

How to add a search engine to your custom list of search engines

  • visit mycroftproject.com and click on the Context Search icon that appears before the textual link of a listed search engine
  • use the page action (i.e. Context Search icon in the url address bar) to add a search engine if the website supports open search
  • add a search engine manually via the Options page (you can test the query string before adding the search engine)
  • to add a search engine that uses a submit form via an HTTP POST request, double click in the website's search text box, then at least enter a search engine name in the dialog box that appears

How to add an AI prompt to your custom list of search engines

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 relevant AI engine. When possible, the prompt will be pasted in the search box and automatically submitted to the AI engine, except for Poe so that users can choose their preferred model. The search results should then appear.

How to add a separator (horizontal line) in the context menu

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.

How to add a custom favicon for a search engine

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.

How to perform an AI search using the command window

Prior to using this feature, ensure that you have logged in to the website(s) oof the AI engine(s) that you'd like to use. 'CTRL+ALT+0' (Windows) or 'CMD+ALT+0' (Mac) now opens a command window from which to carry out an AI search. Start by typing the keyword corresponding to the AI engine that you'd like to use followed by a 'Space' character. The current list of valid keywords is:

  • chatgpt
  • claude
  • google (for Google AI Studio where different models are available)
  • perplexity
  • poe (where you can choose amongst different LL models, namely Llama 3.1)

If the AI engine is recognized, then it will automatically be styled as a tag. You can then continue typing your prompt completed by 'Enter'. The command window should then close and the search results be displayed. Unless you are using poe, then an additional step is required: select the LLM and submit the prompt.

How to perform a search in the omnibox

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.

## Advanced features for macOS users

To download videos from YouTube or Vimeo, Homebrew, yt-dlp, ffmpeg and Python are required. You'll also need to disable video previews from your YouTube settings for video downloads to work.

If you don't already have Homebrew installed, then you can install it by typing the following command in your terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

To install yt-dlp, ffmpeg and Python, type:

brew install yt-dlp ffmpeg python

Two additional files are required: yt_dlp_host.json and yt_dlp_host.py. The files can both be downloaded from the Context Search GitHub repo.

Place the yt_dlp_host.py file in a folder of your chosing where it won't be deleted. Next, place the yt_dlp_host.json file in the folder:

/Library/Application Support/Mozilla/NativeMessagingHosts/

Finally, edit the yt_dlp_host.json file and modify the 'path' property so that it points to the location of the yt_dlp_host.py file:

"path": "/path/to/yt_dlp_host.py",

The videos will be downloaded in the mp4 format using the h.264 or h.265 video codec in 720p at least with the highest quality audio and video, and saved to the '~/Movies/Video Downloads' directory. The format of the video and the destination may be changed by editing the following line in the ytp_dlp_host.py file:

result = subprocess.run(['/usr/local/bin/yt-dlp', '--ffmpeg-location', '/usr/local/bin/ffmpeg', '-f', "(bv*[vcodec~='^((he|a)vc|h26[45])'][height>=720]+ba[ext=m4a]) / (bv*+ba/b)", '-P', '~/Movies/Video Downloads', url], 
capture_output=True, 
text=True, 
check=True)

Formating parameters available for yt-dlp may be found on the yt-dlp GitHub repo

N.B. Please note that the context menu option to download the videos will only work when right-clicking on ==video thumbnails==.

## Advanced features for Windows users

Install Python, ffmpeg and yt-dlp

Follow the instructions here

Download the yt_dlp_host files from the Context Search repository on GitHub

Save the 3 files to a folder of your choosing

Edit the yt_dlp_host.json file

Modify the 'path' property so that it points to the location of the yt_dlp_host.py file:

"path": "/path/to/yt_dlp_host.py",

Edit the yt_dlp_host.bat file

Modify the path so that it points to the location of the yt_dlp_host.py file.

Edit the yt_dlp_host.py file

Replace the line starting with result=subprocess.run() with:

result = subprocess.run(['yt-dlp', '--ffmpeg-location', '/path/to/ffmpeg', '-f', "(bv*[vcodec~='^((he|a)vc|h26[45])'][height>=720]+ba[ext=m4a]) / (bv*+ba/b)", '-P', '/path/to/Video Downloads', url], 
capture_output=True, 
text=True, 
check=True)

where /path/to/ffmpeg is the path to your ffmpeg binary and where /path/to/Video Downloads is the path to the folder where you'd like to save your video downloads.

Add Registry entries

The browser finds the extension based on registry keys which are located in a specific location. One of the two registry entries should be created for the messaging to work:

HKEY_CURRENT_USER\Software\Mozilla\NativeMessagingHosts\yt_dlp_host
HKEY_LOCAL_MACHINE\Software\Mozilla\NativeMessagingHosts\yt_dlp_host

The default value for the key should be the path to the application manifest (yt_dlp_host.json). Instructions to add a new registry key are provided here.

Please refer to the MDN web documentation for instructions to configure native messaging for Windows.

Reminder

  • for YouTube video downloads to work, you need to disable video previews in YouTube settings;
  • nativeMessaging permission needs to be enabled in the extension's permission section.

The main structure of a JSON file containing the search engines

{
  "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.

Special thanks to the following contributors

  • Carl Scheller for implementing the drag & drop feature to move search engines in the Options page
  • Geoffrey De Belie for the Dutch translation
  • Krzysztof Galazka for the Polish translation
  • Sergio Tombesi for the Italian and Spanish translations
  • Fushan Wen for the Chinese translation
  • Sveinn í Felli for the Icelandic translation

Code made by others used in this extension

contextsearch's People

Contributors

cjscheller avatar dependabot[bot] avatar hollma avatar odebroqueville avatar perdolka avatar smile4ever avatar sveinki avatar vnctdj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

contextsearch's Issues

Unable to delete entries with spaces in their names

If I try to delete an entry with a space in its name, like "Stack Exchange" or "Google Maps", the entire list of search engines appears blank. When I refresh it they return, but the one I tried to delete is still there. If I rename it to "StackExchange" or "GoogleMaps" I can then delete it as normal.

NOT AN ISSUE : is this the official/live repo ?

Hi dev !

I was monitoring this repo, and when Githubwas qquired by Microsoft, it seems it went off ... and re-poppped up at Gitlab.

Is this the one to use to report issues & do some feature request/proposal ?

Thanks a lot for this great extension I couldnt live without

GLLM

i cant add a new search engine

firefox win 52.9.0 (32-bit)

i cant add a new search engine, also ... where is the default (factory setting) list ? i want to modify it

Customizations won't save

I love this plugin. It's one of my very favorite plugins. Sadly on my Firefox on macOS after spending time to set up the search engines I want and what order they should come up in on the context menu, all the work I do gets reverted.

Sometimes after setting the preferences I'll close it. Try my settings, and they'll be working, then go back to settings and they'll be reverted.

How do I keep my custom settings?

I'm on Firefox 73. macOS 10.15.2

Maybe you can give me a work around like tell me what file is the config stored in and I can give it read only permissions

It's so frustrating. For me the plugin is unusable with that long list of search choices. Also I have Amazon set up to search all of Amazon not just books, which I use regularly

ContextSearch Reset Bug

I recently purchased a new Acer laptop to replace my old HP, in which ContextSearch worked fine. Now though, it seems to happen daily this week, I have added my three favorite search engines and ALL DISAPPEAR after apparently being reset. I hate having to re-add them on a daily basis. I did uncheck the three boxes under "Reset Options." I'm not yet sure if that was a fix.

Option to renounce of cs qualifier in omnibox

Maintaining two lists of search engines, so the list of search extensions by FF itself and the CS list, for the most part doesn't make a lot of sense, to me at least. It would be amazing to have an option to renounce of the cs qualifier in the omnibox, making it possible to just use the keywords.

Reset button isn't working

This bug occurs when clicking on the reset button in the options page. It actually doesn't complete its task. When, for instance, changing the setting for the options in the context menu to be at the top instead of the bottom (which is the default) and then checking the checkbox to reset the preferences. The settings should have all been reset to their defaults upon clicking on the reset button, but this does not happen. Instead, the following error is encountered: "Promised response from onMessage listener went out of scope". In other words, the response that the options script expects from the background script never gets returned if I understand things correctly.

Reseting with 'force reload default search engines' fails to refresh completely

STEPS TO REPRODUCE:

  1. Open the extension's Options page, i.e. the extension's Preferences page.
  2. Remove any search engine from the Options page by clicking on a trash can.
  3. Click the 'Reset' button under 'Reset options' (from the Options page) after having checked 'Force reload of default search engines list'.

Reloading the Options page should display the complete list of search engines.

Automatic update to 3.70 resets search engine list

After auto-update of addon to 3.70 version in Firefox (v. 66 and v.67beta) I lost all my search engines that were manually added (there was a popup saying that default list was loaded).
Same happened after each restart of the browser.
I noticed that in addon options now there is (checked by default) option to: "Force reload of default search engines list".
Unchecking it solved the problem - but had to use backup of my profile (twice) to restore lost search engines.

Add option to remove Exif viewer

Please delete the exif viewer in this extension. Until now the extension was only about search engines and this was good so. One extension for one scope.
I don't know what an exif viewer has to do with a search engine extension.
If you like to have your own exif viewer in a browser why don't you create another, separate extension with all its related functionalities.
Til now we all were enthusiastic about your extension. I don't know whether we'll continue to be so in future if you integrate various functionalities in one extension.

Clicking on the trash can icon wipes all search engines

I'm sure this is related to other recent reports, but no one seems to have reported it explicitly, so...

Regardless of how many search engines are selected/checkmarked (none, some, or all of them), clicking on the trashcan icon of any one of them wipes them all from the list.

Alphabetical sorting option

It would be nice to have a sorting option for the search engine list to bring the entries in an alphabetical order.

Firefox Sync error

Any idea what's going on here?
I do run my own sync server but I don't think that's the issue.
1586636303718 Sync.Engine.Extension-Storage ERROR Syncing olivier.debroque [email protected]: request failed: Error: HTTP 507 Insufficient Storage: Resource access is forbidden for this user (Maximum bytes per object exceeded " "(31739 > 16384 Bytes.)(resource://services-common/kinto-http-client.js:2771:5) JS Stack

Support for POST request

Hey,

Would it be possible to add support for POST request ?

In my case, I'm not using the extension for public search engine but for internal work-related ones.
And most of them support only POST request.

Thanks for your work

Reseting preferences to default settings sometimes fails on first attempt

STEPS TO REPRODUCE

  1. Open extension's options page
  2. Check the checkbox 'Reset preferences to default settings'
  3. Click on the Reset button

Result: the preferences remain unchanged and are not reset to default settings.

N.B. Often times, clicking on the Reset button a second time resets the preferences to default settings.

Permissions

Hi!

Is really all these permissions necessary?

  • Access your data for all websites
  • Download files and read and modify the browser’s download history
  • Display notifications to you
  • Access browser tabs

I don't mean to accuse you. It's just pretty common for Android developers to forget about to check the necessary permissions and maybe the same happened here.

Thank you!

Auto Save doesn't work

Unselecting Search Engines from the list isn't saved. Auto Save isn't working properly. Why eliminate the Save Preferences button?

Also, exiting Firefox and reloading doesn't save changes.

Offer the option to open search results tab as last tab

I have my Firefox set so that when selecting Firefox "open link in new tab", the new linked tab is placed as the last tab. I recall I changed a setting in about:config to do this.
I would like the search result of Context Search to behave similarly, but the only option seems to be for the new tab to be adjacent and to the right of the current tab.
Would it be possible to have an option to place the results tab as the last tab?
I am using FF Dev edition 72.0b11 (64-bit) with Paxmod.

Many thanks for a great add-on!

Recherche Larousse

Bonjour,

Merci pour votre plugin.
Je rencontre un problème avec les recherches sur le site Larousse; pour une raison que je n'arrive pas à déterminer la recherche n’aboutit pas dans certains cas (indépendamment du site source).
mon setting:
https://www.larousse.fr/dictionnaires/francais/%s/?q=%s

Il semble y avoir un problème avec les accents également.

Merci

Could not establish connection. Receiving end does not exist.

This bug arises when the extension is installed and initialises if the browser already has multiple tabs open. The background script attempts to send a message to the content scripts selection.js (which should be available in each tab). This process often fails with the error: "Could not establish connection. Receiving end does not exist."

Change item order in the context menu

Is it possible to change the order of the item 'Context Search' in the context menu? It would be great if it was under the default item 'Search Google for'.

I had another search add-on in this position and it was very comfortable.

Enabling Firefox option "forget history" disables add-on

Recently I decided to make Firefox forget all history after closing the application, but this - for reasons unknown to me - disabled the Context-Search add-on as well: this looks like a bug to me. Could you please solve it in the next release? Thank you!

Images for new entries

Is it possible to add images for new entries? If so, how can I do that?

Thank you in advance.

The up/down move function are somewhat broken

Trying to move a search engine line in the preferences may move it one line, but more often just move the button sideways so that you have to "hunt" the button along the line. Moving the SE requires a random amount of clicks.

(FF 66.0.1)

bug autostart

The contextSearch is not 'loaded' every time the browser is started. In order to make the contextSearch appear in the context menu, it is needed to go into the addon page of the browser and change a value.

Verified on Firefox 61.0.1 (64 bit)

Unchecking "Save favicons to browser sync storage" removes favicons from context menu

Expected behaviour: the favicons should still show in the context menu as long as the option "Display favicons in context menu list" is checked. The favicons should just stop being stored in storage sync, i.e. storage-sync.sqlite should stop containing the base64 representation of the favicons.

What happens: the favicons disappear from the context menu but their base64 representation still appears in storage-sync.sqlite.

ability to use placeholders when building the search queries

The current simple interface of just appending the text to the url is preventing the use of web search tools that do require more complex queries where the search text cannot just be at the end of of URL.

This can be achieved if we would have placeholder variables like SEARCH_STRING and SEARCH_STRING_URL_ENCODED that would be replaced instead of appending the query string to the url.

Current behavior of adding the suffic should kept if no placeholder is found in the base URL.

One good example is performing searches using LogStash / ElasticSearch. What user is likely to want is to perform a log stash query like message:"ERROR configuring memcached", assuming that his original selection was ERROR configuring memcached string in a web page.

Now the funnty part is how does the final search URL looks for this query:

http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22ERROR%20configuring%20memcached%5C%22

It looks ugly but the point is that our search string appears in the middle of the URL and is url encoded: as ERROR%20configuring%20memcached which is not something unexpected.

Once this feature is implemented a user would only have to configure this base URL:

http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22SEARCH_STRING_URL_ENCODED%5C%22

Please let me know what you think about this feature request as I wold prefer not spending a good number of hours trying to implement and getting the PR refused.

I know that the alternative would be to build a simple redirector service but this would need to be hosted somewhere so is better to have it fixed here.

strict_min_version and listings at addons.mozilla.org

Hi

Listings at https://addons.mozilla.org/addon/contextual-search/versions/ suggest that all versions are compatible with Firefox 42.0 and later.

As far as I can tell, 3.69 is at least partly compatible with Waterfox Classic 2019.10. (I tested only the multi-search feature.)

Historically: Waterfox 56.0 was based on Firefox 56.0.2.

3.71 is not compatible with Waterfox Classic. I assume that it truly requires
Firefox 57.0, as stated at https://addons.mozilla.org/addon/contextual-search/

You might like to update the listings at AMO; and add a strict_min_version to the next release of the extension.

Thanks

How to search for an exact phrase in quotes?

For example when you want to search for an exact phrase, you sometimes need quotes

I want to do facebook.com/search/latest/?q="blue moon"

facebook defaults to just facebook.com/search/latest/?q=blue moon (no quotes)

When you go to Twitter's advanced search for an exact phrase it puts in quotes

Also is their an easier way to add new entries to the JSON besides using a text editor?
I keep having to manually align the formatting in Notepad++

i cant add

(Which search engines would you like to appear in the context menu or grid? ->Add a new search engine button)
i cant add search engine

win10x32 ff ESR 52.9.0 x32
context search ver : 3.72, 3.69

Remove search engine in Options page functionality does not work if you select the remove button but NOT the trash icon.

STEPS TO REPRODUCE:

  1. Navigate to extension Options/preferences page
  2. Remove any search engine by clicking on the trash can icon directly. Search engine should be removed successfully.
  3. Now, remove any search engine by clicking on the button surrounding the trash can icon.
  4. Search engine does not get removed

ezgif com-optimize

In production extension, this causes the search engine list to be removed from the page. Reappears on reload, but the targeted search engine is not deleted.

In master, the search engine list is not removed but the targeted search engine is not deleted.

Order of favicons in the grid of icons is different to the order of search engines in the Options page

This is a great extension. Unfortunately, the recent update changed a few things.

After the "silent" update the menu disappeared (I got it back by removing and re-clicking options). The shift + right click no longer works for access to favorites but the alt + right click does, though with a different ranking of the favorites from what appears under options.

Also, the highlighted search term gets deselected once a single favorite has been clicked. I typically need to check several defined searches for an item, but now have to select the item again for each search, which means a fair bit of clicking.

Restarting the browser (FF) didn't change things...

Customise cs qualifier in Omnibox

I have just discovered this extension which I find very interesting being until now an intensive user of similar functionnalites embedded in search engines such as Qwant or Duckduckgo. Having this functionnality be performed locally makes much sense to me.

However, I'd rather have the shortest qualifier possible - for a Wikipedia search of the word "test", in Qwant/DDG I would enter !w test as opposed to cs w test with Context Search. It is a difference of only 2 signs, but right now (slow adaptability of mine?) it feels quite much to me.

Would there be a way to:

  1. Define a custom Omnibox qualifier for Context Search (change cs by ! in my case)
  2. Make the space sign optional after the qualifier (via a checkbox in the options tab or to remove the space the requirement of the space sign by default)
  3. Forward the search term to Firefox's default search engine (SE) in case there is no matching search engine keyword due to a typo in the SE keyword or the fact that the SE is not added yet to CS preferences (current behavior with for instance cs kwtest test triggers a pop-up error notification and empties the address bar).

These are actually three feature requests/enhancements that I would find valuable individually.

Context Search disappeared from the menu entirely since v3.71

Since today (so I think, v3.71), I've noticed that my search engine list in the context menu is empty. After restarting Firefox (v66.0.2), Context Search disappeared from my context menu entirely. Removing the addon, restarting browser, and installing it again didn't help.

So... help? Thanks in advance.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.