Skip to content

HAKORADev/BlurMe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlurMe - Screen Privacy Blur Overlay

BlurMe Logo

BlurMe is a lightweight, real-time screen blurring tool that protects your privacy during presentations, streaming, or screen sharing. With customizable blur intensity, grayscale conversion, and opacity control, BlurMe creates a soft-focus overlay over your entire screen — activated instantly with global hotkeys.

GitHub release License: MIT Platform

📦 Latest Release: v1.1.0 — Pre-built binaries available for Windows, macOS, and Linux.

Important Notes:

  • 🔧 Run from source for the latest features. Pre-built binaries are available for each OS under Releases, but running from source ensures you have the newest updates.

📋 For detailed version history, see CHANGELOG.md


Quick Start

Option 1: Download Binary (Recommended for End Users)

Grab the latest release for your operating system from the Releases page:

  • Windows
  • macOS
  • Linux

Run the executable — no installation required, make sure to read the release notes!

Option 2: Run from Source (For Developers / Power Users)

# Clone the repository
git clone https://github.com/YOUR_USERNAME/BlurMe.git
cd BlurMe

# Install dependencies
pip install -r requirements.txt

# Launch BlurMe
python src/blurme.py

Features

  • Real-time Screen Blur — Applies a Gaussian blur to your entire screen with adjustable radius.
  • Grayscale Mode — Convert the blurred image to grayscale with configurable intensity.
  • Opacity Control — Fine-tune the overlay transparency.
  • Global Hotkeys — Toggle, adjust settings, and close without ever touching the mouse.
  • Cross-Platform — Works on Windows, macOS, and Linux (X11).
  • Low CPU Usage — Optimized capture and processing; uses OpenCV acceleration when available.
  • Persistent Settings — Your preferences are saved automatically to blur.conf.
  • Extra Privacy (Sound Mute) — Optionally mute system audio when blur is active for complete privacy.

Configuration (blur.conf)

BlurMe stores settings in blur.conf next to the executable:

blur = colored        # or "grayscale"
blurness = 50         # blur intensity (1-100)
opacity = 255         # overlay opacity (0-255)
grayness = 128        # grayscale intensity (0-255)
sound = 0             # 0 = mute audio when blur active, 1 = keep audio

Extra Privacy: Sound Mute

Set sound = 0 (default) to automatically mute system audio when the blur overlay is active. This provides complete privacy during presentations or screen sharing — no unexpected sounds will play from your computer.

Set sound = 1 to keep audio normal.


Controls

BlurMe responds to the following global hotkeys (press simultaneously where noted):

Key Combination Action
F1 Switch to colored blur mode
F2 Switch to grayscale blur mode
F3 Decrease grayscale intensity
F4 Increase grayscale intensity
- (minus) Decrease overlay opacity
+ (plus) Increase overlay opacity
/ (slash) Decrease blur radius
* (asterisk) Increase blur radius
Ctrl + Alt + B Toggle BlurMe on/off
Ctrl + Alt + C Close BlurMe completely

On some keyboards, + and * may require the Shift key or be located on the numeric keypad.


Showcase

BlurMe transforms your screen in real-time. Here are some examples:

Original Colored Blur Grayscale Blur
Unblurred browser tab Colored blur
Unblurred game Grayscale blur Stronger blur
Unblurred desktop with browser, file explorer and Kate Colored blur Grayscale blur
Unblurred screen Colored blur Grayscale blur

Left: original screen content. Middle/Right: with BlurMe overlay active.


Installation Details

Prerequisites (for source)

  • Python 3.12 or higher
  • pip package manager
  • Linux users: X11 session required (Wayland not supported)

Building a Binary

To create a standalone executable for your platform:

pip install pyinstaller
pyinstaller --onefile --windowed --icon=src/blurme.ico src/blurme.py

Technical Highlights

  • Multi-Backend Processing: Automatically selects the fastest available image processing library (OpenCV → Pillow).
  • Efficient Screen Capture: Uses mss (Multi-Screen Screenshot) for low-latency, high-performance screen grabbing.
  • Global Hotkeys: Reliable key detection via pynput, with special handling for numpad keys and modifiers.
  • Persistent Configuration: Settings stored in plain-text blur.conf next to the executable or script.
  • Overlay Window: A frameless, click-through, always-on-top window that paints the processed screen image with adjustable opacity.
  • X11 Specifics: On Linux, uses xprop to enforce fullscreen and docking window properties for reliable overlay behavior.
  • Windows DPI Awareness: Applies display affinity to ensure the overlay stays on top even in high‑DPI scenarios.

Performance

Setting CPU Usage (approx)
No blur (radius 0) < 1%
Light blur (radius 10) 2–5%
Heavy blur (radius 50) 5–10%

Measured on a 4‑core CPU at 30 FPS. Enabling OpenCV can reduce load by up to 50%.


Contributing

BlurMe is open-source (MIT License) and welcomes contributions:

  • New features (e.g., region selection, multiple monitors)
  • Performance improvements
  • Bug fixes and platform compatibility enhancements
  • Documentation and translations

Please submit pull requests or issues via GitHub.


License

MIT License — See LICENSE for full details.


Acknowledgments

Built with appreciation for the open-source Python community and the developers of mss, pynput, and PyQt5. Inspired by the need for simple, effective screen privacy tools.


About

A cross-platform screen blur overlay tool for instant privacy. Toggle blur with a hotkey

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors