diff options
| author | citrons <citrons@mondecitronne.com> | 2025-06-05 14:56:22 -0500 |
|---|---|---|
| committer | citrons <citrons@mondecitronne.com> | 2025-06-07 16:02:18 -0500 |
| commit | cf78bc0515fa38a6cc570afd7a7e0000bdcda09e (patch) | |
| tree | 6a72a3ef0f67dde072d0a9010851ee06441041dc /client/ui.go | |
| parent | 8352123b5c2c479cea31c991eeebf7868559db29 (diff) | |
clipboard support
Diffstat (limited to 'client/ui.go')
| -rw-r--r-- | client/ui.go | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/client/ui.go b/client/ui.go index 51d64e5..a71a106 100644 --- a/client/ui.go +++ b/client/ui.go @@ -1,6 +1,7 @@ package main import ( + "citrons.xyz/talk/client/clipboard" "citrons.xyz/talk/client/window" "citrons.xyz/talk/tui" "citrons.xyz/talk/proto" @@ -68,18 +69,40 @@ func (a *application) onInput(ev tui.Event) { input.SetText("") } } + + case 'c' | keys.Ctrl: + sel := prompt.Input().Selection() + if sel != "" { + clipboard.Get().Copy(sel) + } + case 'v' | keys.Ctrl: + if globalApp.activePaste == nil { + globalApp.activePaste = clipboard.Get().Paste() + } + case 'x' | keys.Ctrl: + sel := prompt.Input().Selection() + if sel != "" { + clipboard.Get().Copy(sel) + prompt.Input().Write("") + } + case keys.Up | keys.Alt: a.channelList.traverse(-1) case keys.Down | keys.Alt: a.channelList.traverse(1) + case 'p' | keys.Ctrl: a.traverseHistory(-1) case 'n' | keys.Ctrl: a.traverseHistory(1) + case '0' | keys.Alt: a.goTo(cmdWindowLocation{}) } +} +func (a *application) onPaste(text string) { + a.getPrompt().Input().Write(text) } func (a *application) logUserUpdate(uid string, update proto.Object) { |
