Skip to content

Commit

Permalink
koekeishiya#1054 update scripting-addition for 12.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
koekeishiya committed Dec 15, 2021
1 parent 5317b16 commit b548a9a
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 17 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ All notable changes to this project will be documented in this file.

This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]
## [Unreleased] - v4.0.0
### Added
- New config *window_origin_display* to specify which display a window should become managed at upon creation [#951](https://github.com/koekeishiya/yabai/issues/951)

### Changed
- Update scripting addition to support macOS 12.1.0 [#1054](https://github.com/koekeishiya/yabai/issues/1054)
- Fixed an issue that would cause the target window to snap back to its previous position when moved between displays using the cursor inside mission-control [#820](https://github.com/koekeishiya/yabai/issues/820)
- Properly drain autoreleased objects (from Apple frameworks) [#751](https://github.com/koekeishiya/yabai/issues/751)
- Detect and manage windows that are moved into the first space of a display when a space with active windows on it is destroyed [#813](https://github.com/koekeishiya/yabai/issues/813)
Expand Down
18 changes: 9 additions & 9 deletions src/osax/arm64/payload.m
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@

uint64_t get_dock_spaces_offset(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return 0xA600;
return 0x8000;
}

return 0;
}

uint64_t get_dppm_offset(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return 0x9000;
return 0x7000;
}

return 0;
Expand Down Expand Up @@ -46,55 +46,55 @@ uint64_t get_move_space_offset(NSOperatingSystemVersion os_version) {

uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return 0x4F000;
return 0x4D000;
}

return 0;
}

const char *get_dock_spaces_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "55 21 00 ?? B5 02 33 91 A0 02 40 F9 ?? 1F 00 ?? 01 C1 47 F9 E2 03 1B AA ?? ?? 0C 94 FD 03 1D AA ?? ?? 0C 94 E0 13 00 F9 08 20 00 ?? 00 ?? 40 F9 ?? ?? 0C 94 E8 1F 00 ?? 13 F1 40 F9 E1 03 13 AA 02 00 80 D2 ?? ?? 0C 94 E0 27 00 F9 A0 02 40 F9 08 20 00 ?? 01 7D 42 F9";
return "55 21 00 ?? B5 ?? ?? 91 A0 02 40 F9 ?? 1F 00 ?? 01 ?? ?? F9 E2 03 1B AA ?? ?? 0C 94 FD 03 1D AA ?? ?? 0C 94 E0 13 00 F9 ?? 20 00 ?? 00 ?? 40 F9 ?? ?? 0C 94 E8 1F 00 ?? 13 ?? ?? F9 E1 03 13 AA 02 00 80 D2 ?? ?? 0C 94 E0 27 00 F9 A0 02 40 F9 08 20 00 ?? 01 ?? 42 F9";
}

return NULL;
}

const char *get_dppm_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "40 21 00 D0 00 00 35 91 E1 03 13 AA ?? ?? 0C 94 D3 30 00 B4 08 20 00 F0 00 ?? ?? F9 E8 1F 00 B0 19 05 47 F9 E1 03 19 AA ?? ?? 0C 94 FD 03 1D AA ?? ?? 0C 94 F4 03 00 AA FF 6F 01 B9 ?? ?? 0C 94 A1 43 02 D1 ?? ?? 0C 94 15 21 00 D0 00 01 00 35 C1 1A 00 F0 21 ?? 1F 91";
return "?? 21 00 ?? 00 ?? ?? 91 E1 03 13 AA ?? ?? 0C 94 D3 30 00 B4 ?? 20 00 ?? 00 ?? ?? F9 E8 1F 00 ?? 19 ?? 47 F9 E1 03 19 AA ?? ?? 0C 94 FD 03 1D AA ?? ?? 0C 94 F4 03 00 AA FF 6F 01 B9 ?? ?? 0C 94 A1 43 02 D1 ?? ?? 0C 94 ?? 21 00 ?? 00 01 00 35 ?? 1A 00 ?? 21 ?? ?? 91";
}

