Initial commit
This commit is contained in:
100
README.md
Normal file
100
README.md
Normal 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** | 10–30 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
|
||||
Reference in New Issue
Block a user