Plasma/Browser Integration: Difference between revisions

From KDE Community Wiki
(→‎Privacy: Clarify)
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
This project aims to provide better integration of web browsers with the Plasma desktop.
This project aims to provide better integration of web browsers with the Plasma desktop.
<!-- TODO add feature overview with screenshots -->
<!-- TODO add feature overview with screenshots -->
= 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 [[KDEConnect|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
<!--** Add downloaded files to recent documents for quick access-->
** 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 =
= How to install =
Line 9: Line 23:
** For Google Chrome, Chromium, and Vivaldi: https://chrome.google.com/webstore/detail/plasma-integration/cimiefiiaegbelhefglklhhakcgmhkai
** 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 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:
* The '''native host''': An application that runs on your computer that the browser extension talks to:
** It should be available as package from your distribution.
** It should be available as a package from your distribution.
** If building from source into a custom prefix, you will want to build with -DCOPY_MESSAGING_HOST_FILE_HOME to install the files firefox/chrome need
** 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 [https://developer.chrome.com/apps/nativeMessaging#native-messaging-host-location Chrome documentation] and [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Native_messaging Firefox documentation] for where the native host and its accompanying configuration file must be placed in.
 
= Privacy=
 
Generally everything is handled on your PC between the browser and your desktop.
 
Note, however:
 
* 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
 
KDE's [https://kde.org/privacypolicy-apps Privacy Policy] applies.


= How to help =
= How to help =
Line 20: Line 50:
For help and suggestions, you'll find us in #plasma on Freenode IRC.
For help and suggestions, you'll find us in #plasma on Freenode IRC.


You can also [https://cgit.kde.org/plasma-browser-integration.git browse the source code] and clone it from git://anongit.kde.org/plasma-browser-integration.git
You can browse the source code on KDE's GitLab instance: https://invent.kde.org/plasma/plasma-browser-integration  


<!-- TODO add some paragraph on how to load the extension from file system for testing local changes -->
<!-- TODO add some paragraph on how to load the extension from file system for testing local changes -->
<!-- TODO add Troubleshooting section -->
<!-- TODO add Troubleshooting section -->

Revision as of 07:10, 22 May 2020

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 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.

Privacy

Generally everything is handled on your PC between the browser and your desktop.

Note, however:

  • 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

KDE's Privacy Policy applies.

How to help

If you find an issue, please check the list of open bugs and then file a bug report.

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