Skip to content

feat: add "Open Mods Folder" entry to system tray context menu#56

Open
daymi-el wants to merge 1 commit into
Alban1911:mainfrom
daymi-el:feat/system-tray-open-mods-folder
Open

feat: add "Open Mods Folder" entry to system tray context menu#56
daymi-el wants to merge 1 commit into
Alban1911:mainfrom
daymi-el:feat/system-tray-open-mods-folder

Conversation

@daymi-el
Copy link
Copy Markdown

@daymi-el daymi-el commented May 1, 2026

Summary

  • Adds an Open Mods Folder entry between the version label and Quit in the system tray context menu, exposing the same action that's already available from the WebSocket UI.
  • Extracts the shared open-folder logic into utils.core.paths.open_folder_in_explorer; both the tray callback and the existing _handle_open_mods_folder WebSocket handler now go through it.
  • The buggy unreachable ternary in the original handler ("xdg-open" if os.name != "nt" else "explorer", sitting inside the non-Windows branch) is dropped by virtue of routing through the util — no other behaviour change at the WebSocket call site.

Test plan

  • Right-click the tray icon — menu shows Rose v… (disabled), separator, Open Mods Folder, separator, Quit.
  • Click Open Mods Folder — Explorer opens at %LOCALAPPDATA%\Rose\mods; log shows Open Mods Folder requested from system tray.
  • Delete %LOCALAPPDATA%\Rose\mods and click again — folder is recreated and opens.
  • Trigger the existing WebSocket "open mods folder" UI action — Explorer still opens at the same path; [SkinMonitor] Opened mods folder: still logs.
  • Quit still works.

Exposes the same open-mods-folder action that's already available from
the WebSocket UI directly in the tray, so users can reach the folder
without launching the UI. Extracts the shared open-folder logic into
utils.core.paths.open_folder_in_explorer and routes both the tray
callback and the existing WebSocket handler through it, keeping the
behaviour in lockstep.

Co-Authored-By: Claude Opus 4.7 <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