• v0.6.3 765ac77c8d

    Monitor picker bug fixes + input lockout + sound settings shortcut
    release / Build Windows .zip (push) Canceled after 0s

    LastSkywalker released this 2026-05-27 21:25:29 +03:00 | 63 commits to main since this release

    #1 ChangeDisplaySettingsEx returned -2 (DISP_CHANGE_BADMODE) when
    trying to disable any monitor:
    – devModeW had two extra alignment shorts (_pad0 / _pad1) I'd added
    out of paranoia. They pushed sizeof(devModeW) to 224 B instead of
    the 220 B Win32 ABI expects, shifting every field past dmCollate
    by 2-4 bytes. As a result PelsWidth/PelsHeight read garbage on
    enumeration AND were rejected on the disable call.
    – You also can't disable the current primary without first
    transferring "primary" to another display. MakeSole now first
    pushes the target to (0,0) + CDS_SET_PRIMARY, then zeroes the
    rest, then commits. RestoreSaved mirrors this on the way back.

    #2 Monitor cards now show the DISPLAY1/DISPLAY2 label + position
    coords so two identical Generic PnP Monitors can be told apart and
    matched against Windows's own display-settings numbering.

    #3 ShellApp controller/keyboard/mouse handlers now bail when the
    monitor picker is open. Previously a d-pad press in the picker also
    shifted the game carousel, and A launched a game instead of
    confirming the picker.

    #4 Audio output device picker is bigger than this release — for now,
    Settings has an "Открыть Параметры → Звук" button as placeholder
    while the proper IPolicyConfig-backed in-app picker lands in v0.6.4.

    Downloads