diff options
Diffstat (limited to 'ext/js')
| -rw-r--r-- | ext/js/display/search-display-controller.js | 9 | 
1 files changed, 4 insertions, 5 deletions
| diff --git a/ext/js/display/search-display-controller.js b/ext/js/display/search-display-controller.js index e63b96e8..90504beb 100644 --- a/ext/js/display/search-display-controller.js +++ b/ext/js/display/search-display-controller.js @@ -66,11 +66,11 @@ export class SearchDisplayController {          /** @type {boolean} */          this._clipboardMonitorEnabled = false;          /** @type {import('clipboard-monitor').ClipboardReaderLike} */ -        const clipboardReader = { +        this.clipboardReaderLike = {              getText: this._display.application.api.clipboardGet.bind(this._display.application.api)          };          /** @type {ClipboardMonitor} */ -        this._clipboardMonitor = new ClipboardMonitor(clipboardReader); +        this._clipboardMonitor = new ClipboardMonitor(this.clipboardReaderLike);          /** @type {import('application').ApiMap} */          this._apiMap = createApiMap([              ['searchDisplayControllerGetMode', this._onMessageGetMode.bind(this)], @@ -268,10 +268,9 @@ export class SearchDisplayController {      }      /** */ -    _onCopy() { +    async _onCopy() {          // Ignore copy from search page -        const selection = window.getSelection(); -        this._clipboardMonitor.setPreviousText(selection !== null ? selection.toString().trim() : ''); +        this._clipboardMonitor.setPreviousText(document.hasFocus() ? await this.clipboardReaderLike.getText(false) : '');      }      /** @type {import('application').ApiHandler<'searchDisplayControllerUpdateSearchQuery'>} */ |