Initial commit

This commit is contained in:
TutorialsGHG
2026-04-12 22:00:18 +02:00
commit 09dd169ebe
23 changed files with 51956 additions and 0 deletions

100
README.md Normal file
View File

@@ -0,0 +1,100 @@
# NotifyPulse 🔔
A background Windows notification app that fires reminders at random intervals with weighted probability — plus exact-time daily triggers.
---
## Features
| Feature | Details |
| -------------------- | ------------------------------------------------------------------ |
| **Weighted random** | `Text \| 40%` higher % = more likely to be picked |
| **Time triggers** | `Text \| 14:30` fires every day at that exact time |
| **Random interval** | 1030 minutes between random notifications |
| **Pause hotkey** | Press **F13** to pause; queued notifications fire when you unpause |
| **System tray** | Runs silently in the tray, right-click to quit or open config |
| **Auto-start ready** | Drop the EXE in Windows startup folder |
---
## Quick Start
### Run from Python
```bash
pip install -r requirements.txt
python notifier.py
```
### Build .exe
```bat
build.bat
```
The EXE lands in `dist\NotifyPulse.exe`.
Copy `notifications.txt` next to it (or it auto-creates a sample).
---
## notifications.txt Format
```
# Lines starting with # are comments
# Weighted random entries (percentages should add up to 100, but don't have to)
Take a break and stretch! 🚶 | 35%
Drink some water 💧 | 30%
Check your posture 🧍 | 20%
Deep breath you got this! 😌| 15%
# Time-based triggers fire every day at HH:MM
Morning standup ☕ | 09:00
Afternoon focus 🎯 | 14:00
End-of-day wrap-up 📋 | 17:30
```
### Rules
- Separator is `|` (pipe character)
- Percentages: `30%` — picks proportionally (doesn't need to sum to 100)
- Times: `HH:MM` in 24-hour format
- Lines without `|` get equal weight in random selection
- Comments start with `#`
---
## Hotkey
| Key | Action |
| ------- | -------------------- |
| **F13** | Toggle pause/unpause |
> **Paused?** Notifications are queued. When you unpause, all queued messages fire immediately (with a 1.5s gap between them).
---
## Auto-start with Windows
1. Press `Win + R` → type `shell:startup` → Enter
2. Drop a shortcut to `NotifyPulse.exe` in that folder
3. It will launch silently on every login
---
## Troubleshooting
**Notifications not showing?**
- Check Windows Focus Assist / Do Not Disturb is off
- Windows 10/11 only (winotify requires it)
**F13 not working?**
- Run the app as Administrator (keyboard hook needs elevated rights sometimes)
- Or remap a key to F13 using AutoHotkey / your keyboard software
**Build fails?**
- Make sure Python 3.10+ is installed
- Run `build.bat` from the project folder