search: copy result to clipboard if requested

Some search providers such as GNOME Characters want to copy search
results to clipboard.  However, on Wayland, clipboards are only
accessible from applications that have a visible surface on display.

This patch allows a search provider to request the shell to copy a
search result to clipboard when 'clipboardText' is included in the meta
of the result.

https://bugzilla.gnome.org/show_bug.cgi?id=775099
This commit is contained in:
Daiki Ueno
2017-05-03 10:28:31 +02:00
parent 73680e2433
commit 0142fae742
2 changed files with 6 additions and 1 deletions

View File

@ -152,6 +152,8 @@ const SearchResultsBase = new Lang.Class({
this._resultDisplays = {};
this._clipboard = St.Clipboard.get_default();
this._cancellable = new Gio.Cancellable();
},
@ -181,6 +183,8 @@ const SearchResultsBase = new Lang.Class({
_activateResult: function(result, id) {
this.provider.activateResult(id, this._terms);
if (result.metaInfo.clipboardText)
this._clipboard.set_text(St.ClipboardType.CLIPBOARD, result.metaInfo.clipboardText);
Main.overview.toggle();
},