Skip to content

Enhance System Tray with Rich Status Display and NotificationsΒ #91

@krjordan

Description

@krjordan

Summary

Enhance the basic system tray implementation with rich status display, real-time updates, and system notifications for print events.

Dependencies

User Story

As a user monitoring multiple 3D printers, I want to see detailed printer status in my menu bar and receive notifications for important print events so that I can stay informed without constantly checking the dashboard.

Phase 2 Requirements

Rich Status Display

  • Dynamic Status Text: Show real-time summary like "πŸ“Š 2 idle, 3 printing, 1 error"
  • Dynamic Tray Icon: Change icon color/style based on overall printer status
    • Green: All printers healthy
    • Yellow: Some printers idle
    • Red: Errors detected
  • Individual Printer Menu Items:
    πŸ“Š 3 Printing, 2 Idle, 0 Errors
    ──────────────────────
    πŸ–¨οΈ Printer A - Printing (45%)
    πŸ–¨οΈ Printer B - Printing (78%)  
    πŸ–¨οΈ Printer C - Idle
    ──────────────────────
    πŸ”§ Open Dashboard
    βš™οΈ Settings
    ❌ Quit
    

System Notifications

  • Print Completion: Notify when prints finish successfully
  • Print Errors: Alert when printers encounter errors
  • Print Started: Optional notification when new prints begin
  • Connection Issues: Alert when printers go offline
  • Notification Settings: User control over which events trigger notifications

Real-time Updates

  • Live Status Updates: Tray text updates as printer status changes
  • Menu Refresh: Individual printer items update with current progress
  • Efficient Updates: Minimize system resource usage

Technical Implementation

  • Extend existing MQTT service integration for real-time tray updates
  • Use Tauri's notification APIs for system notifications
  • Implement dynamic icon system with multiple icon states
  • Add user preferences for notification settings

Acceptance Criteria

  • Tray displays accurate real-time printer summary
  • Icon color reflects overall printer health
  • Individual printer progress shown in menu
  • System notifications work for all specified events
  • Users can configure notification preferences
  • Performance remains smooth with multiple printers
  • Works reliably on Windows and macOS

Design Considerations

  • Keep menu readable with 5+ printers
  • Ensure notifications are helpful, not annoying
  • Provide clear visual hierarchy in menu items
  • Consider printer name truncation for long names

Priority

Low-Medium - Valuable enhancement but not critical for core functionality

Labels

enhancement, ui, desktop, community

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions