diff --git a/CHANGELOG.md b/CHANGELOG.md index ae5c887f..f06ed896 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm ### Changed - Fixed an issue that caused a window to not become unmanaged when a space with a single window changed to float [#586](https://github.com/koekeishiya/yabai/issues/586) - Restore opacity back to full if *window_opacity* is disabled [#585](https://github.com/koekeishiya/yabai/issues/585) +- Update scripting-addition to support macOS Big Sur 10.16 Build 20A4299v [#589](https://github.com/koekeishiya/yabai/issues/589) ## [3.2.1] - 2020-06-17 ### Changed diff --git a/src/osax/common.h b/src/osax/common.h index dff4df00..5964e871 100644 --- a/src/osax/common.h +++ b/src/osax/common.h @@ -1,7 +1,7 @@ #ifndef SA_COMMON_H #define SA_COMMON_H -#define OSAX_VERSION "1.0.14" +#define OSAX_VERSION "1.0.15" #define OSAX_PAYLOAD_SUCCESS 0 #define OSAX_PAYLOAD_NOT_FOUND 1 diff --git a/src/osax/payload.m b/src/osax/payload.m index eb28a856..39a0500c 100644 --- a/src/osax/payload.m +++ b/src/osax/payload.m @@ -172,7 +172,9 @@ static uint64_t hex_find_seq(uint64_t baddr, const char *c_pattern) } uint64_t get_dock_spaces_offset(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return 0x9000; + } if (os_version.minorVersion == 15) { return 0x8000; } else if (os_version.minorVersion == 14) { if (os_version.patchVersion >= 4) { @@ -187,7 +189,9 @@ uint64_t get_dock_spaces_offset(NSOperatingSystemVersion os_version) { } uint64_t get_dppm_offset(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return 0x8000; + } else if (os_version.minorVersion == 15) { return 0x6000; } else if (os_version.minorVersion == 14) { return 0x7000; @@ -209,7 +213,9 @@ uint64_t get_add_space_offset(NSOperatingSystemVersion os_version) { } uint64_t get_remove_space_offset(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return 0x2F9000; + } else if (os_version.minorVersion == 15) { return 0x320000; } else if (os_version.minorVersion == 14) { return 0x37fb00; @@ -220,7 +226,9 @@ uint64_t get_remove_space_offset(NSOperatingSystemVersion os_version) { } uint64_t get_move_space_offset(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return 0x2E9000; + } else if (os_version.minorVersion == 15) { return 0x310000; } else if (os_version.minorVersion == 14) { if (os_version.patchVersion >= 4) { @@ -237,7 +245,9 @@ uint64_t get_move_space_offset(NSOperatingSystemVersion os_version) { } uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return 0x53000; + } else if (os_version.minorVersion == 15) { return 0x53000; } else if (os_version.minorVersion == 14) { if (os_version.patchVersion >= 4) { @@ -252,7 +262,9 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) { } const char *get_dock_spaces_pattern(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return "?? ?? ?? 00 49 8B 7D 00 48 8B 35 E4 7B 41 00 44 89 BD 38 FE FF FF 44 89 FA 41 FF D4 48 89 C7 E8 1D 8B 32 00 48 89 85 E8 FD FF FF 48 8B 3D 09 CB 41 00 E8 5C 8A 32 00 48 8B 35 45 7C 41 00 48 89 C7 31 D2 41 FF D4 48 89 85 28 FE FF FF 49 8B 7D 00 48"; + } else if (os_version.minorVersion == 15) { if (os_version.patchVersion >= 4) { return "?? ?? ?? 00 49 8B 3F 48 8B 35 ?? 3D 44 00 44 89 B5 40 FE FF FF 44 89 F2 41 FF D4 48 89 C7 E8 ?? 70 35 00 48 89 85 E8 FD FF FF 48 8B 3D ?? 8D 44 00 E8 ?? 6F 35 00 4C 8B 35 ?? 3E 44 00 48 89 C7 4C 89 F6 31 D2 41 FF D4 48 89 85 28 FE FF FF 49 8B 3F 48 8B 35 ?? 82 44 00 48 89 DA 41 FF"; } else { @@ -266,10 +278,11 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) { return NULL; } -const char *get_dppm_pattern(NSOperatingSystemVersion os_version) -{ - if (os_version.minorVersion == 15) { - return "?? ?? ?? 00 48 89 C6 E8 ?? ?? ?? 00 4D 85 F6 0F 84 67 06 00 00 48 8B 3D ?? ?? ?? 00 48 8B 35 ?? ?? ?? 00 FF 15 ?? ?? ?? 00 48 89 C7 E8 ?? ?? ?? 00 48 89 85 08 FF FF FF C7 85 1C FF FF FF 00 00 00 00 E8 ?? ?? ?? 00 48 8D 75 B0 89 C7 E8 ?? ?? ?? 00"; +const char *get_dppm_pattern(NSOperatingSystemVersion os_version) { + if (os_version.minorVersion == 16) { + return "?? ?? ?? 00 48 89 C6 E8 ?? ?? ?? 00 4D 85 F6 0F 84 ?? 06 00 00 48 8B 3D ?? ?? ?? 00 48 8B 35 ?? ?? ?? 00 FF 15 ?? ?? ?? 00 48 89 C7 E8 ?? ?? ?? 00 48 89 85 08 FF FF FF C7 85 1C FF FF FF 00 00 00 00 E8 ?? ?? ?? 00 48 8D 75 B0 89 C7 E8 ?? ?? ?? 00"; + } else if (os_version.minorVersion == 15) { + return "?? ?? ?? 00 48 89 C6 E8 ?? ?? ?? 00 4D 85 F6 0F 84 ?? 06 00 00 48 8B 3D ?? ?? ?? 00 48 8B 35 ?? ?? ?? 00 FF 15 ?? ?? ?? 00 48 89 C7 E8 ?? ?? ?? 00 48 89 85 08 FF FF FF C7 85 1C FF FF FF 00 00 00 00 E8 ?? ?? ?? 00 48 8D 75 B0 89 C7 E8 ?? ?? ?? 00"; } else if (os_version.minorVersion == 14) { return "?? ?? ?? 00 48 89 C6 E8 ?? ?? 3C 00 4D 85 FF 0F 84 AC 06 00 00 48 8B 3D ?? 00 4C 00 48 8B 35 ?? A4 4B 00 FF 15 ?? ?? 43 00 48 89 C7 E8 ?? 6B 3C 00 48 89 85 10 FF FF FF C7 85 1C FF FF FF 00 00 00 00 E8 ?? 69 3C 00 48 8D 75 B0 89 C7 E8 ?? 6A 3C 00"; } else if (os_version.minorVersion == 13) { @@ -279,7 +292,9 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) { } const char *get_add_space_pattern(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 18 4C 89 6D C0 48 BA 01 00 00 00 00 00 00 40 48 B9 F8 FF FF FF FF FF FF 00 49 8D 45 28 48 89 45 D0 4D 8B 7D 28 41 80 7D 38 01 48 89 7D C8 75 2E 49 89 FC 49 85 D7 74 59 4C 89 FB 48 21 CB 41 F6 C7 01 49 0F 45 DF 4C 89 FF E8 18 FC 0F 00 48 89 DF E8 62"; + } else if (os_version.minorVersion == 15) { if (os_version.patchVersion >= 4) { return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 28 4C 89 6D C0 48 89 7D C8 48 B9 01 00 00 00 00 00 00 40 49 BE F8 FF FF FF FF FF FF 00 49 8D 45 28 48 89 45 D0 4D 8B 7D 28 41 80 7D 38 01 75 2B 49 85 CF 74 59 4C 89 FB 4C 21 F3 41 F6 C7 01 49 0F 45 DF 4C 89 FF E8 ?? 26 12 00 48 89 DF E8 9B"; } else { @@ -298,7 +313,9 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) { } const char *get_remove_space_pattern(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 68 48 89 4D 98 49 89 D4 49 89 F6 49 89 FF 49 89 F5 E8 9A 93 F3 FF 49 89 C5 48 B8 01 00 00 00 00 00 00 40 49 85 C5 0F 85 DE 03 00 00 48 B8 F8 FF FF FF FF FF FF 00 4C 21 E8 48 8B 58 10 48 83 FB 02 0F 8C CD 01 00 00 4C 89 75 A0 48 8D 05 C6 F6 13 00 48 8B 00 4D 8B 34 07 4C 89 E3 4D 8B 64 07"; + } else if (os_version.minorVersion == 15) { if (os_version.patchVersion >= 4) { return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 48 48 89 4D A0 49 89 D4 49 89 F5 49 89 FE E8 FD 7B F1 FF 48 89 C3 48 B8 01 00 00 00 00 00 00 40 48 85 C3 0F 85 23 03 00 00 48 B8 F8 FF FF FF FF FF FF 00 48 21 D8 4C 8B 78 10 49 83 FF 02 0F 8C 3F 01 00 00 4C 89 6D A8 48 89 5D B8 48 8D 05 ??"; } else { @@ -317,7 +334,9 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) { } const char *get_move_space_pattern(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 48 4C 89 E9 41 89 D5 49 89 F6 49 89 FF 48 8D 1D 0C EA 14 00 48 8B 03 4C 8B 24 07 4C 89 E7 48 89 4D A0 48 89 CE E8 D6 C0 00 00 48 85 C0 74 27 48 8D 0D 0E DD 15 00 80 39 01 48 89 55 C8 48 89 45 A8 75 1A 48 89 C7 4C 89 F6 49 89 D5 E8 6F D8 F4"; + } else if (os_version.minorVersion == 15) { if (os_version.patchVersion >= 4) { return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 48 4C 89 E9 41 89 D5 49 89 F6 49 89 FF 48 8D 1D ?? ?? 14 00 48 8B 03 4C 8B 24 07 4C 89 E7 48 89 4D A0 48 89 CE E8 E6 BE 00 00 48 85 C0 74 27 48 8D 0D ?? D8 15 00 80 39 01 48 89 55 C8 48 89 45 A8 75 1A 48 89 C7 4C 89 F6 49 89 D5 E8 3F D8 F2"; } else { @@ -338,7 +357,9 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) { } const char *get_set_front_window_pattern(NSOperatingSystemVersion os_version) { - if (os_version.minorVersion == 15) { + if (os_version.minorVersion == 16) { + return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 58 48 8B 05 ?? ?? ?? 00 48 8B 00 48 89 45 D0 85 F6 0F 84 ?? 02 00 00 41 89 F5 49 89 FF 49 89 FE 49 C1 EE 20 48 8D 75 AF C6 06 00 E8 ?? ?? 02 00 48 8B 3D ?? ?? ?? 00 BE 01 00 00 00 E8 ?? ?? ?? 00 84 C0 74 59 0F B6 5D AF 4C 8D 45"; + } else if (os_version.minorVersion == 15) { return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 58 48 8B 05 ?? ?? ?? 00 48 8B 00 48 89 45 D0 85 F6 0F 84 ?? 02 00 00 41 89 F5 49 89 FF 49 89 FE 49 C1 EE 20 48 8D 75 AF C6 06 00 E8 ?? ?? 02 00 48 8B 3D ?? ?? ?? 00 BE 01 00 00 00 E8 ?? ?? ?? 00 84 C0 74 59 0F B6 5D AF 4C 8D 45"; } else if (os_version.minorVersion == 14) { if (os_version.patchVersion >= 4) {