A Wayland color picker with a magnifying loupe. Captures the screen, lets you zoom in on a pixel, and copies the color to your clipboard on click. Inspired by Firefox's Eyedropper tool.
- Fullscreen overlay with live magnifying loupe
- Crosshair for precise pixel targeting
- Color swatch preview with hex value
- Multiple output formats:
hex,rgb,hsl - Copies result to clipboard automatically
- Prints to stdout (pipeable)
- A Wayland compositor with
wlr-screencopysupport (Sway, Hyprland, and most wlroots-based compositors) grim— for screen capturewl-clipboard— for clipboard support
sudo apt install grim wl-clipboard # Debian/Ubuntugit clone https://github.com/BarriosXJavier/wlpick
cd wlpick
cargo install --path .Requires Rust 1.70+. The binary lands in ~/.cargo/bin/wlpick.
wlpick # default: hex output, copies to clipboard
wlpick --format rgb # output as rgb(r, g, b)
wlpick --format hsl # output as hsl(h, s%, l%)
wlpick --no-clipboard # print only, skip clipboard| Action | Input |
|---|---|
| Pick color | Left click |
| Cancel | Close window / Escape |
Since the color is printed to stdout, you can pipe it:
# Use picked color in a script
COLOR=$(wlpick)
echo "You picked: $COLOR"
# Notify via dunst
wlpick | xargs -I{} notify-send "Picked color" {}| Format | Example |
|---|---|
hex (default) |
#1A2B3C |
rgb |
rgb(26, 43, 60) |
hsl |
hsl(210, 40%, 17%) |
wlpick/
├── src/
│ ├── main.rs # CLI parsing, entry point
│ ├── screenshot.rs # screen capture via grim
│ ├── loupe.rs # magnifier UI via raylib
│ ├── color.rs # color formatting and HSL conversion
│ └── clipboard.rs # clipboard via wl-copy
└── Cargo.toml
GPL-3.0