This project aims to provide better integration of web browsers with the Plasma desktop.
What is it?
Plasma Browser Integration is a system 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 and control downloads from Plasma’s notification area
- Add downloaded files to recent documents for quick access throughout the Plasma desktop
- Optionally store the URL a file was downloaded from in its metadata
- Let websites prompt for sharing contents to other applications
- Find browser tabs and search the browser history in KRunner (Alt-Space)
- Make sure the "Browser Tabs" module is enabled in Plasma Search (KRunner) settings
- Needs to be granted permission to acesss the browser history in order to search it
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 Microsoft Edge: https://microsoftedge.microsoft.com/addons/detail/dnnckbejblnejeabhcmhklcaljjpdjeh
- For using the extension from source code:
- For Google Chrome, and most Chromium-based browsers, 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:kde.org on Matrix.
You can browse the source code on KDE's GitLab instance: https://invent.kde.org/plasma/plasma-browser-integration