Plasma Browser Integration 1.6

I’m pleased to announce the immediate availability of Plasma Browser Integration version 1.6 on the Chrome Web Store as well as Firefox Add-Ons page.

Dark blue space background with stars, a cute dragon wearing a red bandana with a "K" on it, sitting ontop of the Earth which has a blue network cable plugged in whose  lose end is squiggling around the KDE Plasma logo
Konqi surfing the world wide web

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!

What’s new?

Improved media controls

Media controls have seen most improvements this development cycle: They can now handle the “muted” state of a player as well as ask the browser to enter and exit full screen via MPRIS. However, the browser might refuse to enter full screen since from the browser’s point of view it wasn’t requested through explicit user interaction.

The extension can now address multiple players embedded as iframes on the same page properly. Previously, pressing play or pause would cause all players on that page to start or stop playback. Generally, iframe player support has been vastly improved, now able to survive document.write calls and control iframes created purely through scripting. Furthermore, support for controlling Audio objects created from pure JavaScript will now consider Chrome’s audio focus stealing prevention.

Enhanced Media Controls, which adds support for Media Session API, enabling websites to provide detailed track information, album art, and more playback controls, has been updated to changes in the specification and made less invasive. It is enabled by default now. For existing installations you might have to enable this option explicitly in extension settings.

Better error reporting

Error popup: "Failed to connect to native host"
A crossed icon indicates it’s not running and the popup gives some advice about what’s going on

This update moves all status and error reporting to a toolbar icon (“browser action”). Previously, in case the extension failed to start or encountered an error, a notification popup was shown. This was especially bothersome when the extension was automatically synced to a computer where it wasn’t installed or supported. Currently, the popup does not offer any functionality besides error reporting and is disabled when everything’s alright. Future versions may add additional functionality to the popup leaving it enabled the entire time.

Miscellaneous

The threshold for preventing controlling short players has been increased from 5 to 8 seconds. This threshold keeps it from trying to control your “new message” sound but now also avoids controlling short hover video previews on certain sites.

Finally, there has been some work under the hood to make the code more maintainable and extensible. For instance, since the so-called “native host” that acts as a translator between browser and desktop is released by distributions independently of the browser extension, an infrastructure has been added so that the extension can query which features are actually supported on the host side. This allows us to make substantial changes to the extension while at the same time keeping compatibility with older Plasma versions. It also enables us to add new features in the extension that will then just not be offered in case they are not supported by the host.

I'm going to Akademy 2019

2 thoughts on “Plasma Browser Integration 1.6”

  1. Is it possible to use it for web browsers other than Chrome or Firefox? At least those based on these major two e.g., Firefox Focus, Vivaldi etc. (I am mainly interested about Linux & BSD systems with KDE)

    1. Vivaldi is supported. Opera (Chromium-based), too.
      For everything else, give it a try and report back how it goes ;)

Leave a Reply

Your email address will not be published. Required fields are marked *