ContextSearch-Native-App
ContextSearch-Native-App copied to clipboard
Native App for use with Context Search
ContextSearch-Native-App
Native App for use with ContextSearch web-ext
This is a simple app written python that launches external applications from ContextSearch web-ext.
This app only runs when called by ContextSearch web-ext. It does not run when the browser is closed or when ContextSearch web-ext is not installed.
Requires Python 3
Be sure to install Python 3 before using the native app
Using With Alternative Browsers and Temporary / Unpacked Extensions
Some browsers provide a different ID for the ContextSearch web-ext extension than what is listed in the browsers.json file. In these cases, you will need to add the alternative IDs to the allowed_extensions or allowed_origins keys and run the installer. In some cases, you may want to create an entirely new browser entry in the browsers.json
Using the Installer ( easy way )
Download and run install.py
python3 install.py
To uninstall
python3 install.py --uninstall
Manual Install ( not-so-easy way )
Windows
Step 1
Download ContextSearch.py and contextsearch_webext.json
Step 2
Move files to desired location ( where mclovin is your user name )
mkdir "C:\Users\mclovin\AppData\Roaming\ContextSearch-webext"
move ContextSearch.py "C:\Users\mclovin\AppData\Roaming\ContextSearch-webext"
move contextsearch_webext.json "C:\Users\mclovin\AppData\Roaming\ContextSearch-webext"
and update your registry
Chrome
REG ADD "HKCU\Software\Google\Chrome\NativeMessagingHosts\contextsearch_webext" /ve /t REG_SZ /d "C:\Users\mclovin\AppData\Roaming\ContextSearch-webext\contextsearch_webext.json" /f
Firefox
REG ADD "HKCU\Software\Mozilla\NativeMessagingHosts\contextsearch_webext" /ve /t REG_SZ /d "C:\Users\mclovin\AppData\Roaming\ContextSearch-webext\contextsearch_webext.json" /f
Step 3
Edit "path" key in contextsearch_webext.json to point to the python script. For example. if you moved ContextSearch.py to "C:\Users\mclovin\AppData\Roaming\ContextSearch-webext" your contextsearch_webext.json would look like:
{
"name": "contextsearch_webext",
"description": "Launch applications from ContextSearch-webext",
"path": "C:\\Users\\mclovin\\AppData\\Roaming\\ContextSearch-webext\\ContextSearch.py",
"type": "stdio",
"allowed_extensions": [ "{5dd73bb9-e728-4d1e-990b-c77d8e03670f}" ]
}
Chrome requires a slightly different manifest.json
{
"name": "contextsearch_webext",
"description": "Launches external application",
"path": "C:\\Users\\mclovin\\AppData\\Roaming\\ContextSearch-webext\\ContextSearch.py",
"type": "stdio",
"allowed_origins": [
"chrome-extension://lnojieghgnojlhmnfpmeidigmjpkppep/",
"chrome-extension://ddippghibegbgpjcaaijbacfhjjeafjh/"
]
}
Windows does not always recognize `ContextSearch.py` as an executable, and may not work unless called from a `.bat` file.
Step 4 ( if necessary )
Create a new file named ContextSearch.bat in the C:\Users\mclovin\AppData\Roaming\ContextSearch-webext folder with the following content
@echo off
C:\Users\MYNAME\AppData\Local\Programs\Python\Python309\python.exe ContextSearch.py
change the Python path to wherever your python.exe is installed
Step 5 ( if necessary )
Change the path in contextsearch_webext.json to "path": "C:\\Users\\mclovin\\AppData\\Roaming\\ContextSearch-webext\\ContextSearch.bat"
Linux / MacOS
Step 1
Download ContextSearch.py and contextsearch_webext.json
Step 2
Make ContextSearch.py executable and move to desired location ( where mclovin is your user name )
mkdir /home/mclovin/bin
chmod +x ContextSearch.py && mv ContextSearch.py /home/mclovin/bin
Step 3
Edit "path" key in contextsearch_webext.json to point to the python script. For example. if you moved ContextSearch.py to /home/mclovin/bin your contextsearch_webext.json would look like:
{
"name": "contextsearch_webext",
"description": "Launch applications from ContextSearch-webext",
"path": "/home/mclovin/bin/ContextSearch.py",
"type": "stdio",
"allowed_extensions": [ "{5dd73bb9-e728-4d1e-990b-c77d8e03670f}" ]
}
Chrome requires a slightly different manifest.json
{
"name": "contextsearch_webext",
"description": "Launches external application",
"path": "/home/mike/bin/ContextSearch.py",
"type": "stdio",
"allowed_origins": [
"chrome-extension://lnojieghgnojlhmnfpmeidigmjpkppep/",
"chrome-extension://ddippghibegbgpjcaaijbacfhjjeafjh/"
]
}
Step 4
Move contextsearch_webext.json to the location required by the browser's NativeMessaging API
Linux
- Firefox:
~/.mozilla/native-messaging-hosts/contextsearch_webext.json
- Google Chrome:
~/.config/google-chrome/NativeMessagingHosts/contextsearch_webext.json
- Chromium:
~/.config/chromium/NativeMessagingHosts/contextsearch_webext.json
Mac OS X
- Firefox:
~/Library/Application Support/Mozilla/NativeMessagingHosts/contextsearch_webext.json
- Google Chrome:
~/Library/Application Support/Google/Chrome/NativeMessagingHosts/contextsearch_webext.json
- Chromium:
~/Library/Application Support/Chromium/NativeMessagingHosts/contextsearch_webext.json