Напоминания и Pomodoro
Напоминалки в телефоне — хорошо, но они привязаны к телефону. Через Notifly они приходят на все ваши устройства одновременно: телефон, рабочий ноутбук, домашний компьютер.
Разовое напоминание через at
Заголовок раздела «Разовое напоминание через at»echo 'notifly-send "🔔 Встреча через 5 минут" "Zoom: ..." 8' | at now + 25 minУдобный wrapper:
#!/usr/bin/env bash# ~/bin/remind — `remind 30m "Чай заварен"` / `remind "20:00" "Звонок маме"`WHEN="${1:?when}"; shiftMSG="${*:?message}"echo "notifly-send '🔔 $MSG' '' 6" | at "$WHEN"remind 25m "Кофе"remind 17:30 "Уйти забрать ребёнка"remind "tomorrow 9am" "Отнести документы"Pomodoro-таймер
Заголовок раздела «Pomodoro-таймер»#!/usr/bin/env bash# ~/bin/pomodoro [WORK_MIN] [BREAK_MIN] [CYCLES]set -euWORK=${1:-25}; BREAK=${2:-5}; N=${3:-4}
for ((i=1; i<=N; i++)); do notifly-send "🍅 Помидор $i/$N" "Работа $WORK мин." 5 sleep $((WORK*60)) notifly-send "☕ Перерыв" "Отдых $BREAK мин." 5 sleep $((BREAK*60))donenotifly-send "🏁 Pomodoro завершён" "$N помидоров готово." 6pomodoro # 4 × (25/5)pomodoro 50 10 3 # 3 × (50/10)Регулярные напоминания через cron
Заголовок раздела «Регулярные напоминания через cron»# Каждый рабочий день в 13:00 — обед0 13 * * 1-5 ~/bin/notifly-send "🍽 Обед" "" 5
# Каждый час — встать размяться (только в рабочее время)0 10-18 * * 1-5 ~/bin/notifly-send "🚶 Встать и размяться" "" 4
# Воскресенье 21:00 — спланировать неделю0 21 * * 0 ~/bin/notifly-send "📅 Спланировать неделю" "" 6Тихие vs громкие напоминания
Заголовок раздела «Тихие vs громкие напоминания»Управляйте поведением через приоритет:
| Когда | Приоритет | Эффект |
|---|---|---|
| «Размяться» | 1–3 | без звука, только бэйдж |
| «Обед» | 4–5 | стандартный звук |
| «Встреча через 5 минут» | 7–8 | громко, проходит DND по правилам ОС |
| «УЛЕТАЕТ САМОЛЁТ» | 9–10 | максимум, отдельный звук |
См. таблицу приоритетов.
Windows: schtasks + PowerShell
Заголовок раздела «Windows: schtasks + PowerShell»Аналоги at и cron в Windows — schtasks.exe и Task Scheduler. Предполагается,
что функция Send-Notifly уже загружена в профиле PowerShell
(см. инструкцию).
Разовое напоминание
Заголовок раздела «Разовое напоминание»param([Parameter(Mandatory)] [string]$When, [Parameter(Mandatory)] [string]$Message, [int]$Priority = 6)
# When: "25m", "2h", "20:00", "2026-04-23 14:00"$target = if ($When -match '^(\d+)m$') { (Get-Date).AddMinutes([int]$Matches[1])} elseif ($When -match '^(\d+)h$') { (Get-Date).AddHours([int]$Matches[1])} else { [datetime]$When}
$taskName = "Notifly Remind " + (Get-Date).Ticks$cmd = ". `$env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1; " + "Send-Notifly -Title '🔔 $Message' -Priority $Priority"
$Action = New-ScheduledTaskAction -Execute "powershell.exe" ` -Argument "-NoProfile -WindowStyle Hidden -Command `"$cmd`""$Trigger = New-ScheduledTaskTrigger -Once -At $target$Settings = New-ScheduledTaskSettingsSet -DeleteExpiredTaskAfter (New-TimeSpan -Minutes 5)Register-ScheduledTask -TaskName $taskName -Action $Action -Trigger $Trigger -Settings $Settings | Out-NullWrite-Host "Напомню в $($target.ToString('HH:mm yyyy-MM-dd')): $Message"Использование:
.\Remind.ps1 -When "25m" -Message "Кофе".\Remind.ps1 -When "17:30" -Message "Уйти забрать ребёнка"Регулярные напоминания через schtasks
Заголовок раздела «Регулярные напоминания через schtasks»# Рабочие дни в 13:00 — обедschtasks /Create /TN "Notifly Lunch" /SC WEEKLY /D MON,TUE,WED,THU,FRI /ST 13:00 ` /TR "powershell.exe -WindowStyle Hidden -Command `". $env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1; Send-Notifly -Title '🍽 Обед' -Priority 5`""
# Каждый час 10–18 — размятьсяschtasks /Create /TN "Notifly Stretch" /SC HOURLY /ST 10:00 /DU 08:00 /K ` /TR "powershell.exe -WindowStyle Hidden -Command `". $env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1; Send-Notifly -Title '🚶 Размяться' -Priority 4`""Pomodoro в PowerShell
Заголовок раздела «Pomodoro в PowerShell»param([int]$WorkMin = 25, [int]$BreakMin = 5, [int]$Cycles = 4). $env:USERPROFILE\Documents\WindowsPowerShell\Notifly.ps1
1..$Cycles | ForEach-Object { Send-Notifly -Title "🍅 Помидор $_/$Cycles" -Message "Работа $WorkMin мин." -Priority 5 Start-Sleep -Seconds ($WorkMin * 60) Send-Notifly -Title "☕ Перерыв" -Message "Отдых $BreakMin мин." -Priority 5 Start-Sleep -Seconds ($BreakMin * 60)}Send-Notifly -Title "🏁 Pomodoro завершён" -Message "$Cycles помидоров готово." -Priority 6- Один и тот же напоминатель на всех устройствах сразу.
- Гибкий синтаксис
at— куда мощнее календаря. - Никакой сторонний todo-сервис не нужен —
cron/atуже стоят в системе.
Что улучшить дальше
Заголовок раздела «Что улучшить дальше»- TUI поверх
at -l: смотреть, какие напоминания запланированы. - Синтаксис «напомнить через 2 часа» голосом — связка с локальным STT.
- Интеграция с календарём (
*.ics→ cron-job).