• v0.6.2 5317d09650

    Shell UX polish: pre-connect controller, hot-plug monitors, sound packs
    release / Build Windows .zip (push) Canceled after 0s

    LastSkywalker released this 2026-05-27 21:07:59 +03:00 | 64 commits to main since this release

    1. Controller chip stuck on "no pad" when the pad was already connected
      at startup. The XInput poller emits state on transitions only, and
      the initial connect event fires before any frontend hook has
      subscribed via EventsOn. Added IsControllerConnected() backend
      method (backed by atomic flag in the Service) and the
      useControllerConnected() hook now pulls it on mount.

    2. Monitor picker only ran at startup, so plugging in a second display
      mid-session was invisible. internal/display now has Watch() that
      polls List() every 5 s and emits "display:changed" with the new
      list when the topology fingerprint shifts. ShellApp subscribes:
      on change, re-applies the remembered monitor if it's still there,
      otherwise re-opens the picker.

    3. Sound: replaced the bool mute toggle with four packs — psstyle
      (default), subtle, retro 8-bit, off. Each has its own oscillator
      recipe for move/select/back. Settings page gets radio + preview
      buttons. Old isNavSoundEnabled/setNavSoundEnabled kept as aliases
      so the CornerIcons mute icon keeps working without code changes.

    Downloads