From 01112c5e8f41f002fdf88b97ae817e6726a77d59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sat, 19 Apr 2025 10:23:16 +0200 Subject: [PATCH] clipboard: use UTF8_STRING. #517 --- server/internal/desktop/clipboard.go | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/server/internal/desktop/clipboard.go b/server/internal/desktop/clipboard.go index 49c2f00f..b67ecff0 100644 --- a/server/internal/desktop/clipboard.go +++ b/server/internal/desktop/clipboard.go @@ -10,14 +10,19 @@ import ( "github.com/m1k1o/neko/server/pkg/xevent" ) +const ( + ClipboardTextPlainTarget = "UTF8_STRING" + ClipboardTextHtmlTarget = "text/html" +) + func (manager *DesktopManagerCtx) ClipboardGetText() (*types.ClipboardText, error) { - text, err := manager.ClipboardGetBinary("STRING") + text, err := manager.ClipboardGetBinary(ClipboardTextPlainTarget) if err != nil { return nil, err } // Rich text must not always be available, can fail silently. - html, _ := manager.ClipboardGetBinary("text/html") + html, _ := manager.ClipboardGetBinary(ClipboardTextHtmlTarget) return &types.ClipboardText{ Text: string(text), @@ -31,10 +36,10 @@ func (manager *DesktopManagerCtx) ClipboardSetText(data types.ClipboardText) err // is set, if available. Otherwise plain text. if data.HTML != "" { - return manager.ClipboardSetBinary("text/html", []byte(data.HTML)) + return manager.ClipboardSetBinary(ClipboardTextHtmlTarget, []byte(data.HTML)) } - return manager.ClipboardSetBinary("STRING", []byte(data.Text)) + return manager.ClipboardSetBinary(ClipboardTextPlainTarget, []byte(data.Text)) } func (manager *DesktopManagerCtx) ClipboardGetBinary(mime string) ([]byte, error) {