Skip to content

yavorfingarov/TodoTxtDaemon

Repository files navigation

TodoTxtDaemon

release downloads cd codeql loc test coverage mutation score

TodoTxtDaemon is a tiny daemon that monitors your todo.txt file and moves completed tasks to your done.txt file.

Features

  • Moves tasks once per day at 03:00.
  • Moves tasks as soon as possible when the computer was powered off or hiberated for a longer period.
  • Automatically prepends the task completion date based on the last write time of todo.txt.
  • If the last write time is between 00:00 and 03:00, the task is considered to be completed on the previous day.
  • Low CPU and memory footprint.

Installation

Download the latest release for your OS and extract it somewhere on your hard drive. If you don't have the .NET 7 runtime installed, choose the self-contained build.

Usage

Edit appsettings.ini and add the paths of your todo.txt and done.txt files.

Set up the daemon to start at log on:

Windows

  • Open Administrative Tools > Task Scheduler
  • In the Actions panel, click Create Basic Task
  • Enter a name and click Next
  • Select When I log on and click Next
  • Select Start a program and click Next
  • In the Program/script field, locate the TodoTxtDaemon.exe and click Next
  • Select Open the Properties dialog... and click Finish
  • Select Run whether user is logged on or not and select Do not store password...
  • In the Conditions tab, unselect Start the task only if the computer is on AC power
  • In the Settings tab, unselect Stop the task if it runs longer...

MacOS

  • Open System Preferences > Users & Groups
  • In the Login Items tab, click on the lock icon and enter your admin password
  • Click + and locate the TodoTxtDaemon executable

Linux

  • (GNOME, Cinnamon, MATE, Unity) Open Startup Applications Preferences
  • (KDE) Open System Settings > Startup and Shutdown and select the Autostart panel
  • (Xfce) Open Settings Manager > Session and Startup and select the Application Autostart tab
  • Add the TodoTxtDaemon executable

Once the daemon is running, check app.log if everything works as expected.

Additional resources

Help and support

For bug reports and feature requests, please use the issue tracker. For questions, ideas and other topics, please check the discussions.