I’m pleased to announce the immediate availability of Plasma Browser Integration version 1.7 on the Chrome Web Store as well as Firefox Add-Ons page. This release brings a slew of important bug fixes, translation updates, and exciting new features.
Plasma Browser Integration bridges the gap between your browser and the Plasma desktop. It lets you share links, find browser tabs in KRunner, monitor download progress in the notification center, and control music and video playback anytime from within Plasma, or even from your phone using KDE Connect!
Per-domain media controls blacklist
A feature that I know many of you have been waiting for has finally arrived: per-domain media controls blacklist. It lets you disable media controls on specific websites, where they could either be undesirable, such as when there’s lots of animated video contents, or should they interfere with the website’s function. Whenever there’s a player on a page the extension’s tool bar button (“browser action”) will contain a checkbox to toggle media controls on or off for that domain. There is currently no dedicated settings page where you could just input arbitrary domains but this might be added in a future update.
Storing origin URL for downloads
A feature that was present in browsers for a while was the ability to store the URL a file was downloaded from in the file’s metadata. Since this could cause unwanted disclosure of information when the file is then shared to or accessible by others, this got removed in most browsers and tools, such as wget. However, I always found it incredibly useful, so I brought this feature back through the extension’s download management capabilities. Understandably, it is not enabled by default but offered as a choice for those who want it, and when you’re running Plasma 5.17 or newer.
Web Share API
New in this release is the support for Web Share API Level 1. This lets websites trigger a share prompt by calling navigator.share and then letting the user choose where to send that data, e.g. to an email client or a chat application. Since KDE has a Framework called Purpose, for example also used in Spectacle to upload screenshots to an image hosting service, adding this functionality was pretty straightforward. Don’t worry, following the specification, this feature is only available to websites served via https and only in response to explicit user interaction. This feature also requires Plasma 5.17 or newer.
A future release might also add the ability to share any website contents through a generic “Share” context menu entry, so you’re not limited to just the KDE Connect sharing we have right now.
Chromium FreeBSD support
To keep the extension from complaining about failing to connect to the host when synced to other platforms, the extension has a list of supported operating systems. Looking at Chrome’s documentation I chose to include “linux” and “openbsd” thinking that would be enough. However, I was recently made aware that on FreeBSD’s Chromium the value is actually, well, “freebsd”, causing the extension to refuse to function for no actual technical reason. I am not sure if this is an oversight in Chrome’s documentation (Mozilla just copied that over verbatim) or actually a downstream patch to Chromium on FreeBSD’s side. Whatever the case, I added this key to the list now.
It appears there’s also an issue with how the native host is packaged or installed. If you’re a user of Chromium on FreeBSD, give it a try! If it doesn’t work then please check out the building instructions for the host on our wiki and get in touch so we can work out the problem!
Upstream browser work
Last week I also added support for the org.freedesktop.FileManager1 DBus interface to Chromium. This means that clicking on “Show in folder” in your list of downloads will now actually scroll to and highlight the file in question in your file manager. While this technically isn’t a part of this this project, it’s still something with regards to browser use within Plasma and I’m sure you’re happy to see this fixed. From what I gather the change will be released alongside Chromium version 80 early next year.