Skip to content

mirbyte/StreamBlock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

StreamBlock_logo_smaller

StreamBlock

License Size Download Count Latest Release LastCommit

A Python application that creates draggable colored overlay blocks on your screen.

Download

  • Windows: Download the package from the releases page
  • Others: Clone this project and run the .py (you may need to remove the win32gui and win32api imports — not tested on non-Windows)

Features

  • Draggable & Resizable Blocks: Create movable colored rectangles anywhere on your screen
  • Always on Top: Blocks stay visible over all other applications
  • Color Customization: Pick any static color per block
  • Dynamic Color Mode: Blocks automatically sample the 8 surrounding screen points and adapt their color or gradient in real time
  • Gradient Support: When surrounding colors differ enough, the block renders a smooth multi-point gradient instead of a flat color
  • Save/Load Layouts: Preserve your block arrangements for future sessions
  • DPI Aware: Correct sizing and positioning on 4K and high-DPI displays

Usage

Creating blocks

  1. Choose a color with the Pick Color button, or enable Dynamic mode to have the block match its surroundings automatically
  2. Click + Add Block to place a new overlay

Controlling blocks

Action Input
Move Left-click drag
Resize Right-click drag (from bottom-right)
Delete Double-click
Change color Middle-click (static blocks only)

Dynamic block indicators

A small tag in the top-left corner of each dynamic block shows its current state:

Tag Meaning
D Dynamic mode, solid color
D+ Dynamic mode, gradient active
D> Dynamic mode, transitioning

Dependencies

Package Purpose
tkinter GUI framework (Python standard library)
Pillow Image processing and gradient rendering
pywin32 DPI awareness and screen metrics (Windows)
numpy (optional) Accelerated gradient computation, strongly recommended for dynamic mode

Install with:

pip install pillow pywin32 numpy

Technical Details

  • Thread model: Color detection and animation run on background threads; all Tkinter calls are made exclusively from the main thread via a _ui_tick polling loop
  • Gradient rendering: 8-point bilinear interpolation, vectorized with numpy when available and falling back to pure Python otherwise
  • Screen sampling: 12×12px grabs at 8 points around each block's edges every 2 seconds, with 1-second eased transitions between states
  • Layout storage: JSON

Use Cases

  • Live Streams: Hide burned-in ads or watermarks during live stream viewing
  • Live Streaming: Cover personal information, notifications, or sensitive content
  • Screen Recording: Block out areas you don't want recorded
  • Presentations: Cover content until ready to reveal
  • Privacy: Hide desktop elements during screen sharing

gui

example_twitch

before2

after2

About

Easy to use Python application that creates draggable colored overlay blocks on your screen.

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages