macOS 27 Golden Gate Beta - 脚本添加偏移和模式
[!NOTE] This is for yabai users who, like me, move to each new Golden Gate beta the moment it drops and want to keep things working without waiting for an official build. The maintainers are welcome to use these values too.
It's filed as an issue rather than a Pull Request only because PRs are disabled on this repo.
@asmvik, feel free to pin this while Golden Gate is in beta if it'd help people find it; it can come down once the public release ships.
The scripting addition works on the macOS 27 developer beta. Five of the seven Dock signatures carried over from Tahoe unchanged and only needed their offsets bumped to wherever Apple moved them.
add_spaceandset_front_windowneeded new patterns.Derived against build
26A5353q, Dock SHA-25634af810d533a6b9be3d4fa8eeda1bb0bb399c22bb38fc6373581f9fedb9e697c. Onlyarm64e, as macOS Golden Gate dropped Intel support.What changed
Check out this commit on my fork. If you keep your own source, diff that and you're done.
In the two that changed, only one byte actually moved: a
bltarget inadd_space, and thecbzdisplacement before the prologue inset_front_window. Tahoe matched those bytes literally, which is why its patterns broke on Golden Gate; the ones below wildcard them:
target offset pattern dock.spaces0x30000?8 ?? ?? ?? 08 ?? ?? 91 00 01 40 F9 E2 03 13 AA ?? ?? ?? 94 ?? ?? ?? ?? 08dp_desktop_picture_manager0x40000?? ?? 00 ?? 08 ?? ?? 91 00 01 40 F9 E2 03 16 AA E3 03 19 AA ?? ?? ?? 94add_space(changed)0x2100007F 23 03 D5 E1 03 1E AA ?? ?? ?? 97 FE 03 01 AA ?? ?? ?? A9 FD 43 01 91 F3 03 14 AA F5 03 00 AA 96 8E 43 F8remove_space0x1700007F 23 03 D5 FF ?? ?? D1 FC ?? ?? A9 FA ?? ?? A9 F8 ?? ?? A9 F6 ?? ?? A9 F4 ?? ?? A9 FD ?? ?? A9 FD ?? ?? 91 ?? 03 03 AA F5 03 02 AA F4 03 01 AAmove_space0x1700007F 23 03 D5 E3 03 1E AA ?? ?? ?? 97 FE 03 03 AA FD 7B ?? A9 FD ?? ?? 91 F6 03 14 AAset_front_window(changed)0x10000?? ?? ?? 34 7F 23 03 D5 FF C3 01 D1 ?? ?? ?? A9 ?? ?? ?? A9 ?? ?? ?? A9 FD 83 01 91 F3 03 01 AA F5 03 00 AAanimation_time0x21000000 10 6A 1E A8 ?? ?? D1 ?? 01 ?? F8Checking the offsets on a later beta
Apple shuffles these every few betas, and most of the time it's only the offsets. You can find the new ones yourself in a minute. The script below reads a Dock binary and tells you, per target, whether the signature is unchanged, moved (and where to), or actually changed:
python3 verify_offsets.py /System/Library/CoreServices/Dock.app/Contents/MacOS/DockHere's the script: Yabai scripting-addition offset checker, verify/find Dock offsets on new macOS (beta) builds.
A moved offset is a one-line edit. A changed pattern is the only case that …
内容来源: asmvik/yabai