Introduction

This project is about writing a clipboard manager written in Rust.

First and foremost, if you think that’s easy, good for you but this is my first time writing one for Wayland (not sure yet if I should add X11 support).

Github repository


The goal of this project is to do the following

  • support multiple mime-types or file types
  • encrypts copies. pasting a selection requires a passphrase
  • encryption utility uses the age library, specifically, the rust crate. although, it is possible to add other encryption methods such as gpg and ssh or even just call polkit but i don’t know much about security so let’s leave it for now. I need to write the security model for this.

Why Age

Age is simple. It’s purpose is to just encrypt unlike popular tools like gpg which are known for LARPING.

Why support different file types?

Because clipboard managers on Wayland are a problem. For example, I have a hard time pasting .webp file types. It seems png has first-class support despite the fact that it uses more storage and does not even support animated images. Although the reason is .webp.

The other reason is to “clone” wl-copy and wl-paste utilities. There might be some inspiration from wl-clipboard-rs.

However, I plan to do this differently and that it will attempt to identify the mime-type first before the paste.

How do you store big file types from clipboard?

This seems to be something I am looking towards to. For filetypes larger than 1G, I probably just copy the path and route the data as chunks to the clipboard when pasting.

0 items under this folder.