Skip to content

Add configurable print status window#10505

Open
sepp89117 wants to merge 1 commit intobambulab:masterfrom
sepp89117:feature/print-status-window
Open

Add configurable print status window#10505
sepp89117 wants to merge 1 commit intobambulab:masterfrom
sepp89117:feature/print-status-window

Conversation

@sepp89117
Copy link
Copy Markdown

Summary

  • Adds a new PrintStatusFrame tool window with local printer selection and compact print monitoring UI.
  • Integrates manual open, auto-show on minimize, and optional close-to-tray behavior into MainFrame, while keeping explicit quit and shutdown paths intact.
  • Adds preferences and config defaults for enablement, minimize behavior, tray behavior, always-on-top, remembered position, theme, and opacity.
  • Includes build system and i18n list updates for the new widget source.

Testing

  • Manually verified on Windows during development:
    • manual open of the print status window
    • auto-show on minimize
    • restore and quit paths around tray behavior
    • multi-printer switching
    • offline / idle / printing / finished rendering
    • fixed-size layout adjustments and remembered position

Testing note

  • I was only able to test this locally on Windows.
  • I could not test the macOS or Linux behavior myself.
  • macOS intentionally does not add a new menu-bar tray implementation.
  • Linux close-to-tray behavior depends on the desktop environment’s wxTaskBarIcon support and would benefit from maintainer/community testing.

Known limitations

  • macOS does not get a new menu-bar tray implementation; close-to-tray remains effectively unsupported there.
  • Linux tray support still depends on desktop environment support for wxTaskBarIcon.
  • Some legacy print_status_window_show_* and width/height config keys remain in AppConfig for compatibility, even though the current widget no longer uses them.

Add a new floating PrintStatusFrame widget and wire it into the main window lifecycle. The widget can be opened manually, auto-shown when the main window is minimized, and kept as a single reusable instance. On Windows and Linux, closing the main window can optionally minimize Bambu Studio to the system tray while explicit quit paths still perform a real shutdown.

Implement a compact print status dashboard with local printer selection, status badges, progress, remaining time, ETA, layer information, warnings, and live nozzle, bed, and chamber temperatures. The frame stores only the selected printer dev_id and resolves MachineObject instances on demand, avoiding long-lived raw printer pointers while handling missing, offline, idle, printing, paused, and finished states robustly.

Add Print Status Window preferences and defaults for enablement, auto-show on minimize, close-to-tray, always-on-top, remembered position, theme, and opacity. Keep the widget lightweight and self-contained with its own timer-based refresh, fixed-size compact layout, local theme handling, deferred safe show on minimize, build integration, and i18n extraction for the new UI strings.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant