
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
@jitsi/electron-sdk
Advanced tools
SDK for integrating Jitsi Meet into Electron applications.
Supported Electron versions: >= 11.
This package contains native code for some utilities. You'll need node-gyp to build it and also you'll need to rebuild the package for Electron. For more information see Using Native Node Modules and electron-rebuild.
NOTE: For Linux install libxtst-dev and libpng++-dev (sudo apt-get install libxtst-dev libpng++-dev
). This dependencies are related to RobotJS which is a dependency of this package. You can see the build instructions for RobotJS here
Requirements: The remote control utility requires iframe HTML Element that will load Jitsi Meet.
Enable the remote control:
In the render electron process of the window where Jitsi Meet is displayed:
const {
RemoteControl
} = require("@jitsi/electron-sdk");
// iframe - the Jitsi Meet iframe
const remoteControl = new RemoteControl(iframe);
To disable the remote control:
remoteControl.dispose();
NOTE: dispose
method will be called automatically when the Jitsi Meet iframe unload.
In the main electron process:
const {
RemoteControlMain
} = require("@jitsi/electron-sdk");
// jitsiMeetWindow - The BrowserWindow instance of the window where Jitsi Meet is loaded.
const remoteControl = new RemoteControlMain(mainWindow);
Requirements: The screen sharing utility requires iframe HTML Element that will load Jitsi Meet.
Enable the screen sharing:
In the render electron process of the window where Jitsi Meet is displayed:
const {
setupScreenSharingRender
} = require("@jitsi/electron-sdk");
// api - The Jitsi Meet iframe api object.
setupScreenSharingRender(api);
In the main electron process:
const {
setupScreenSharingMain
} = require("@jitsi/electron-sdk");
// jitsiMeetWindow - The BrowserWindow instance of the window where Jitsi Meet is loaded.
// appName - Application name which will be displayed inside the content sharing tracking window
// i.e. [appName] is sharing your screen.
// osxBundleId - Mac Application bundleId for which screen capturer permissions will be reset if user denied them.
setupScreenSharingMain(mainWindow, appName, osxBundleId);
Displays a small window with the current active speaker video when the main Jitsi Meet window is not focused.
Requirements:
BrowserWindow
instance where Jitsi Meet is displayed should use the Chrome's window.open implementation (set nativeWindowOpen
option of BrowserWindow
's constructor to true
).frameName
argument which will be set to AlwaysOnTop
.Enable the aways on top:
In the main electron process:
const {
setupAlwaysOnTopMain
} = require("@jitsi/electron-sdk");
// jitsiMeetWindow - The BrowserWindow instance
// of the window where Jitsi Meet is loaded.
setupAlwaysOnTopMain(jitsiMeetWindow);
In the render electron process of the window where Jitsi Meet is displayed:
const {
setupAlwaysOnTopRender
} = require("@jitsi/electron-sdk");
const api = new JitsiMeetExternalAPI(...);
const alwaysOnTop = setupAlwaysOnTopRender(api);
alwaysOnTop.on('will-close', handleAlwaysOnTopClose);
setupAlwaysOnTopRender
return an instance of EventEmitter with the following events:
dismissed - emitted when the always on top window is explicitly dismissed via its close button
will-close - emitted right before the always on top window is going to close
Provides a function to query for wifi stats on the host computer. Returns information like interface name, addresses, signal quality, noise (not available on all OS).
WiFi Stats:
In the render electron process of the window where Jitsi Meet is displayed:
const {
setupWiFiStats
} = require("@jitsi/electron-sdk");
const api = new JitsiMeetExternalAPI(...);
setupWiFiStats(api.getIFrame());
Provides a way to query electron for system idle and receive power monitor events.
enable power monitor: In the main electron process:
const {
setupPowerMonitorMain
} = require("@jitsi/electron-sdk");
// jitsiMeetWindow - The BrowserWindow instance
// of the window where Jitsi Meet is loaded.
setupPowerMonitorMain(jitsiMeetWindow);
In the render electron process of the window where Jitsi Meet is displayed:
const {
setupPowerMonitorRender
} = require("@jitsi/electron-sdk");
const api = new JitsiMeetExternalAPI(...);
setupPowerMonitorRender(api);
You'll need to add 'disable-site-isolation-trials' switch because of https://github.com/electron/electron/issues/18214:
app.commandLine.appendSwitch('disable-site-isolation-trials')
For examples of installation and usage checkout the Jitsi Meet Electron project.
FAQs
Utilities for jitsi-meet-electron project
The npm package @jitsi/electron-sdk receives a total of 1,441 weekly downloads. As such, @jitsi/electron-sdk popularity was classified as popular.
We found that @jitsi/electron-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.