How to disable Chrome extensions without disabling them across multiple synced devices
May be this is not what you are looking for but you can try this. Open the settings menu within Chrome by clicking on tri-line/wrench icon on right corner. Now open the Advanced sync settings..
Now select the option choose what to sync and then unmark the Extensions option. Now your extension will not sync with other PC's.
You could install the extension you want as a Local extension.
Find the ID of the Extension you want from
chrome://extensions
with developer mode enabled.Navigate to your Google installation directory.
Windows: %localappdata%\Google\Chrome\User Data\Default\Extensions\
{Extension_ID}\
{Version_Number}Save it somewhere.. User Directory maybe?
Return to
chrome://extensions
with developer mode enabled and pressLoad unpacked extension
. And navigate to the new copy of the extension.You should see you have the extension twice now.. Disable the real one.
I say Disable because there is a bad side to this approach and that is you lose automatic updates and you will need to repeat the above steps over and over again every time it updates.
If you are not sure which is the real and your new copy, look under the ID tag for Loaded from: {Path_To_Your_Copy}
Based on the security concern, Chrome doesn't sync any extension which contains an NPAPI plugin.
Source
What is a NPAPI plugin?
Code running in an NPAPI plugin has the full permissions of the current user and is not sandboxed or shielded from malicious input by Google Chrome in any way. You should be especially cautious when processing input from untrusted sources, such as when working with content scripts or XMLHttpRequest.
Source
Theory
If we modify your extension in a way that Chrome recognize the extension using NPAPI, you should be fine.
How to
First, you need a dummy .dll from any NPAPI extension like Screen Capture (by Google). The extension was removed from Google Play store in the meantime because Google decided to drop NPAPI support. But this doesn't matter for our scenario. Fortunately the official Screen Capture wiki still contains the source code. We don't need the complete extension, only the NPAPI .dll
screen_capture.dll
. Download it directlySecond, go to the extensions folder that should not be synced. In your case Gestures for Chrome.
..\profile\Default\Extensions\jpkfjicglakibpenojifdiepckckakgk\1.12.1_0
Modify the manifest.json file and add the NPAPI plugin as described on Stackoverflow or even better on developer.chrome.com
{ "name": "My extension", ... "plugins": [ { "path": "screen_capture.dll" } ], ... }
Modify the background.html file of your extension you don't want to sync, also described on the Stackoverflow answer above.
<embed type="application/x-my-extension" id="pluginId"> <script> var plugin = document.getElementById("pluginId"); var result = plugin.myPluginMethod(); // call a method in your plugin console.log("my plugin returned: " + result); </script>
It may be necessary to re-enable NPAPI support in the future via
chrome://flags/#enable-npapi
From here you are on your own. I don't know enough about extension coding.
Thats why it's a theory :)