A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/aranel616/rtm-reminder-zsh below:

aranel616/rtm-reminder-zsh: A lightweight Zsh plugin that displays urgent Remember The Milk tasks after each command execution

A lightweight Zsh plugin that displays urgent Remember The Milk tasks after each command execution. Clean, non-intrusive, and terminal-only.

Option 1: Manual Installation
  1. Clone this repository:

    git clone https://github.com/aranel616/rtm-reminder-zsh.git ~/.config/rtm-reminder-zsh
  2. Add to your ~/.zshrc:

    source ~/.config/rtm-reminder-zsh/rtm-reminder-zsh.plugin.zsh
  3. Reload your shell:

Option 2: Oh My Zsh (Clone)
  1. Clone to Oh My Zsh custom plugins directory:

    git clone https://github.com/aranel616/rtm-reminder-zsh.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/rtm-reminder-zsh
  2. Add to your ~/.zshrc plugins list:

    plugins=(... rtm-reminder-zsh)
  3. Reload your shell:

Option 3: Oh My Zsh (Symlink Development)

For development or if you have the repo cloned elsewhere:

  1. Clone the repository (if not already cloned):

    git clone https://github.com/aranel616/rtm-reminder-zsh.git ~/code/rtm-reminder-zsh
  2. Create symlink to Oh My Zsh plugins:

    ln -sfn ~/code/rtm-reminder-zsh ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/rtm-reminder-zsh
  3. Add to your ~/.zshrc plugins list:

    plugins=(... rtm-reminder-zsh)
  4. Reload your shell:

For Zinit:

zinit load "aranel616/rtm-reminder-zsh"

For Zplug:

zplug "aranel616/rtm-reminder-zsh"

Create a config file at ~/.config/rtm-reminder-zsh/config:

# Copy the example config (adjust path based on installation method)
# For Manual Installation:
cp ~/.config/rtm-reminder-zsh/config/config.example ~/.config/rtm-reminder-zsh/config

# For Oh My Zsh Installation (clone or symlink):
mkdir -p ~/.config/rtm-reminder-zsh
cp ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/rtm-reminder-zsh/config/config.example ~/.config/rtm-reminder-zsh/config

# Edit the configuration
nano ~/.config/rtm-reminder-zsh/config
Option Default Description URGENCY_QUERY 'dueBefore:today or dueWithin:"1h"' RTM query to find urgent tasks MAX_TASKS 2 Maximum number of tasks to display CHECK_INTERVAL_MINUTES 5 How often to check for tasks (in minutes) SORT_TYPE 'lsd' RTM sort command (ls/lsd/lsp) SHOW_DIVIDER true Show divider line above reminders DIVIDER_TEMPLATE 'simple' Divider style template DIVIDER_CHAR '─' Character for divider line DIVIDER_FORMAT '' Custom Oh-My-Zsh format string
# Show only overdue tasks
URGENCY_QUERY='dueBefore:today'

# Show up to 3 tasks
MAX_TASKS=3

# Check every 10 minutes
CHECK_INTERVAL_MINUTES=10

# Use styled divider (requires Oh-My-Zsh)
DIVIDER_TEMPLATE='styled'

The plugin supports highly customizable dividers that are compatible with Oh-My-Zsh prompt formatting.

Template Description Example simple Basic line across screen ──────────────────────────────── styled Blue styled line ──────────────────────────────── user Include username john ───────────────────────── time Include current time 14:30 ─────────────────────── custom Use DIVIDER_FORMAT Fully customizable Oh-My-Zsh Compatible Custom Formats

When using DIVIDER_TEMPLATE='custom', you can use full zsh prompt expansion:

# Colored divider with username and hostname
DIVIDER_FORMAT='%{$fg[cyan]%}%n@%m%{$reset_color%} %{$fg[blue]%}${(l:$((COLUMNS-10))::─:)}%{$reset_color%}'

# Time-stamped divider
DIVIDER_FORMAT='%D{%H:%M:%S} %{$fg[green]%}${(l:$((COLUMNS-9))::═:)}%{$reset_color%}'

# Fancy divider with RTM branding
DIVIDER_FORMAT='%{$fg_bold[yellow]%}── RTM ──${(l:$((COLUMNS-9))::─:)}%{$reset_color%}'
Zsh Prompt Expansion Reference

The plugin supports all standard zsh prompt sequences:

# Available colors (Oh-My-Zsh)
$fg[red] $fg[green] $fg[yellow] $fg[blue] $fg[magenta] $fg[cyan] $fg[white]
$fg_bold[color] $fg_no_bold[color] $reset_color

# Rainbow divider
DIVIDER_FORMAT='%{$fg[red]%}──%{$fg[yellow]%}──%{$fg[green]%}──%{$fg[cyan]%}──%{$fg[blue]%}──%{$fg[magenta]%}${(l:$((COLUMNS-12))::─:)}%{$reset_color%}'

Once installed, the plugin runs automatically. After each command execution, it will:

  1. Check if the configured interval has passed
  2. Query RTM for urgent tasks
  3. Display a clean list of tasks (if any)
  4. Cache the result to avoid excessive API calls

Example output:

$ ls -la
total 48
drwxr-xr-x  6 user  staff   192 Jan 15 10:30 .
drwxr-xr-x  3 user  staff    96 Jan 15 10:29 ..
-rw-r--r--  1 user  staff  1234 Jan 15 10:30 README.md

📋 RTM Reminders:
  • Call dentist - Due today
  • Submit report - Due in 30 minutes

$

The plugin uses RTM's query syntax. Examples:

# High priority tasks due soon
URGENCY_QUERY='priority:1 and dueBefore:tomorrow'

# Tasks from specific lists
URGENCY_QUERY='list:Work and dueBefore:today'

# Overdue tasks only
URGENCY_QUERY='dueBefore:today'
  1. Check if RTM CLI is installed and working:

  2. Verify plugin is loaded:

    echo $RTM_REMINDER_PLUGIN_DIR
  3. Check if config file exists and is readable:

    ls -la ~/.config/rtm-reminder-zsh/config
  1. Test your RTM query directly:

    rtm lsd "dueBefore:today or dueWithin:\"1h\""
  2. Check the cache file timestamp:

    cat ~/.cache/rtm-reminder-zsh/last_check

MIT License - feel free to modify and share!

Vibe coded by Claude Code

Issues and pull requests welcome! This plugin is designed to be lightweight and maintainable.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4