io/input: merge event queues

Replace the per-event event queues with a single queue of events, each
marked with the target tag. This change is a prerequisite for lazy event
delivery.

Signed-off-by: Elias Naur <mail@eliasnaur.com>
This commit is contained in:
Elias Naur
2023-11-15 17:25:16 -06:00
parent 3ba5fc557c
commit 651094d692
4 changed files with 141 additions and 141 deletions
+3 -2
View File
@@ -38,11 +38,12 @@ func (q *clipboardQueue) ReadClipboard() bool {
return true
}
func (q *clipboardQueue) Push(e event.Event, events *handlerEvents) {
func (q *clipboardQueue) Push(evts []taggedEvent, e event.Event) []taggedEvent {
for r := range q.receivers {
events.Add(r, e)
evts = append(evts, taggedEvent{tag: r, event: e})
delete(q.receivers, r)
}
return evts
}
func (q *clipboardQueue) ProcessWriteClipboard(req clipboard.WriteCmd) {