From b0983a47c9cb8499ca91327cc8b70e7752e911ad Mon Sep 17 00:00:00 2001 From: Julian Weigt Date: Sun, 26 Apr 2020 22:19:41 +0300 Subject: Use github.com/zyedidia/clipboard for clipboard. Now one can choose as register clipboard and primary. --- ui/room-view.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'ui/room-view.go') diff --git a/ui/room-view.go b/ui/room-view.go index 641e9d1..e9523d9 100644 --- a/ui/room-view.go +++ b/ui/room-view.go @@ -25,7 +25,7 @@ import ( "github.com/kyokomi/emoji" "github.com/mattn/go-runewidth" - "github.com/atotto/clipboard" + "github.com/zyedidia/clipboard" "maunium.net/go/mauview" "maunium.net/go/tcell" @@ -208,7 +208,7 @@ func (view *RoomView) OnSelect(message *messages.UIMessage) { case SelectCopy: msg, ok := message.Renderer.(*messages.TextMessage) if ok { - go clipboard.WriteAll(msg.PlainText()) + go view.CopyToClipboard(msg.PlainText(),view.selectContent) } } view.selecting = false @@ -630,6 +630,21 @@ func (view *RoomView) InputSubmit(text string) { view.SetInputText("") } +func (view *RoomView) CopyToClipboard(text string, register string) { + if (register == "clipboard" || register == "primary") { + err := clipboard.WriteAll(text,register) + if err != nil { + view.AddServiceMessage(fmt.Sprintf("Clipboard unsupported: %v", err)) + view.parent.parent.Render() + return + } + } else { + view.AddServiceMessage(fmt.Sprintf("Clipboard register %v unsupported", register)) + view.parent.parent.Render() + return + } +} + func (view *RoomView) Download(url id.ContentURI, filename string, openFile bool) { path, err := view.parent.matrix.DownloadToDisk(url, filename) if err != nil { -- cgit v1.2.3