return NULL;
}

const char *get_add_space_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "7F 23 03 D5 FF C3 01 D1 E1 03 1E AA 16 32 00 94 FE 03 01 AA FD 7B 06 A9 FD 83 01 91 F5 03 14 AA F3 03 00 AA 89 E2 40 39 96 16 40 F9 C8 FE 7E D3 3F 05 00 71 A1 00 00 54 88 14 00 B5 C8 E2 7D 92 17 09 40 F9 3B 00 00 14 E8 14 00 B5 C8 E2 7D 92 17 09 40 F9 DB 31 00 94 F7 05 00 B4 F8 06 00 F1 26 15 00 54 DA 0A 42 F2 E1 17 9F 1A E0 03 18 AA E2 03 16 AA 9D FF FD 97 9A 14 00 B5 C8 0E 18 8B 7B 32 00 94 F4 03 00 AA";
return "7F 23 03 D5 FF C3 01 D1 E1 03 1E AA 16 32 00 94 FE 03 01 AA FD 7B 06 A9 FD 83 01 91 F5 03 14 AA F3 03 00 AA 89 E2 40 39 96 16 40 F9 C8 FE 7E D3 3F 05 00 71 A1 00 00 54 88 14 00 B5 C8 E2 7D 92 17 09 40 F9 3B 00 00 14 E8 14 00 B5 C8 E2 7D 92 17 09 40 F9 DB 31 00 94 F7 05 00 B4 F8 06 00 F1 26 15 00 54 DA 0A 42 F2 E1 17 9F 1A E0 03 18 AA E2 03 16 AA ?? ?? FD 97 9A 14 00 B5 C8 0E 18 8B 7B 32 00 94 F4 03 00 AA";
}

return NULL;
}

const char *get_remove_space_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "7F 23 03 D5 FF 83 03 D1 FC 6F 08 A9 FA 67 09 A9 F8 5F 0A A9 F6 57 0B A9 F4 4F 0C A9 FD 7B 0D A9 FD 43 03 91 F7 03 03 AA F6 03 02 AA F5 03 01 AA F3 03 00 AA F4 03 01 AA ?? ?? FD 97 F4 03 00 AA 08 FC 7E D3 88 2D 00 B5 88 E2 7D 92 00 09 40 F9 1F 08 00 F1 AB 0E 00 54 F4 5F 03 A9 F5 17 00 F9 08 0A 00 D0 1F 20 03 D5 08 ?? 47 F9 68 02 08 8B 14 69 40 A9 88 0A 00 D0 1F 20 03 D5 00 A1 46 F9 48 09 00 D0 01 5D 42 F9 F3 0B 00 F9 E2 03 13 AA";
return "7F 23 03 D5 FF 83 03 D1 FC 6F 08 A9 FA 67 09 A9 F8 5F 0A A9 F6 57 0B A9 F4 4F 0C A9 FD 7B 0D A9 FD 43 03 91 F7 03 03 AA F6 03 02 AA F5 03 01 AA F3 03 00 AA F4 03 01 AA ?? ?? FD 97 F4 03 00 AA 08 FC 7E D3 88 2D 00 B5 88 E2 7D 92 00 09 40 F9 1F 08 00 F1 AB 0E 00 54 F4 5F 03 A9 F5 17 00 F9 08 0A 00 ?? 1F 20 03 D5 08 ?? ?? F9 68 02 08 8B 14 69 40 A9 88 0A 00 D0 1F 20 03 D5 00 ?? ?? F9 48 09 00 D0 01 ?? 42 F9 F3 0B 00 F9 E2 03 13 AA";
}

return NULL;
}

