//go:build !darwin && !windows

package platform

import "context"

// noopClipboard is the non-darwin Source: it never emits and silently drops
// writes. Windows/Linux native clipboard backends land when those platforms are
// targeted; until then the rest of the sync wiring compiles and stays inert.
type noopClipboard struct{}

// NewClipboardSource returns an inert Source outside macOS.
func NewClipboardSource() Source { return noopClipboard{} }

func (noopClipboard) Watch(ctx context.Context) <-chan ClipboardEvent {
	ch := make(chan ClipboardEvent)
	go func() {
		<-ctx.Done()
		close(ch)
	}()
	return ch
}

func (noopClipboard) Write(string) error { return nil }
