This project aims to provide better integration of web browsers with the Plasma desktop.
What is it?
Plasma Browser Integration is an extension for common browsers to closer fit into the Plasma shell. This includes:
- Media Controls
- Lets you control video and audio players in websites using the Media Controller plasmoid, media keys on your keyboard, and even remotely from your phone
- Send links via KDE Connect
- Adds a context menu entry to links enabling you to send them to your phone and other paired devices
- Show downloads in and control them from Plasma’s notification area
- Optionally store address a file was downloaded from in its metadata
- Let websites prompt for sharing contents to other applications
- Find browser tabs in the Run Command (Alt-Space) window
- Make sure the "Browser Tabs" module is enabled in Plasma Search (KRunner) settings
How to install
The extension consists of two parts:
- The browser extension: A regular extension to be installed in your browser:
- For Google Chrome, Chromium, and Vivaldi: https://chrome.google.com/webstore/detail/plasma-integration/cimiefiiaegbelhefglklhhakcgmhkai
- For Mozilla Firefox: https://addons.mozilla.org/en-US/firefox/addon/plasma-integration/
- For using the extension from source code:
- For Google Chrome, Chromium, go to chrome://extensions, enable "Developer Mode", click "load unpacked extension" and point it to the "extension" directory in the folder where you downloaded the source code
- For Mozilla Firefox: go to about:debugging, "This Firefox", "Enable add-on debugging", click "Load Temporary Add-on" and point it to the "manifest.json" file within the "extension" directory in the folder where you downloaded the source code
- The native host: An application that runs on your computer that the browser extension talks to:
- It should be available as a package from your distribution.
- If building from the source into a custom prefix, you will want to build with -DCOPY_MESSAGING_HOST_FILE_HOME to install the files firefox/chrome need
- See Chrome documentation and Firefox documentation for where the native host and its accompanying configuration file must be placed in.
Generally everything is handled on your PC between the browser and your desktop.
- When using Tabs Runner the extension will query the browser for website favicons of all open pages. They are open already anyway, so this normally won't result in any additional network activity.
- When using Enhanced Media Controls the extension will announce a website-provided album cover image URL which may be downloaded and displayed outside the browser, such as by the desktop shell.
- A website might be able to detect that you are using this extension by querying for specific objects added to the website's environment
How to help
For help and suggestions, you'll find us in #plasma on Freenode IRC.
You can browse the source code on KDE's GitLab instance: https://invent.kde.org/plasma/plasma-browser-integration