Shrust is a very minimal, Wayland-native screenshot tool I wrote in Rust.

the idea

There are a lot of really great tools that make up shrust, grim takes screenshots, slurp selects regions, wl-copy handles the clipboard, swappy does annotation, and dunst shows notifications. Each does one thing well on their own, but chaining them togther into a "select → capture → copy → notify → edit" workflow results in a batteries included screenshot tool.

how it works

The whole run is a short pipeline driven from main:

1. load config (~/.config/shrust/config.toml, with defaults)
        2. build a save path (timestamped filename in your pictures dir)
        3. slurp (drag to select a region)
        4. grim (capture that region to the path)
        5. wl-copy (read the file, pipe it to the clipboard as image/png)
        6. dunstify (notify; offer an "Edit" action)
        7. swappy (if you click the notification, open it for markup)

configuration

Config is a TOML file at ~/.config/shrust/config.toml. Every field is optional so if the file is missing or a field is missing, shrust falls back to sensible defaults

      
    

using it

Bind it to a key in your Sway config and it behaves like a native screenshot shortcut:

bindsym $mod+Shift+s exec shrust
        exec_always dunst

Hit Super+Shift+S, drag a box, and the shot is saved, copied, and waiting in a notification you can click to annotate.

what i took away

I learned about all sorts of different utilties which I probably wouldn't have had the chance to learn as well as brushed up on my Rust abilities. In return I got a cool fun screenshoot tool out of it.