Skip to content

Latest commit

 

History

History
252 lines (197 loc) · 8.44 KB

File metadata and controls

252 lines (197 loc) · 8.44 KB

Task Timer Widget

TaskTimerWidget Logo

License: MIT Platform .NET WinUI

A lightweight, minimal task timer widget for Windows 11.
Manage your tasks and track time with a simple, distraction-free interface.

Get it from Microsoft

DownloadFeaturesDocumentationPrivacy PolicyWebsite


📸 Screenshots

Normal Mode Compact Mode

Rename Feature

Left: Normal mode with multiple tasks • Right: Compact mode showing active task only • Bottom: Inline rename feature

🎯 Features

  • Minimal Design: Widget-sized window that doesn't take up much space
  • Task Management: Create, delete, and manage multiple tasks
  • Built-in Timer: Track elapsed time for each task
  • Manual Time Adjustment: Right-click a task to add or subtract time (-1h, -5m, +5m, +1h)
  • Active Task Highlighting: Yellow highlight shows which task is currently active
  • Pause & Resume: Click to pause/resume timer on any task
  • Inline Rename: Right-click to rename tasks in-place
  • Drag & Drop Reorder: Drag tasks to change their order
  • Compact Mode: Show only the active task for minimal screen usage
  • Persistent Storage: Tasks are saved locally
  • Help & About: Built-in tips and app information
  • Lightweight: Minimal resource usage

🚀 Getting Started

Prerequisites

  • Windows 10/11 (Build 17763 or later)
  • .NET 8.0 Runtime

Installation

  1. Clone or download the project
  2. Open src/TaskTimerWidget/TaskTimerWidget.csproj in Visual Studio 2022
  3. Build the project (Build > Build Solution)
  4. Run the application (F5 or Debug > Start Debugging)

Usage

  1. Add Task: Click the + button to add a new task
  2. Name Task: Enter the task name and press Enter (or click elsewhere to save)
  3. Start Timer: Click on a task to activate it and start the timer
  4. Pause Timer: Click the active task again to pause the timer
  5. Switch Tasks: Click another task to pause the current one and activate the new one
  6. Delete Task: Click the button on a task to remove it
  7. Rename Task: Right-click a task and select "Rename"
  8. Change Time: Right-click a task and select "Change Time" to manually adjust elapsed time
  9. Reorder Tasks: Drag tasks up or down to change their order
  10. Compact Mode: Click the button in the title bar to show only the active task

📁 Project Structure

TaskTimerWidget/
├── src/
│   └── TaskTimerWidget/
│       ├── Models/              # Data models (Task, etc.)
│       ├── ViewModels/          # MVVM ViewModels
│       ├── Services/            # Business logic services
│       ├── Helpers/             # Utility classes and converters
│       ├── Views/               # XAML UI files
│       ├── Assets/              # Images and resources
│       ├── App.xaml(.cs)        # Application entry point
│       └── TaskTimerWidget.csproj
├── docs/
│   ├── general/                 # General documentation
│   │   ├── DEVELOPMENT.md       # Development guide
│   │   ├── MARKET_RESEARCH.md   # Market analysis
│   │   ├── PRIVACY_POLICY.md    # Privacy policy
│   │   └── STORE_LISTING.md     # Store submission info
│   ├── tasks/TTW-1/             # Task-specific documentation
│   │   └── TODO.md              # Development roadmap
│   └── WINUI3_WINDOW_DRAGGING.md # WinUI 3 guide
├── legacy/                      # Old prototypes
├── CLAUDE.md                    # Code standards and guidelines
├── LICENSE                      # MIT License
└── README.md                    # This file

🏗️ Architecture

This project follows the MVVM (Model-View-ViewModel) pattern:

  • Models: Pure data objects (Task.cs)
  • ViewModels: Business logic and UI state management
  • Views: XAML UI and code-behind
  • Services: Data persistence and task management

🔧 Technology Stack

  • Framework: .NET 8.0
  • UI: WinUI 3
  • Logging: Serilog
  • DI: Microsoft.Extensions.DependencyInjection
  • Serialization: System.Text.Json

📋 Development

Building

dotnet build src/TaskTimerWidget/TaskTimerWidget.csproj

Running

dotnet run --project src/TaskTimerWidget/TaskTimerWidget.csproj

Code Standards

Please refer to CLAUDE.md for:

  • Naming conventions
  • Code style guidelines
  • MVVM patterns
  • Error handling standards
  • Documentation requirements

Development Guides and Resources

See docs/general/DEVELOPMENT.md for detailed development setup and guides, including:

Development Roadmap

See docs/tasks/TTW-1/TODO.md for the complete development roadmap with phases and milestones.

📊 Market Analysis

See docs/general/MARKET_RESEARCH.md for:

  • Market analysis and competition
  • Growth strategies
  • Monetization plan
  • Timeline and projections

🎯 Roadmap

v1.0 ✅

  • Core timer functionality
  • Task management (create, delete, rename, reorder)
  • Persistent storage
  • Compact mode
  • Always-on-top widget
  • Custom fonts and styling
  • Time percentage display
  • Drag-and-drop reordering
  • Windows Store submission
  • MSIX packaging

v1.1 (Current) ✅

  • Manual time adjustment (Change Time)
  • Inline Change Time card (same UX as Rename)
  • LostFocus save for rename and new task
  • Help & About buttons with flyout panels
  • Bug fixes (compact mode + change time interaction)

v2.0 (Planned)

  • Cloud synchronization (OneDrive)
  • Advanced statistics & reporting
  • Multiple themes
  • System tray integration
  • Windows startup option
  • Premium tier

v3.0+ (Future)

  • Team collaboration features
  • Cross-platform (mobile apps)
  • Integration ecosystem
  • Enterprise features

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

Why MIT? This license allows you to:

  • ✅ Use this software for any purpose (personal, commercial, educational)
  • ✅ Modify and distribute the code
  • ✅ Incorporate it into your own projects
  • ✅ Sell software that includes this code

The only requirement is to include the copyright notice and license text.

👥 Contributing

Contributions are welcome! Please:

  1. Follow the code standards in CLAUDE.md
  2. Create a feature branch
  3. Submit a pull request with description

📞 Support

For issues, questions, or suggestions, please:

  1. Check existing issues
  2. Create a new issue with detailed description
  3. Include screenshots/logs if applicable

🙏 Acknowledgments

  • Built with WinUI 3 and .NET 8.0
  • Inspired by Toggl and other time-tracking tools
  • Designed for productivity enthusiasts

Version: 1.1.0 Last Updated: February 13, 2026 Status: Public Release License: MIT