The redact tool currently has two styles, Solid and Pixelate (default) (RedactionStyle, capture.hpp:88), with the mosaic drawn at a fixed 12-logical-px block size scaled by the monitor scale (capture.cpp:674). Flameshot also offers a blur option, which reads as less aggressive than a chunky mosaic when you want the area to look "hidden" rather than destroyed — that style is missing here.
Proposal: add a third RedactionStyle::Blur to the style cycle (blur / pixelate / solid), applied the same way pixelate is (per applyRedactions, capture.cpp:1192).
Companion worth including: a wheel-adjustable mosaic/blur size, following the existing wheel-set property pattern (the wheel already sets a layer's weight, editor.cpp:1543). This is also exactly how Flameshot does it: one tool where pixel size 1 is blur and larger sizes are pixelation, adjustable by scroll wheel before, during, or after drawing (Flameshot docs, "Blur and Pixelation"). Flameshot's docs also recommend a pixel size larger than the text line height ("each pixel covers at least one character") because small mosaic cells can still leak readable content when the font and layout are known.
Caveat worth documenting: blur is reversible — Hill, Zhou, Saul and Shacham, "On the (In)effectiveness of Mosaicing and Blurring as Tools for Document Redaction" (PoPETs 2016, pdf) demonstrated recovery of blurred and mosaiced text, and Flameshot's docs cite the same paper to discourage blur for privacy. Omasnap's own mosaic is safer than classic pixelation here: it fills blocks with colors from a fixed palette (capture.cpp:679) rather than averaging source pixels, so it carries no source-pixel information — but blur, if added, genuinely does, and the docs should say blur is cosmetic, not secure. Solid remains the only guaranteed-destructive style.
The redact tool currently has two styles, Solid and Pixelate (default) (
RedactionStyle, capture.hpp:88), with the mosaic drawn at a fixed 12-logical-px block size scaled by the monitor scale (capture.cpp:674). Flameshot also offers a blur option, which reads as less aggressive than a chunky mosaic when you want the area to look "hidden" rather than destroyed — that style is missing here.Proposal: add a third
RedactionStyle::Blurto the style cycle (blur / pixelate / solid), applied the same way pixelate is (perapplyRedactions, capture.cpp:1192).Companion worth including: a wheel-adjustable mosaic/blur size, following the existing wheel-set property pattern (the wheel already sets a layer's weight, editor.cpp:1543). This is also exactly how Flameshot does it: one tool where pixel size 1 is blur and larger sizes are pixelation, adjustable by scroll wheel before, during, or after drawing (Flameshot docs, "Blur and Pixelation"). Flameshot's docs also recommend a pixel size larger than the text line height ("each pixel covers at least one character") because small mosaic cells can still leak readable content when the font and layout are known.
Caveat worth documenting: blur is reversible — Hill, Zhou, Saul and Shacham, "On the (In)effectiveness of Mosaicing and Blurring as Tools for Document Redaction" (PoPETs 2016, pdf) demonstrated recovery of blurred and mosaiced text, and Flameshot's docs cite the same paper to discourage blur for privacy. Omasnap's own mosaic is safer than classic pixelation here: it fills blocks with colors from a fixed palette (capture.cpp:679) rather than averaging source pixels, so it carries no source-pixel information — but blur, if added, genuinely does, and the docs should say blur is cosmetic, not secure. Solid remains the only guaranteed-destructive style.