A powerful, scriptable overlay tool for Windows that displays customizable text and images on top of other applications. Features include multi-monitor support, grid positioning, text rotation, strobing effects, and customizable colors.
- Scriptable CLI Interface: Control overlays through command-line parameters
- Multi-Monitor Support: Display overlays on any connected monitor
- Grid Positioning: Position overlays in a 3x3 grid layout (automatically adjusts for vertical displays)
- Text Rotation: Display multiple texts that automatically rotate at specified intervals
- Visual Effects:
- Custom text and drop shadow colors
- Strobing effects for dynamic text
- Transparent backgrounds
- Impact font as default
- Contrasting outline (black or white)
- Toggleable glow effect
- Zoom animation
- Pulsating text (size and glow variation)
- Display Options:
- Absolute positioning (X, Y coordinates)
- Grid positioning (column, row)
- Center positioning
- Text Customization:
- Three sizes: small, medium (default), large
- Default pink/purple color with glow effect
- Automatic Timing: Overlays automatically disappear after specified duration
- README.md - User guide and usage instructions
- IMPLEMENTATION.md - Technical documentation for developers
- CHANGELOG.md - Version history and changes
- LICENSE - MIT License information
- .NET 8 SDK
- Windows OS
- Clone or download the repository
- Open a terminal in the project root directory
- Restore dependencies:
dotnet restore
- Build the project:
dotnet build
dotnet run --project Overlay.Cli -- [options]
-
Display simple text centered on primary display for 5 seconds (using defaults):
dotnet run --project Overlay.Cli -- -text "Hello World" -duration 5
-
Display strobing purple text with pink drop shadow in top-left corner:
dotnet run --project Overlay.Cli -- -text "STROBING" -duration 10 -foreground "#800080" -dropshadow "#FF69B4" -strobing -column 0 -row 0
-
Display rotating texts every 2 seconds for 10 seconds:
dotnet run --project Overlay.Cli -- -texts "FIRST;SECOND;THIRD" -duration 10 -switch 2 -column 1 -row 1
-
Display text on secondary display (index 1) in bottom-right position:
dotnet run --project Overlay.Cli -- -text "DISPLAY 2" -duration 5 -display 1 -column 2 -row 2
List all available displays:
dotnet run --project Overlay.Cli -- -list-displays
You can position overlays using three different methods:
-
Absolute Positioning:
-x 100 -y 200
-
Grid Positioning (recommended):
-column 0 -row 0 # Top-left -column 1 -row 1 # Center -column 2 -row 2 # Bottom-right
-
Center Positioning:
-center
-
Single Text:
-text "Your Text Here"
-
Multiple Rotating Texts:
-texts "Text1;Text2;Text3" -switch 2 # Switch every 2 seconds
-
Text Size:
-size small # Small text -size medium # Medium text (default) -size large # Large text
- Text Color:
-foreground "#RRGGBB"
(default: #FF69B4 - pink/purple) - Drop Shadow Color:
-dropshadow "#RRGGBB"
(default: black) - Outline Effect:
-outline
(adds black or white outline depending on text color) - Glow Effect:
-glow
(adds a subtle glow around text, enabled by default) - Zoom Animation:
-zoom
(text grows from center to full size) - Pulsating Effect:
-pulse [fast|medium|slow]
(text pulses in size and glow) - Strobing Effect:
-strobing
- Display Selection:
-display N
(0-based index)
- Duration:
-duration N
(seconds, default: 10) - Text Switching Interval:
-switch N
(seconds, default: 2)
The overlay uses a 3x3 grid system for positioning:
Column 0 Column 1 Column 2
Row 0 │ Top-Left │ Top-Center │ Top-Right
Row 1 │ Mid-Left │ Center │ Mid-Right
Row 2 │ Bot-Left │ Bot-Center │ Bot-Right
For vertical displays, the system automatically adjusts to a 1x3 grid.
-
Complex overlay with all features:
dotnet run --project Overlay.Cli -- -texts "ALERT;WARNING;CRITICAL" -duration 15 -switch 3 -foreground "#FF0000" -dropshadow "#000000" -strobing -display 1 -column 1 -row 0
-
Multiple sequential overlays:
# First overlay dotnet run --project Overlay.Cli -- -text "PREPARING" -duration 3 -column 1 -row 1 # Second overlay (after first completes) dotnet run --project Overlay.Cli -- -text "READY" -duration 2 -foreground "#00FF00" -column 1 -row 1
Create batch files for complex overlay sequences:
@echo off
echo System Maintenance
dotnet run --project Overlay.Cli -- -text "MAINTENANCE MODE" -duration 5 -foreground "#FFFF00" -dropshadow "#000000" -column 1 -row 0
timeout /t 1 >nul
dotnet run --project Overlay.Cli -- -text "SYSTEM RESTARTING" -duration 3 -foreground "#FF0000" -dropshadow "#000000" -strobing -column 1 -row 1
- Overlay not visible: Ensure display index is correct (use
-list-displays
) - Text cut off: Try adjusting position or using different grid positions
- Performance issues: Reduce strobing effects or number of simultaneous overlays
This project is licensed under the MIT License - see the LICENSE file for details.