mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
import { MainRc } from "./Main.js";
|
|
|
|
export class ClipboardWatcher {
|
|
ClipboardTimer: number;
|
|
LastClipboardText: string;
|
|
PauseMonitoring: boolean;
|
|
|
|
WatchClipboard() {
|
|
navigator.clipboard.readText().then(currentText => {
|
|
this.LastClipboardText = currentText;
|
|
|
|
this.ClipboardTimer = setInterval(() => {
|
|
if (this.PauseMonitoring) {
|
|
return;
|
|
}
|
|
if (!document.hasFocus()) {
|
|
return;
|
|
}
|
|
|
|
navigator.clipboard.readText().then(newText => {
|
|
if (this.LastClipboardText != newText) {
|
|
this.LastClipboardText = newText;
|
|
MainRc.MessageSender.SendClipboardTransfer(newText, false);
|
|
}
|
|
})
|
|
}, 100);
|
|
});
|
|
}
|
|
|
|
SetClipboardText(text: string) {
|
|
this.PauseMonitoring = true;
|
|
this.LastClipboardText = text;
|
|
navigator.clipboard.writeText(text);
|
|
this.PauseMonitoring = false;
|
|
}
|
|
} |