Coder Social home page Coder Social logo

pasteboard's Introduction

pasteboard

This crate provides both a CLI and Rust bindings for interacting with the macOS pasteboard.

CLI

At the command-line, pasteboard introduces a pb command which can be used like:

# Copy/paste string
pb copy /path/to/foo.txt
pb paste /path/to/bar.txt

# Copy image/sound
pb copy /path/to/foo.png -t image
pb copy /path/to/foo.mp3 -t sound

Rust bindings

From Rust, pasteboard exposes a Pasteboard enum with copy and paste methods which can be used like:

use pasteboard::Pasteboard;

fn main() {
    unsafe {
        // Copy/paste string
        Pasteboard::String.copy("/path/to/foo.txt");
        Pasteboard::String.paste("/path/to/bar.txt");

        // Copy image/sound
        Pasteboard::Image.copy("/path/to/foo.png");
        Pasteboard::Sound.copy("/path/to/foo.png");
    }
}

Notes

The pb command is able to copy files as strings, images, and sounds. However, it can only paste as strings currently, but more coverage is planned in future releases.

pasteboard's People

Contributors

segeljakt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

spoof thomvil

pasteboard's Issues

building fails on Big Sur

Building fails with following error for me:

error[E0308]: mismatched types
  --> src/lib.rs:63:80
   |
63 |         if pasteboard.canReadObjectForClasses_options(class_array, options) != 0 {
   |                                                                                ^ expected `bool`, found integer

error[E0308]: mismatched types
  --> src/lib.rs:66:59
   |
66 |             NSData::writeToFile_atomically_(object, path, 0);
   |                                                           ^ expected `bool`, found integer

error: aborting due to 2 previous errors

Replacing the 0's with false seems to be the needed and appropriate edit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.