Skip to content

Releases: VahantSharma/TuxTimer

Dawn Version

23 Mar 16:38

Choose a tag to compare

TuxTimer.sh - Version 1.0.0 Release Notes

Overview

Version 1.0.0 marks the first official release of TuxTimer.sh, a thoughtfully designed and versatile time and task management tool specifically crafted to enhance productivity and organize tasks seamlessly within Linux environments. Developed with user experience in mind, this release offers a robust set of features, streamlined integration capabilities, and intuitive interaction, making daily task management both effective and enjoyable.

Key Features

1. Task Management

  • Effortless Scheduling: Easily create, update, pause, resume, and conclude tasks with comprehensive metadata such as deadlines, priorities, and recurrence patterns.
  • Recurring Tasks: Automatically handle recurring tasks (daily, weekly, monthly) using built-in cron integration.
  • Detailed Tracking: Accurately log task durations, accommodating multiple intervals with intuitive pause and resume functionality.

2. Personalized Notifications

  • Flexible Alerts: Receive timely notifications via desktop (notify-send), email, or messaging platforms like Slack.
  • Quiet Hours: Customize notification preferences to ensure minimal distractions during specified quiet hours.

3. Productivity Mode

  • Distraction Management: Temporarily block distracting websites by dynamically modifying the hosts file and firewall settings during active tasks.
  • Automatic Restoration: Seamlessly restore access to blocked sites upon task completion or pause.

4. Export and Reporting

  • Convenient Export: Easily export task logs in CSV and JSON formats for further analysis or archival purposes.
  • Insightful Reports: Generate clear and informative visual reports using GNUplot, providing insights into your productivity patterns.

5. External Calendar Integration

  • Calcurse Compatibility: Sync tasks and events effortlessly with Calcurse, offering intuitive ways to manage your schedule and appointments.

6. Enhanced User Experience

  • Interactive Menus: Navigate tasks quickly through a dual-mode interface—either by numeric shortcuts or interactive menus powered by whiptail.
  • Dynamic Task Selection: Find tasks instantly with intuitive fzf integration, ensuring swift and convenient interaction.

7. Stability and Reliability

  • Robust Error Handling: Comprehensive error handling ensures the application runs smoothly and informs users clearly of any issues.
  • Validated Inputs: Reliable input validation reduces errors, ensuring tasks and deadlines are consistently managed.

8. Modular and Maintainable

  • Clear Structure: Organized codebase simplifies future maintenance and feature expansions.
  • Configurable Settings: Easily adjust behaviors and preferences via external configuration files.

Dependency Requirements

  • Bash (v4.x or newer)
  • Essential utilities (sed, awk, date, crontab, mktemp)
  • Optional enhancements (gnuplot, fzf, whiptail or dialog, notify-send, calcurse, mail, curl)

Installation and Setup

  1. Clone or download the TuxTimer repository.
  2. Ensure all dependencies are installed:
    sudo apt-get install gnuplot fzf whiptail calcurse mailutils curl
  3. Customize your notification settings and productivity preferences via tuxtimer.conf.
  4. Initialize TuxTimer:
    chmod +x tuxtimer.sh
    ./tuxtimer.sh

Getting Started Examples

  • Add a Task:
    ./tuxtimer.sh add-task "Review Thesis" "2025-04-15 09:00" 1 daily
  • Start a Task:
    ./tuxtimer.sh start-task "Review Thesis"
  • Generate Productivity Reports:
    ./tuxtimer.sh plot-report

Roadmap Ahead

  • Integration with popular external calendar services like Google Calendar and Outlook.
  • Expanded reporting capabilities featuring advanced productivity metrics.
  • Development of a web-based interface for remote task management.

Known Issues

  • Ensure cron daemon is active for recurring tasks.
  • Administrator privileges might be necessary for website blocking.

Thank you for choosing TuxTimer.sh! Your feedback and contributions help us improve and enhance the experience for everyone.