Thanks to visit codestin.com
Credit goes to github.com

Skip to content

mkw2000/remind-thing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Personal Reminder Tool 🔔

A Linux-native TUI application for setting periodic health reminders like standing up, drinking water, and taking eye breaks. Perfect for replacing smartwatch reminder functionality.

Features

  • TUI Interface: Modern terminal interface using Textual
  • Multiple Notification Types:
    • Desktop popups (Hyprland native hyprctl notify with libnotify fallback)
    • Sound effects (configurable)
    • Waybar integration for status display
  • Systemd Integration: Runs as a user service
  • Configurable Reminders: Set custom messages, intervals, and notification types
  • Linux Native: Built specifically for Arch Linux and other Linux distributions

Quick Start

Installation

# Clone or download the repository
cd remind-thing

# Run the installation script
./install.sh

Basic Usage

# Open the TUI interface
remind-thing

# Start the background daemon
remind-daemon start

# Enable autostart on login
remind-daemon enable

# Check daemon status
remind-daemon status

Configuration

Edit ~/.config/remind-thing/config.json to customize your reminders:

{
  "reminders": [
    {
      "id": "stand-up",
      "name": "Stand Up",
      "message": "Time to stand up and stretch!",
      "interval_minutes": 30,
      "enabled": true,
      "notifications": {
        "popup": true,
        "sound": true,
        "waybar": true,
        "popup_duration": 10000,
        "persistent": false,
        "hypr_icon": "INFO",
        "hypr_color": "rgb(33aaff)"
      },
      "icon": "🚶"
    }
  ],
  "settings": {
    "sound_volume": 0.5,
    "popup_duration": 5000,
    "hypr_default_duration": 5000
  }
}

Waybar Integration

Add this to your Waybar config:

"custom/reminders": {
  "format": "{}",
  "exec": "cat ~/.local/state/remind-thing-waybar.json",
  "return-type": "json",
  "interval": 1
}

TUI Controls

  • r - Refresh reminder list
  • s - Start daemon
  • t - Stop daemon
  • a - Add reminder (TODO)
  • e - Edit reminder (TODO)
  • d - Delete reminder (TODO)
  • q - Quit

System Requirements

  • Python 3.8+
  • systemd (user services)
  • Hyprland (for native popups) or libnotify (fallback notifications)
  • PulseAudio or ALSA (for sound)
  • Optional: Waybar for status integration

Dependencies

The installer will automatically install these Python packages using UV (isolated environment) or pip3:

  • textual>=0.41.0
  • python-dateutil>=2.8.2

UV is highly recommended for safe, isolated Python environments:

curl -LsSf https://astral.sh/uv/install.sh | sh

Files Locations

  • Application: ~/.local/share/remind-thing/
  • Configuration: ~/.config/remind-thing/config.json
  • Systemd Service: ~/.config/systemd/user/remind-thing.service
  • Waybar Status: ~/.local/state/remind-thing-waybar.json
  • Binaries: ~/.local/bin/remind-thing, ~/.local/bin/remind-daemon

Logs

View daemon logs with:

journalctl --user -u remind-thing.service -f

Arch Linux Specific Notes

  • Uses pacman for system packages
  • Integrates with systemd user services
  • Follows XDG Base Directory specification

About

reminders tool for arch linux / hyprland

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published