summaryrefslogtreecommitdiff
path: root/client/ui.go
diff options
context:
space:
mode:
authorcitrons <citrons@mondecitronne.com>2025-06-05 14:56:22 -0500
committercitrons <citrons@mondecitronne.com>2025-06-07 16:02:18 -0500
commitcf78bc0515fa38a6cc570afd7a7e0000bdcda09e (patch)
tree6a72a3ef0f67dde072d0a9010851ee06441041dc /client/ui.go
parent8352123b5c2c479cea31c991eeebf7868559db29 (diff)
clipboard support
Diffstat (limited to 'client/ui.go')
-rw-r--r--client/ui.go23
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) {