Raxol.Terminal.Clipboard.Sync (Raxol v0.5.0)

View Source

Handles clipboard synchronization between different terminal instances.

Summary

Functions

Adds a subscriber to receive clipboard updates.

Broadcasts clipboard content to all subscribers.

Creates a new clipboard sync instance.

Removes a subscriber from receiving clipboard updates.

Types

t()

@type t() :: %Raxol.Terminal.Clipboard.Sync{subscribers: [pid()]}

Functions

add_subscriber(sync, pid)

@spec add_subscriber(t(), pid()) :: {:ok, t()}

Adds a subscriber to receive clipboard updates.

broadcast(sync, content, format)

@spec broadcast(t(), String.t(), String.t()) :: {:ok, t()}

Broadcasts clipboard content to all subscribers.

new()

@spec new() :: t()

Creates a new clipboard sync instance.

remove_subscriber(sync, pid)

@spec remove_subscriber(t(), pid()) :: {:ok, t()}

Removes a subscriber from receiving clipboard updates.