diff options
author | Christian Duerr <chrisduerr@users.noreply.github.com> | 2019-06-09 11:46:31 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-09 11:46:31 +0000 |
commit | bc2c34eb7f9eea251822d94ea534a1d2de03c5a1 (patch) | |
tree | 8aebbcb1f31dac6f9439f71e784605ca1133ea35 /copypasta/src/lib.rs | |
parent | 4cd55acd7820a7358f9175c106c91e0945fb15b2 (diff) | |
download | alacritty-bc2c34eb7f9eea251822d94ea534a1d2de03c5a1.tar.gz alacritty-bc2c34eb7f9eea251822d94ea534a1d2de03c5a1.zip |
Add wayland primary selection clipboard support
Diffstat (limited to 'copypasta/src/lib.rs')
-rw-r--r-- | copypasta/src/lib.rs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/copypasta/src/lib.rs b/copypasta/src/lib.rs new file mode 100644 index 00000000..64b44219 --- /dev/null +++ b/copypasta/src/lib.rs @@ -0,0 +1,69 @@ +// Copyright 2016 Avraham Weinstock +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#![crate_name = "copypasta"] +#![crate_type = "lib"] +#![crate_type = "dylib"] +#![crate_type = "rlib"] + +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +extern crate smithay_clipboard; +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +extern crate wayland_client; +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +extern crate x11_clipboard as x11_clipboard_crate; + +#[cfg(windows)] +extern crate clipboard_win; + +#[cfg(target_os = "macos")] +#[macro_use] +extern crate objc; +#[cfg(target_os = "macos")] +extern crate objc_foundation; +#[cfg(target_os = "macos")] +extern crate objc_id; + +mod common; +pub use common::ClipboardProvider; + +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +pub mod wayland_clipboard; +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +pub mod x11_clipboard; + +#[cfg(windows)] +pub mod windows_clipboard; + +#[cfg(target_os = "macos")] +pub mod osx_clipboard; + +pub mod nop_clipboard; + +#[cfg(all(unix, not(any(target_os = "macos", target_os = "android", target_os = "emscripten"))))] +pub type ClipboardContext = x11_clipboard::X11ClipboardContext; +#[cfg(windows)] +pub type ClipboardContext = windows_clipboard::WindowsClipboardContext; +#[cfg(target_os = "macos")] +pub type ClipboardContext = osx_clipboard::OSXClipboardContext; +#[cfg(target_os = "android")] +pub type ClipboardContext = nop_clipboard::NopClipboardContext; // TODO: implement AndroidClipboardContext +#[cfg(not(any( + unix, + windows, + target_os = "macos", + target_os = "android", + target_os = "emscripten" +)))] +pub type ClipboardContext = nop_clipboard::NopClipboardContext; |