const char *get_move_space_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "7F 23 03 D5 E3 03 1E AA ?? ?? 00 94 FE 03 03 AA FD 7B 06 A9 FD 83 01 91 F6 03 14 AA F4 03 02 AA FA 03 01 AA FB 03 00 AA 97 0A 00 B0 F7 ?? ?? 91 E8 02 40 F9 18 68 68 F8 E0 03 18 AA E1 03 16 AA ?? 2C 00 94 80 01 00 B4 F3 03 00 AA F5 03 01 AA 08 0B 00 B0 08 A1 26 91 08 01 40 39 1F 05 00 71 E1 00 00 54 ?? 62 00 94 ?? 36 01 94 ?? 62 00 94 CF 00 00 14 14 00 80 52 D2 00 00 14 1A 01 00 B4 E8 02 40 F9 40 6B 68 F8 E1 03 16 AA ?? 2C 00 94";
return "7F 23 03 D5 E3 03 1E AA ?? ?? 00 94 FE 03 03 AA FD 7B 06 A9 FD 83 01 91 F6 03 14 AA F4 03 02 AA FA 03 01 AA FB 03 00 AA 97 0A 00 ?? F7 ?? ?? 91 E8 02 40 F9 18 68 68 F8 E0 03 18 AA E1 03 16 AA ?? 2C 00 94 80 01 00 B4 F3 03 00 AA F5 03 01 AA 08 0B 00 B0 08 ?? ?? 91 08 01 40 39 1F 05 00 71 E1 00 00 54 ?? 62 00 94 ?? ?? 01 94 ?? 62 00 94 CF 00 00 14 14 00 80 52 D2 00 00 14 1A 01 00 B4 E8 02 40 F9 40 6B 68 F8 E1 03 16 AA ?? 2C 00 94";
}

return NULL;
}

const char *get_set_front_window_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "7F 23 03 D5 FF 43 02 D1 F6 57 06 A9 F4 4F 07 A9 FD 7B 08 A9 FD 03 02 91 A8 1A 00 90 08 ?? 44 F9 08 01 40 F9 A8 83 1D F8 C1 10 00 34 F3 03 01 AA F4 03 00 AA 15 FC 60 D3 FF BF 00 39 E1 BF 00 91 72 A1 00 94 A0 1A 00 90 00 ?? 45 F9 21 00 80 52 ?? ?? 0B 94 20 0A 00 36 F6 BF 40 39 E8 83 06 32 E8 53 06 29 08 80 80 52 E8 73 00 79 F5 A3 03 B8 E8 7F 00 79 F3 43 00 B9 E8 8B 00 79 F6 63 04 B8 ?? ?? D8 10";
return "7F 23 03 D5 FF 43 02 D1 F6 57 06 A9 F4 4F 07 A9 FD 7B 08 A9 FD 03 02 91 A8 1A 00 ?? 08 ?? 44 F9 08 01 40 F9 A8 83 1D F8 C1 10 00 34 F3 03 01 AA F4 03 00 AA 15 FC 60 D3 FF BF 00 39 E1 BF 00 91 ?? A1 00 94 A0 1A 00 ?? 00 ?? 45 F9 21 00 80 52 ?? ?? 0B 94 20 0A 00 36 F6 BF 40 39 E8 83 06 32 E8 53 06 29 08 80 80 52 E8 73 00 79 F5 A3 03 B8 E8 7F 00 79 F3 43 00 B9 E8 8B 00 79 F6 63 04 B8 ?? ?? ?? 10";
}

return NULL;
Expand Down
2 changes: 1 addition & 1 deletion src/osax/common.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#ifndef SA_COMMON_H
#define SA_COMMON_H

#define OSAX_VERSION "2.0.0"
#define OSAX_VERSION "2.0.1"

