Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/proteo5/Prevent-Screen-Saver/llms.txt

Use this file to discover all available pages before exploring further.

Prevent Screen Saver follows an incremental release model — each version ships a small, well-defined set of features that are fully tested before the next iteration begins. This page documents what has shipped, what is planned, and how to contribute.

Current Release — v0.2.0

Version 0.2.0 is the current stable release. It builds on the v0.1.0 tray MVP with the addition of a global hotkey system, delivering keyboard-driven toggle without requiring any mouse interaction with the tray.

Global Hotkey Toggle

Press a keyboard shortcut from anywhere on the desktop to activate or deactivate screen saver protection instantly, without opening the tray menu.

Five Built-in Presets

Choose from Ctrl+Alt+P (default), Ctrl+Shift+F12, Ctrl+Shift+F11, Ctrl+Shift+F10, or Ctrl+Shift+F9 via the tray Hotkey submenu.

Hotkey Enable/Disable

Toggle the hotkey on or off from the tray menu without changing the selected preset. The preference is persisted across restarts.

Tray Balloon Notifications

A system tray balloon appears when the hotkey is enabled, disabled, or when a new preset is selected, confirming the active shortcut.

All Features in v0.2.0

v0.2.0 includes everything from the v0.1.0 foundation plus the hotkey system:
  • Tray icon with two visual states — grey pause icon when idle, green checkmark icon when active. Both icons are generated programmatically at runtime.
  • Left-click tray toggle — clicking the tray icon toggles between Active and Idle protection states.
  • Tray context menu — Activate, Deactivate, Open, Start with Windows, Hotkey, Help, About, and Exit actions.
  • SetThreadExecutionState protection — uses ES_CONTINUOUS | ES_DISPLAY_REQUIRED to prevent screen saver activation without simulating any keyboard or mouse input.
  • Start with Windows — reads and writes HKCU\...\Run to control auto-launch. No admin rights required.
  • Single-instance guard — a named Mutex (PreventScreenSaver.SingleInstance) prevents multiple copies from running simultaneously.
  • Settings persistenceStartMinimized, LastProtectionActive, HotkeyEnabled, and HotkeyPresetId are saved to %LocalAppData%\PreventScreenSaver\settings.json.
  • Diagnostics log — timestamped entries appended to %LocalAppData%\PreventScreenSaver\log.txt for all lifecycle events.
  • Help and About dialogs — built-in Windows Forms dialogs accessible from the tray menu.
  • Clean shutdown — protection is always stopped and the hotkey is unregistered before the application exits or the session ends.

Planned Features

The following items are on the roadmap for future releases, drawn from the project’s README:

Background-Only Launch Mode

A startup argument that launches the application directly to the tray without ever showing the main window, useful for auto-start scenarios.

Automated Checks and Tests

Lightweight automated validation to cover settings parsing, toggle routing logic, and service lifecycle behavior.

Signed Installer and Release Workflow

Code-signed installer and a repeatable automated release pipeline to improve trust and distribution reliability.

Expanded Configuration Options

Additional user-facing settings surfaced through the application UI, beyond the current hotkey and startup options.
The docs/implementation-plan.md and docs/hotkey-plan.md files in the repository contain the detailed design rationale behind the existing v0.1.0 and v0.2.0 implementations — including the options that were considered and rejected (such as simulated keyboard input and mouse movement) in favor of the SetThreadExecutionState approach.

Contributing

Contributions and feedback are welcome. The project is MIT-licensed and hosted on GitHub.

Open an Issue

Report a bug or request a feature at the GitHub issue tracker. Include reproduction steps for bugs or a clear description of the desired behavior for feature requests.

View the Repository

Browse the source, read the implementation docs, and follow release activity on GitHub.

License

Prevent Screen Saver is released under the MIT License. You are free to use, modify, and distribute the source under the terms of that license.

Build docs developers (and LLMs) love