Skip to content

feat: share Proton runtimes and improve macOS integrations - #122

Draft
Milky2018 wants to merge 8 commits into
mainfrom
milky/global-runtime-cache
Draft

feat: share Proton runtimes and improve macOS integrations#122
Milky2018 wants to merge 8 commits into
mainfrom
milky/global-runtime-cache

Conversation

@Milky2018

Copy link
Copy Markdown
Contributor

Summary

  • publish assembled Proton/CEF runtimes into the immutable user-level cache and let projects select the shared runtime instead of copying a complete runtime into every project
  • simplify runtime publication around a staging-directory rename and keep project-local state limited to the selected runtime metadata
  • present UserNotifications banners while a macOS application is in the foreground
  • add 55_desktop_showcase, a presentation-ready example combining dialogs, clipboard access, notifications, and tray menus
  • include a package configuration so the showcase can be built as a real macOS .app with the bundle identifier required by UserNotifications

Motivation

The previous runtime setup duplicated the complete CEF runtime for every Proton project. A few scaffolded applications could therefore consume several gigabytes even when they selected the same Proton and CEF versions. The shared cache makes the assembled runtime immutable and reusable while preserving an explicit per-project selection.

The macOS notification backend also reported successful delivery without showing a banner when the application was foregrounded. macOS delegates foreground presentation policy to willPresentNotification, so Proton now opts into banner, notification-list, and sound presentation.

The new showcase provides one application for demonstrating the native desktop integration surface instead of switching between several focused examples.

Validation

  • moon fmt
  • moon info
  • moon check 55_desktop_showcase --target native --diagnostic-limit 80
  • moon build 55_desktop_showcase --target native --diagnostic-limit 80
  • tray package tests: 19 passed
  • tray extension tests: 4 passed
  • native CTest: 6 passed
  • package-plan dry run for 55_desktop_showcase
  • built and ad-hoc signed dist/Proton Desktop Showcase.app
  • manually verified foreground macOS notifications and the tray example

@Milky2018 Milky2018 added build-prebuilt Build native prebuilt artifacts for this pull request and removed build-prebuilt Build native prebuilt artifacts for this pull request labels Aug 14, 2026
@Milky2018
Milky2018 force-pushed the milky/global-runtime-cache branch from 76ab6ba to 92af2bf Compare August 14, 2026 08:16
@Milky2018 Milky2018 added build-prebuilt Build native prebuilt artifacts for this pull request and removed build-prebuilt Build native prebuilt artifacts for this pull request labels Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build-prebuilt Build native prebuilt artifacts for this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant