npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@interopio/desktop

v6.8.4

Published

JavaScript library for io.Connect Desktop clients.

Downloads

2,645

Readme

io.Connect Desktop JavaScript Library

The @interopio/desktop library enables web apps to participate in io.Connect Desktop and use io.Connect functionalities via a set of APIs.

Features

The io.Connect Desktop library includes the following APIs:

  • App Management API - manage and monitor interop-enabled apps and their instances;
  • App Preferences API - store custom user-specific data and retrieve it when necessary;
  • Intents API - raise requests for other apps to handle predefined actions (Intents), register apps as Intent handlers, provide users programmatically with options for handling raised Intents via the Intents Resolver UI app;
  • Data sharing:
    • Shared Contexts API - create, update and track named data objects shared by all interop-enabled apps;
    • Channels API - globally accessed named shared contexts that allow users to dynamically group apps from an UI, instructing them to work over the same shared data object;
    • Interop API - offer and consume functionality from other interop-enabled apps by registering Interop methods and streams;
    • Pub/Sub API - basic API that allows apps to publish and subscribe for messages on a specific topic;
  • Windows:
    • Window Management API - create and manipulate various types of io.Connect windows;
    • Layouts API - save and restore the arrangement of any set of apps running in io.Connect Desktop;
    • Themes API - control the available io.Connect themes programmatically;
  • Notifications API - raise notifications, handle notification and action clicks via Interop methods, control the Notification Panel and subscribe for notification events;
  • Metrics API - assess the life cycle of a certain process (app performance, business process, employee productivity, and more) by acquiring, recording and monitoring specific data over time;
  • Hotkeys API - register key combinations and receive notifications when a key combination is pressed by the user, regardless of whether the app is on focus or not;
  • Displays API - capture programmatically screenshots of the available monitors, of windows and window groups;
  • Cookies API - enables web apps to manage cookies;

For more information, see the io.Connect Desktop documentation.

Usage

The @interopio/desktop library attaches a factory function called IODesktop() to the global window object. Call the factory function to initialize the library and access the io.Connect functionalities from the returned API object:

import IODesktop from "@interopio/desktop";

const io = await IODesktop();

Optionally, provide a configuration object for the library initialization. The following example demonstrates enabling the Channels API, which is disabled by default, and additionally initializing the io.Connect Workspaces API:

import IODesktop from "@interopio/desktop";
import IOWorkspaces from "@interopio/workspaces-api";

const config = {
    channels: true,
    libraries: [IOWorkspaces]
};

const io = await IODesktop(config);

// Accessing the io.Connect APIs.
const allChannelNames = await io.channels.all();

await io.workspaces.restoreWorkspace("My Workspace");