Disable notifications of a Chrome Extension that you don't control - google-chrome-extension

I'm using a Chrome Extension, which I like a lot, but it shows notifications, which I find distracting. I want to disable those notifications. I'm using Linux Mint, and the notifications are shown in the panel (at the bottom of the screen).
I've checked chrome.management API, but haven't found anything related to disabling notifications. Also googling didn't provide any results.
The only way I can think of is installing the same
extension via Developer mode, creating a system script that would be watching the original Chrome Extension folder for changes, and on every change, copy the content to the Developer Mode folder (modified), modify it after each update to remove the notifications permission, and then reload the Developer Mode extension inside Chrome via a shortcut, for example.
I'm wondering if there is any simpler way to accomplish this.

Related

Can my chrome extension open a link in a different profile?

I use two different Chrome profiles (users) on my laptop: one for my work stuff and one for my personal browsing.
Sometimes I click a link from HipChat and it opens it in the personal profile even though it's for work (e.g. login.work.com). (This is because I happen to have been in my personal chrome window most recently.)
I'd like to make a chrome extension I can install in my personal profile to match the URLs of *.work.com and send these over to the work profile window.
I haven't found a way to open a url into a different profile. Anyone know of a way?
(A hacky idea I got from reading https://superuser.com/a/289618 is maybe I could shell out to something along the lines of google-chrome --user-data-dir=$work_profile, but I'd be happier if there was a JS API and I didn't have to ask permission to run programs on the user's computer.)
Dropping an answer in case it's still useful to anyone.
I built my chrome extension CopyTabs (https://chrome.google.com/webstore/detail/copytabs/obkbjogekcjalnaebheboejhfkamadkg) to do something similar. It is able to open links, current tabs, selected tabs or windows, in the current chrome user profile, another chrome user profile or another browser entirely.
I made use of chrome.exe --profile-directory="profileName" to open URLs in a selected profile, but this has a handler that runs on the user's machine, with profileName being the internal name of the chrome profile, for example --profile-directory="Profile1" instead of --profile-directory="My Name As Profile".
So to answer your question, no I don't think there's anyway around a local handler on the user's machine to achieve this functionality.
Though the question is an old one but maybe someone is looking for an answer.
In the new versions of chrome when you right click on a link, in the pop-up menu, there is an option to open the link in another profile. For this to work, ofcourse, there need to be multiple user profiles in Chrome.
Works like a charm!
Hope it helps.
There is no solution for this. It would need a handler, a separate program, that captures the URL before it reaches Chrome, parses your preferences for which URLs go to which profile and then starts the specified Chrome installation with specified profile flags.
However, afaik, such a program does not exist (at least on Windows).
Further, Chrome cannot even select which profile out of many is selected, when Chrome is started from the OS "call URL to be opened" function and NOT started by user-activated clicking on a Chrome application shortcut (with specific profile selection instructions).
Naturally, the latter works 100% wonderfully on Firefox, which has built-in profile selector after the browser has been started, and regardless of which method was used to start Firefox (user click on Firefox icon or OS pipe of "open URL" to Firefox).
So; no solution in Chrome.
I believe that Account Surfer should be able to do the things that you're looking for. Here's an overview from Windows store:
Quickly switch between accounts and browsers with Account Surfer.
Decide what account or browser to use when opening the link.
Read more:
https://dospolov.com/posts/handle-chrome-profiles-with-account-surfer
https://trello.com/b/QOLCmlg3/account-surfer-roadmap
Yes u can:
install extension like this https://chrome.google.com/webstore/detail/open-in-ms-edge/mjoebkkejejidnkfdekpbooceogbapnf
copy address of profile (for example: C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --profile-directory="Profile 2)
Insert it in settings of extension
profit
OR
Use Browser Chooser 2
The app finicky did the trick for me. You can check out this link for installation and configuration for the same.
Finicky example configuration

Chrome extension to change Desktop wallpaper

I'm diving into the world of Chrome Extension development, primarily because there is a very small feature that is missing in Chrome that I miss dearly. The context-menu option to "Set as background/wallpaper" like that found in Firefox. Sounds trivial, but it's convenient.
I have most of the "basic" stuff worked out with the manifest file, am able to install it, even managed to get it to show up as a context menu item.
The problem obviously is that I am wanting to mess with a user's OS-level settings which is extremely difficult because of security issues (fully understand this).
I found an extension that allowed this in older versions of Chrome, and it looked like the developer used some type of .dll and C++ to accomplish this.
I'm not really sure how to make this work.
Since that Chrome doesn't allow these kind of manipulations (such as your PC's settings), you will need to create a native application that will run beside your extension. When the user chooses the image from your extension and selects "use as wallpaper", you will use the native messaging API to send a message to your desktop application, that will set the wallpaper (and do whatever else you can't do within a chrome extension) for you.
You can use the chrome.wallpaper app api to set the wallpaper after using the messaging api to send the image from your extension.

How is the panel displayed when launching Chrome Hangout extension made to be always on top and pinned?

When launching the Chrome Extension Google-Hangouts, a panel initially appears that lists members and a link/button to create a new Hangout.
This panel is initially pinned to the bottom right of the browser window. When pinned like this, it remains always on top as a browser navigation session continues: users can go to different URLs, change tabs, etc. and that panel stays at the bottom right and stays on top of all other windows (or at least on top of the main browser window).
Once it's unpinned, you can drag it around the window, but it no longer stays always on top.
My question is, how was that achieved - what code, or what functions, do i need to call to create that window/panel so that it stays initially pinned and always on top? Is there some binding to some native code that's involved? Some other approach?
If anyone know and can show or explain, i would be hugely grateful as this feature is key to an extension i'm trying to build.
Thanks a lot!
This may not be an answer but to get a clue of what is happening I extracted the crx file to view its content there are a few OS specific files : ace.dll , libace.so and ace. After researching a bit i found this. This is a plugin. Hangouts extension is using ace plugin which is actually running on your desktop(i'm not sure about this). You can check this article
I found this related post: How to build an chrome extension like Google Hangouts
ACE is actually not what makes the window, Chrome has that capability built in, apparently. Even if you don't enable panels, extensions from Google can still make them, provided your OS is capable.

How to use the Tincr Google Chrome extension for live reloading local files

I have tried using the Tincr Chrome Extension now on Windows and Linux (Ubuntu) and it still does not seem to do the Live Reloading it claims to on its website when I am editing the file in an external editor. The Tin.cr website claims:
Any CSS or JavaScript changes you make in any editor reloads in Chrome
without refreshing the whole page
To explain further, I have tried installing this extension as an unpacked extension in Chrome with Developer Mode checked under chrome://chrome/extensions/ as suggested in the Tincr documentation. I have also tried installing this extension directly through the Chrome Web Store. The effect has been the same.
In terms of setting up Tincr, I have tried opening up my file locally without a web server using file://C:/htdocs/file.html which Tincr claims in its documentation it can read automatically without needing any setup, and also I have tried opening up my file via an Apache Web Server on localhost e.g. localhost/file.html and setting up the Project Type in Tincr as Http Web Server as suggested in the documentation, but both ways have been to no avail.
In terms of editing my local file, I have used a number of different external editors, for example, Geany on Ubuntu and Titanium Studio on Windows.
After editing the file in the editor I have left the page I am editing open in my Chrome browser with the Tincr plugin setup and enabled. However, after saving my file in the editor and looking to see if it live reloads in Chrome, nothing happens. The file simply stays the same. Again, to reiterate, this is happening in both Windows and Linux (Ubuntu).
And so my question is this: has anyone successful tried using this extension with an external editor and if so could you please detail the steps to get live reload to work as I'm beginning to think this may be a bug in the extension?
I think I may have an explaination. Having a look at the google groups for Tincr, it appears Tincr does not support html file refresh, and that it can only detect changes in either css or javascript.
source: https://groups.google.com/forum/#!topic/tincr-for-chrome-devtools/VyC0mavLs_A

Show balloon notification with latest change log entries on update

I would like to display the latest top 3-5 entries of my extension change log (TXT file) when it's auto-updated and ideally in a balloon-type event like the one when you have successfully installed an extension. It should show/popup near the wrench-icon area. Like a replacement for #history that GM scripts have.
There are already a few SO questions about how to get extension version like here.
There are also one here to detect if it's an install or update based on version.
It is not desktop notifications I want.
My question is how to make the balloon and populate it with the lines.
An alternative is open my options.html page in a new tab and show the change log entries there somehow. Requires tabs permission in the manifest.json file.
chrome.tabs.create({url:chrome.extension.getURL('options.html')});
Any ideas how to do this?
Or is this impossible to do?
There's neither a mechanism to create a "balloon" notification (that's reserved for native Chrome code), nor to pop out the popup without user interaction. Your automatic notification methods are fairly limited: creating a new tab with a changelog is certainly possible, but not particularly user-friendly (since it will simply open at some arbitrary time, completely remote from the user's intent).
If possible, I'd suggest waiting to notify the user until she interacts in some way with the extension. Clicking on a page-action, for instance, could have some sort of infobar-like note at the top of the popup's UI inviting the user to read more about the update.

Resources