Skip to main content

clip_bridge/
lib.rs

1pub mod wayland;
2pub mod x11;
3
4// ============================================================================
5// Shared State
6// ============================================================================
7
8#[derive(Debug, Clone, PartialEq)]
9pub enum ClipboardContent {
10    Text(String),
11    Empty,
12}
13
14#[derive(Debug, Clone, PartialEq, Eq)]
15pub enum ClipboardType {
16    Clipboard,
17    Primary,
18}
19
20#[derive(Debug)]
21pub enum SyncEvent {
22    X11ToWayland {
23        content: ClipboardContent,
24        clipboard_type: ClipboardType,
25    },
26    WaylandToX11 {
27        content: ClipboardContent,
28        clipboard_type: ClipboardType,
29    },
30}
31
32// ============================================================================
33// Configuration
34// ============================================================================
35
36pub const CLIPBOARD_ATOM: &str = "CLIPBOARD";
37pub const PRIMARY_ATOM: &str = "PRIMARY";
38pub const TARGETS_ATOM: &str = "TARGETS";
39pub const MULTIPLE_ATOM: &str = "MULTIPLE";
40pub const INCR_ATOM: &str = "INCR";
41pub const UTF8_STRING_ATOM: &str = "UTF8_STRING";
42pub const TEXT_ATOM: &str = "TEXT";
43pub const STRING_ATOM: &str = "STRING";
44pub const TEXT_PLAIN_UTF8_ATOM: &str = "text/plain;charset=utf-8";
45pub const TEXT_PLAIN_ATOM: &str = "text/plain";