diff options
author | Julian Weigt <julian.weigt@gmail.com> | 2020-04-26 22:19:41 +0300 |
---|---|---|
committer | Julian Weigt <julian.weigt@gmail.com> | 2020-04-26 22:19:41 +0300 |
commit | b0983a47c9cb8499ca91327cc8b70e7752e911ad (patch) | |
tree | 96cfa9bd41a9a18e6ebe658b7c27f61bfc8c42af /ui/room-view.go | |
parent | 0f85fcc3fac833b1635af111e1a7024254fcf3c6 (diff) |
Use github.com/zyedidia/clipboard for clipboard.
Now one can choose as register clipboard and primary.
Diffstat (limited to 'ui/room-view.go')
-rw-r--r-- | ui/room-view.go | 19 |
1 files changed, 17 insertions, 2 deletions
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 { |