Skip to content

Windows - #3

Open
khiemnguyendinh wants to merge 5 commits into
mainfrom
windows
Open

khiemnguyendinh wants to merge 5 commits into
mainfrom
windows

Conversation

@khiemnguyendinh

Copy link
Copy Markdown
Owner

No description provided.

Khiem Nguyen Dinh and others added 5 commits April 30, 2026 21:58
- Increase icon resolution to 36x36 (18pt @ 2x Retina)
- Use black strokes on transparent background for template image
- macOS auto-inverts black→white in dark menu bar mode
- Add arrowhead to sync icon for better visibility
- Mark icon as template with setIsMask(True)
- Icon now visible on both light and dark menu bars
- Graceful fallback if setIsMask not available

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CI now builds both: portable LarkSync.exe + full folder distribution
- Portable .exe: single file, no extraction, just download and run
- build_windows.py: default to --onefile, optional --onedir flag
- Artifacts retained for 90 days
…ggle

- Settings dialog: opening while already open now raises existing window
  instead of spawning a duplicate (both tray menu and macOS menu bar)
- All sensitive input fields (Lark App ID/Secret, Google Drive Folder ID,
  Lark Chat ID) are now masked by default with a 👁 eye button to reveal
- Tray icon click now toggles the menu (click again to dismiss)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
New documents:
- docs/ARCHITECTURE.md  — Full system design: layer diagram, all module
  references, startup sequence, sync job lifecycle, signal/slot map,
  data storage schema, both auth flows, platform-specific code, build pipeline
- docs/DEVELOPER_GUIDE.md — Developer onboarding: env setup, branch strategy,
  key design patterns, how-to guides (new field, new file type), build steps,
  common pitfalls & known issues, code style conventions

Updated documents:
- docs/USER_GUIDE.md — Document new Settings UX (singleton, eye toggle,
  Sync Now/Cancel Sync states, menu toggle); add Section 6 for Settings;
  renumber TOC
- README.md — Add Smart Settings UX + secure fields to feature list;
  expand docs table with Architecture and Developer Guide links

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
On macOS, QSystemTrayIcon with setContextMenu() was auto-showing the menu
on every left-click independently of the activated signal, preventing
proper toggle (open → close) behavior.

Changes:
1. Remove setContextMenu() calls—menu shown/hidden exclusively via
   _on_tray_clicked() → popup()/hide()
2. Add _menu_hidden_at timestamp tracking: record when menu.aboutToHide fires
3. In _on_tray_clicked(): if menu was hidden <350ms ago (same click that
   dismissed it), suppress re-opening

Result: click 1 opens menu, click 2 closes menu, click-outside closes it.
Works on both macOS and Windows (Windows uses left-click for toggle,
right-click available if needed).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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