4.2. System clipboard

The clipboard module provides synchronous access to the operating system’s text clipboard. Text is always exchanged as UTF-8, including supplementary Unicode characters such as emoji.

All public symbols are in the clipboard module. Require the promoted wrapper rather than the internal clipboard_core module:

require clipboard/clipboard

[export]
def main() {
    if (clipboard_set_text("Hello, UTF-8") == ClipboardStatus.ok) {
        var text : string
        if (clipboard_get_text(text) == ClipboardStatus.ok) {
            print("{text}\n")
        }
    }
}

Use clipboard_capabilities before enabling clipboard UI. Unsupported targets, unavailable desktop sessions, transient contention, and invalid UTF-8 are reported through ClipboardStatus; the API does not substitute a process-local clipboard.

4.2.1. Type aliases

bitfield ClipboardCapabilities

bitfield<read_text;write_text;clear;synchronous;read_rich_text;write_rich_text;read_image;write_image> aka ClipboardCapabilities

bitfield ClipboardFormats

bitfield<plain_text;markdown;html;uri_list;image_rgba8> aka ClipboardFormats

4.2.2. Enumerations

ClipboardStatus

enum ClipboardStatus

4.2.3. Structures

ClipboardImage

struct ClipboardImage

ClipboardContent

struct ClipboardContent

ClipboardMemory

struct ClipboardMemory

4.2.4. UTF-8 system clipboard

clipboard_capabilities(): ClipboardCapabilities

def clipboard_capabilities () : ClipboardCapabilities

clipboard_clear(): ClipboardStatus

def clipboard_clear () : ClipboardStatus

clipboard_clone_content(content: ClipboardContent ): ClipboardContent

def clipboard_clone_content (content: ClipboardContent) : ClipboardContent

Arguments:
clipboard_content_has_data(content: ClipboardContent ): bool

def clipboard_content_has_data (content: ClipboardContent) : bool

Arguments:
clipboard_dispose_content(content: ClipboardContent )

def clipboard_dispose_content (var content: ClipboardContent)

Arguments:
clipboard_get_content(content: ClipboardContent ): ClipboardStatus

def clipboard_get_content (var content: ClipboardContent) : ClipboardStatus

Arguments:
clipboard_get_text(text: string& ): ClipboardStatus

def clipboard_get_text (var text: string&) : ClipboardStatus

Arguments:
  • text : string&

clipboard_memory_clear(memory: ClipboardMemory )

def clipboard_memory_clear (var memory: ClipboardMemory)

Arguments:
clipboard_memory_dispose(memory: ClipboardMemory )

def clipboard_memory_dispose (var memory: ClipboardMemory)

Arguments:
clipboard_memory_read(memory: ClipboardMemory; content: ClipboardContent ): ClipboardStatus

def clipboard_memory_read (memory: ClipboardMemory; var content: ClipboardContent) : ClipboardStatus

Arguments:
clipboard_memory_write(memory: ClipboardMemory; content: ClipboardContent ): ClipboardStatus

def clipboard_memory_write (var memory: ClipboardMemory; content: ClipboardContent) : ClipboardStatus

Arguments:
clipboard_set_content(content: ClipboardContent ): ClipboardStatus

def clipboard_set_content (content: ClipboardContent) : ClipboardStatus

Arguments:
clipboard_set_text(text: string ): ClipboardStatus

def clipboard_set_text (text: string) : ClipboardStatus

Arguments:
  • text : string

clipboard_validate_content(content: ClipboardContent ): ClipboardStatus

def clipboard_validate_content (content: ClipboardContent) : ClipboardStatus

Arguments: