Clipboard
The Clipboard Aptitude provides the ability to interact with your clipboard on your system.
API
Example
Permissions
listen function will be deprecated and removed, date is still unknown
Provides the Loop author with the capability to inspect all values that are copied to your clipboard while the listener is active. Clipboard events from the Olive Helps desktop app can be filtered out from the responses.
import { clipboard } from '@oliveai/ldk';
// When true, clipboard events emitted while Olive Helps is focused are picked up by the callback
const listenToOliveHelpsEvents = true;
// Function that is called after listen() detects a clipboard event.
// Provides the text from the event as the first argument of the callback
const callback = (clipboardText) => {
console.log(`Received clipboard text: ${clipboardText}`);
};
clipboard.listen(listenToOliveHelpsEvents, callback);
Provides the Loop author with the capability to inspect all values that are copied to your clipboard while the listener is active. Clipboard events from the Olive Helps desktop app can be filtered out from the responses.
import { clipboard } from '@oliveai/ldk';
// When includeOliveHelpsEvents is true, clipboard events emitted while Olive Helps is focused are picked up by the callback
const options = {
includeOliveHelpsEvents: true
};
// Function that is called after listen() detects a clipboard event.
// Provides the text from the event as the first argument of the callback
const callback = (clipboardText) => {
console.log(`Received clipboard text: ${clipboardText}`);
};
clipboard.listenWithOptions(options, callback);
Get the current contents of the clipboard at the moment when the function is called.
import { clipboard } from '@oliveai/ldk';
// Function that is called after read() is successful
// Provides the text on the clipboard when read() was executed
const callback = (clipboardContents) => {
console.log(`Read from the clipboard: ${clipboardContents}`);
};
clipboard.read().then(callback);
Set the contents of clipboard, overwriting its current value.
import { clipboard } from '@oliveai/ldk';
// Function that is called after write() is successful
const callback = () => {
console.log('Wrote to the keyboard!');
};
clipboard.write('Message to clipboard').then(callback);
Imagine you are trying to display an information Whisper about a physician to their client. One of the ways that you could do this is using the Clipboard Aptitude.
To do this, you would use the
listen()
function. It adds a sensor to the Loop, catching all incoming changes to a user's clipboard. This includes both copy and cut events.In addition to detecting the events, it allows you to provide a callback to respond to any incoming events.
Let's look at an example to better illustrate the point
import { clipboard, whisper } from '@oliveai/ldk';
const listenToOliveHelpsEvents = false;
const listOfImportantWords = ['Foo', 'Bar'];
const clipboardListen = () =>
clipboard.listen(listenToOliveHelpsEvents, (clipboardText) => {
if (listOfImportantWords.includes(clipboardText)) {
whisper.create({
// Information card whisper
});
} else {
whisper.create({
// No results whisper
})
}
});
In this example, if you were to copy the string
Foo
or Bar
to their clipboard, it would trigger the Whisper displaying an information card. Anything else would cause the Loop to show the "no results" Whisper.Another thing to inspect in this code is the value of
listenToOliveHelpsEvents
. Because this value is false
in this code, that means that any clipboard events that occur from the Olive Helps window would not trigger the callback of the listener.To use the Clipboard Aptitude, simply set the following permissions in your
package.json
under the ldk
object.
...
"ldk": {
"permissions": {
"clipboard": {},
...
}
},
...
Last modified 1yr ago