Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Conversation

@nholzmann
Copy link

Summary

  • Dark mode support: Added dynamic theme detection for macOS with adaptive colors for treeview headings, status text, and tree items
  • Tooltip fix: Added explicit foreground color to tooltips for readability on dark backgrounds
  • ET-2760 printer support: Added ET-2760 as an alias for ET-2750
  • Window size: Increased default geometry to 750x600 for better button visibility

Changes

ui.py

  • Added is_dark_mode() function to detect macOS dark mode via defaults read -g AppleInterfaceStyle
  • Added ThemeColors class with light/dark color schemes that auto-update
  • Updated all hardcoded colors to use theme colors (treeview headings, status tags, tree tags)
  • Fixed tooltip label to include foreground="black" for dark mode readability
  • Changed window geometry from 500x500 to 750x600
  • Standardized minsize to 750x600 across all platforms

epson_print_conf.py

  • Added "ET-2760" to the alias list for ET-2750

Known Limitations

Button text may appear clipped on macOS due to the native Aqua ttk theme ignoring padding and height styling. This is a known limitation of ttk on macOS - the Aqua theme enforces native widget appearance and does not respect custom sizing. The increased window size helps mitigate this by giving buttons more horizontal space.

Test Plan

  • Verify app launches without errors on macOS
  • Toggle system dark/light mode and confirm colors update appropriately
  • Hover over UI elements to verify tooltips are readable
  • Select ET-2760 from printer dropdown
  • Confirm window displays at 750x600

🤖 Generated with Claude Code

Nathaniel Holzmann and others added 4 commits January 3, 2026 21:17
- Add foreground="black" to tooltip label for visibility on dark backgrounds
- Add ET-2760 as alias for ET-2750 (same EcoTank series, compatible config)
- Add is_dark_mode() function to detect system appearance
- Add ThemeColors class with light/dark color schemes
- Update Treeview heading, tree tags, status text, and help text
  to use dynamic theme colors for better readability in both modes
- Change default geometry from 500x500 to 750x600
- Standardize minsize to 750x600 across all platforms
- Fix "Web interface" capitalization to "Web Interface"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Replace deprecated trace('w', ...) with trace_add('write', ...) to fix
crash on macOS with newer Homebrew Python that uses Tcl/Tk 9.0.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <[email protected]>
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