#define OSAX_PAYLOAD_SUCCESS 0
#define OSAX_PAYLOAD_NOT_FOUND 1
Expand Down
12 changes: 6 additions & 6 deletions src/osax/x86_64/payload.m
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ uint64_t get_dock_spaces_offset(NSOperatingSystemVersion os_version) {

uint64_t get_dppm_offset(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return 0x8E00;
return 0x7000;
} else if ((os_version.majorVersion == 11) || (os_version.majorVersion == 10 && os_version.minorVersion == 16)) {
return 0x7000;
} else if (os_version.minorVersion == 15) {
Expand Down Expand Up @@ -96,7 +96,7 @@ uint64_t get_move_space_offset(NSOperatingSystemVersion os_version) {

uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return 0x53000;
return 0x51000;
} else if ((os_version.majorVersion == 11) || (os_version.majorVersion == 10 && os_version.minorVersion == 16)) {
return 0x51000;
} else if (os_version.minorVersion == 15) {
Expand All @@ -116,7 +116,7 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) {

const char *get_dock_spaces_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "?? ?? ?? 00 49 8B 3F 48 8B 35 ?? ?? 3F 00 89 9D 38 FE FF FF 89 DA 41 FF D5 48 89 C7 E8 ?? ?? 31 00 48 89 85 F0 FD FF FF 48 8B 3D ?? ?? 3F 00 E8 ?? ?? 31 00 4C 8B 2D ?? ?? 3F 00 48 89 C7 4C 89 EE 31 D2 41 FF D6 48 89 85 28 FE FF FF 49 8B 3F 48 8B 35 ?? ?? 3F 00 4C 89 A5 70 FE FF FF 4C 89";
return "?? ?? ?? 00 49 8B 3F 48 8B 35 ?? ?? 3F 00 89 9D 38 FE FF FF 89 DA 41 FF D5 48 89 C7 E8 ?? ?? 31 00 48 89 85 F0 FD FF FF 48 8B 3D ?? ?? ?? 00 E8 ?? ?? 31 00 4C 8B 2D ?? ?? 3F 00 48 89 C7 4C 89 EE 31 D2 41 FF D6 48 89 85 28 FE FF FF 49 8B 3F 48 8B 35 ?? ?? ?? 00 4C 89 A5 70 FE FF FF 4C 89";
} else if ((os_version.majorVersion == 11) || (os_version.majorVersion == 10 && os_version.minorVersion == 16)) {
return "?? ?? ?? 00 49 8B 7D 00 48 8B 35 ?? ?? ?? 00 44 89 BD 38 FE FF FF 44 89 FA 41 FF D4 48 89 C7 E8 ?? ?? ?? 00 48 89 85 E8 FD FF FF 48 8B 3D ?? ?? ?? 00 E8 ?? ?? ?? 00 48 8B 35 ?? ?? ?? 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) {
Expand Down Expand Up @@ -179,7 +179,7 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) {

const char *get_remove_space_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 81 EC A8 00 00 00 49 89 CC 49 89 D7 49 89 F5 49 89 FE E8 ?? ?? F4 FF 48 89 C3 48 B8 01 00 00 00 00 00 00 40 48 BF F8 FF FF FF FF FF FF 00 48 21 DF 48 85 C3 0F 85 35 06 00 00 48 8B 47 10 48 83 F8 02 0F 8C 29 02 00 00 4C 89 65 90 4C 89 AD 60 FF FF FF 48 89 5D A0 48 8D 05 ?? E0 13 00 48 8B 00 4D 8B 2C 06 49 8B 44 06 08 48 89 45 B8 48 8D 05 ?? DF 14 00 48 8B 38 48 8B 35 ??";
return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 81 EC A8 00 00 00 49 89 CC 49 89 D7 49 89 F5 49 89 FE E8 ?? ?? F4 FF 48 89 C3 48 B8 01 00 00 00 00 00 00 40 48 BF F8 FF FF FF FF FF FF 00 48 21 DF 48 85 C3 0F 85 35 06 00 00 48 8B 47 10 48 83 F8 02 0F 8C 29 02 00 00 4C 89 65 90 4C 89 AD 60 FF FF FF 48 89 5D A0 48 8D 05 ?? ?? 13 00 48 8B 00 4D 8B 2C 06 49 8B 44 06 08 48 89 45 B8 48 8D 05 ?? ?? 14 00 48 8B 38 48 8B 35 ??";
} else if ((os_version.majorVersion == 11) || (os_version.majorVersion == 10 && os_version.minorVersion == 16)) {
if (os_version.majorVersion == 11 && os_version.minorVersion >= 3) {
return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 81 EC C8 00 00 00 49 89 CC 49 89 D7 49 89 F5 49 89 FE E8 ?? ?? F4 FF 48 89 C3 48 B8 01 00 00 00 00 00 00 40 48 BF F8 FF FF FF FF FF FF 00 48 21 DF 48 85 C3 0F 85 0C 06 00 00 48 8B 47 10 48 83 F8 02 0F 8C 36 02 00 00 4C 89 65 A8 4C 89 AD 68 FF FF FF 48 89 5D A0 48 8D 05 ?? ?? 13 00 48 8B 00 4D";
Expand All @@ -206,7 +206,7 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) {

const char *get_move_space_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
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 ?? DC 14 00 48 8B 03 4C 8B 24 07 4C 89 E7 48 89 4D A0 48 89 CE E8 47 B8 00 00 48 85 C0 74 45 48 8D 0D ?? ?? 15 00 80 39 01 48 89 55 C8 48 89 45 A8 75 38 49 89 D5 49 83 C5 28 48 89 C3 48 89 C7 49 89 D7 E8 ?? ?? F5 FF 48 89 C7 FF 15 ?? 67 0B 00 48 89";
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 47 B8 00 00 48 85 C0 74 45 48 8D 0D ?? ?? 15 00 80 39 01 48 89 55 C8 48 89 45 A8 75 38 49 89 D5 49 83 C5 28 48 89 C3 48 89 C7 49 89 D7 E8 ?? ?? F5 FF 48 89 C7 FF 15 ?? ?? 0B 00 48 89";
} else if ((os_version.majorVersion == 11) || (os_version.majorVersion == 10 && os_version.minorVersion == 16)) {
if (os_version.majorVersion == 11 && os_version.minorVersion >= 3) {
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 ?? ?? ?? 00 48 8B 03 4C 8B 24 07 4C 89 E7 48 89 4D A0 48 89 CE E8 ?? ?? 00 00 48 85 C0 74 ?? 48 8D 0D ?? ?? ?? 00 80 39 01 48 89 55 C8 48 89 45 A8 75 38 49 89 D5 49 83 C5 28 48 89 C3 48 89 C7";
Expand Down Expand Up @@ -235,7 +235,7 @@ uint64_t get_set_front_window_offset(NSOperatingSystemVersion os_version) {

const char *get_set_front_window_pattern(NSOperatingSystemVersion os_version) {
if (os_version.majorVersion == 12) {
return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 58 48 8B 05 ?? ?? 33 00 48 8B 00 48 89 45 D0 85 F6 0F 84 00 02 00 00 41 89 F6 49 89 FD 49 89 FF 49 C1 EF 20 48 8D 75 AF C6 06 00 E8 47 8E 02 00 48 8B 3D ?? ?? 33 00 BE 01 00 00 00 E8 ?? ?? 2C 00 84 C0 74 59 0F B6 5D AF 4C 8D 45 B0 41 C7 00 00 04 00 04 45 89 68 04 66 B8 00 04 66 41 89 40 08 45 89 78 0A 66 41 89 40 0E 45 89 70 10 66 41";
return "55 48 89 E5 41 57 41 56 41 55 41 54 53 48 83 EC 58 48 8B 05 ?? ?? 33 00 48 8B 00 48 89 45 D0 85 F6 0F 84 00 02 00 00 41 89 F6 49 89 FD 49 89 FF 49 C1 EF 20 48 8D 75 AF C6 06 00 E8 ?? ?? 02 00 48 8B 3D ?? ?? 33 00 BE 01 00 00 00 E8 ?? ?? 2C 00 84 C0 74 59 0F B6 5D AF 4C 8D 45 B0 41 C7 00 00 04 00 04 45 89 68 04 66 B8 00 04 66 41 89 40 08 45 89 78 0A 66 41 89 40 0E 45 89 70 10 66 41";
} else if ((os_version.majorVersion == 11) || (os_version.majorVersion == 10 && 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) {
Expand Down

0 comments on commit b548a9a

Please sign in to comment.