omaclip

command module
v0.1.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2026 License: MIT Imports: 14 Imported by: 0

README

Omaclip

A desktop clipboard manager for Omarchy, works in Linux and macOS. It tracks your clipboard's history, lets you browse and copy items and is designed for a keyboard-first workflow.

https://github.com/user-attachments/assets/434b6ff6-21e1-459b-833f-7f63c5a9ee88

When you run it on multiple machines peers will form a secure mesh, where they will auto-discover each other on the local network and share their clipboards.

It works on Linux and macOS, but it loves Omarchy, hot-reloading its color scheme the moment your OS theme changes.

  • In-memory clipboard history text and images (PNG), up to 50 items (configurable)
  • Keyboard navigation with shortcuts for quick copying (Ctrl+1..9)
  • Expandable entries for viewing long text or larger image previews
  • Live Omarchy theme support, colors update automatically when you switch themes
  • Secure multi-machine sync, peers discover each other via mDNS and sync over HTTPS with certificate validation and a shared passphrase; only machines with the same passphrase can connect

Installation

yay -S omaclip-bin
Option 2 — One-liner

The install script detects your OS, architecture, and package manager, installs the required dependencies, and places the binary in /usr/local/bin.

curl -fsSL https://raw.githubusercontent.com/rhemvi/omaclip/master/install.sh | sh
Option 3 — Manual installation
Linux

Install the runtime dependencies for your distro, then download and install the binary.

Debian / Ubuntu
sudo apt install libgtk-3-0 libwebkit2gtk-4.1-0 xclip
curl -fsSL https://github.com/rhemvi/omaclip/releases/latest/download/omaclip-linux-amd64 -o omaclip
sudo install -m 755 omaclip /usr/local/bin/omaclip
Arch Linux
sudo pacman -S --needed gtk3 webkit2gtk-4.1 wl-clipboard
curl -fsSL https://github.com/rhemvi/omaclip/releases/latest/download/omaclip-linux-amd64 -o omaclip
sudo install -m 755 omaclip /usr/local/bin/omaclip
Fedora / RHEL
sudo dnf install gtk3 webkit2gtk4.1 wl-clipboard
curl -fsSL https://github.com/rhemvi/omaclip/releases/latest/download/omaclip-linux-amd64 -o omaclip
sudo install -m 755 omaclip /usr/local/bin/omaclip
openSUSE
sudo zypper install libgtk-3-0 libwebkit2gtk-4_1-0 xclip
curl -fsSL https://github.com/rhemvi/omaclip/releases/latest/download/omaclip-linux-amd64 -o omaclip
sudo install -m 755 omaclip /usr/local/bin/omaclip

For ARM64 machines replace omaclip-linux-amd64 with omaclip-linux-arm64.

macOS

No extra dependencies needed, macOS already ships with WebKit.

# Intel
curl -fsSL https://github.com/rhemvi/omaclip/releases/latest/download/omaclip-darwin-amd64 -o omaclip
sudo install -m 755 omaclip /usr/local/bin/omaclip

# Apple Silicon (M1/M2/M3)
curl -fsSL https://github.com/rhemvi/omaclip/releases/latest/download/omaclip-darwin-arm64 -o omaclip
sudo install -m 755 omaclip /usr/local/bin/omaclip

Live Development

To run in live development mode, run wails dev in the project directory. This will run a Vite development server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser and have access to your Go methods, there is also a dev server that runs on http://localhost:34115. Connect to this in your browser, and you can call your Go code from devtools.

Building

To build a redistributable, production ready package, run:

task app:build

Known Limitations

Clipboard monitoring on GNOME/Mutter (Wayland)

On desktops that use GNOME's Mutter compositor (Fedora, Ubuntu, Pop!_OS, etc.), clipboard monitoring may cause brief focus flicker. This is a Wayland security restriction: the standard clipboard protocol only delivers content to the focused window, so wl-paste must briefly acquire focus on each poll cycle.

Compositors built on wlroots (Hyprland, Sway, etc.) are not affected because they support the wlr-data-control protocol, which allows background clipboard access without focus changes. On these compositors, omaclip uses event-driven watching with wl-paste --watch and no polling is needed.

X11 sessions and macOS are also unaffected.

Documentation

Overview

Package main is the entry point for the omaclip desktop application.

Directories

Path Synopsis
app
Package app is the Wails bind target that wires together all business packages.
Package app is the Wails bind target that wires together all business packages.
handlers
Package handlers contains HTTP handlers for the sync server.
Package handlers contains HTTP handlers for the sync server.
business
clipboard
Package clipboard manages clipboard history and monitors the system clipboard for new entries.
Package clipboard manages clipboard history and monitors the system clipboard for new entries.
passphrase
Package passphrase provides a concurrency-safe store for the shared passphrase.
Package passphrase provides a concurrency-safe store for the shared passphrase.
peersclipsync
Package peersclipsync fetches clipboard history from discovered remote peers.
Package peersclipsync fetches clipboard history from discovered remote peers.
sync
Package sync provides the HTTP server that exposes clipboard history to other Omaclip instances on the local network.
Package sync provides the HTTP server that exposes clipboard history to other Omaclip instances on the local network.
theme
Package theme handles loading and watching the Omarchy color theme.
Package theme handles loading and watching the Omarchy color theme.
foundation
clipboard
Package clipboard provides OS-level clipboard access.
Package clipboard provides OS-level clipboard access.
config
Package config handles loading and saving the Omaclip config file.
Package config handles loading and saving the Omaclip config file.
logger
Package logger provides a structured logger built on top of log/slog.
Package logger provides a structured logger built on top of log/slog.
mdns
Package mdns wraps github.com/hashicorp/mdns to advertise and discover Omaclip instances on the local network.
Package mdns wraps github.com/hashicorp/mdns to advertise and discover Omaclip instances on the local network.
tlscert
Package tlscert generates in-memory TLS certificates for omaclip peers.
Package tlscert generates in-memory TLS certificates for omaclip peers.
vcs
Package vcs returns the application version derived from embedded VCS build info.
Package vcs returns the application version derived from embedded VCS build info.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL