koekeishiya / yabai

A tiling window manager for macOS based on binary space partitioning
MIT License
23.17k stars 641 forks source link

macOS 12 Monterey #923

Closed dominiklohmann closed 2 years ago

dominiklohmann commented 3 years ago

This is the collective yearly thread for macOS betas. Please use this to discuss instead of opening new issues.

I will try to keep this updated just like every year.

2021-06-07 Developer Beta 1 (21A5248p)
Dock.app is available at [Dock.app.zip](https://github.com/koekeishiya/yabai/files/6617787/Dock.app.zip).
Liquidmantis commented 2 years ago

@marcushwz Are you not crashing with the version on Master (Canon)? I built from source on Canon and WindowServer has random crashes every few hours.

Intel MBP, Monterrey 12.01

marshall-mcmullen commented 2 years ago

@LachlanGrant Unfortunately, space switching does not work for me:

~ yabai -m space --focus 3
cannot focus space due to an error with the scripting-addition.

But this is a dramatic improvement for me over what I had before when nothing was working at all ;-).

croogie commented 2 years ago

I reached the same level as @marshall-mcmullen. I also noticed that while run yabai this notification pops up: image

I don't know if it helps

mak1A4 commented 2 years ago

I reached the same level as @marshall-mcmullen. I also noticed that while run yabai this notification pops up: image

I don't know if it helps

I had the same notification with 12.0.1 RC, turned out the issue was XCode Command Line Utils. After remove, reinstall, update + recompile everything worked.

weizheheng commented 2 years ago

@marcushwz Are you not crashing with the version on Master (Canon)? I built from source on Canon and WindowServer has random crashes every few hours.

Intel MBP, Monterrey 12.01

No, I mean I fall back to the yabai's original master branch. Some other things that I mentioned earlier is still not working but the WindowServer is not crashing for me on that branch.

anapper commented 2 years ago

I got so used to Yabai and then upgrading to Monterey has broken it. It seems to intermittently crash or at least what it looks like is one window goes fullscreen and then resets ( sometimes rearranges ) all the windows. It did not do this on big sur.

I'm not all too familiar with brew but is there an easy command I can run with brew to uninstall koekeishiya yabai and install a working version of yabai for monterey on an m1? I apologize if this is the incorrect place to ask this question :(

luisdavim commented 2 years ago

No, I mean I fall back to the yabai's original master branch. Some other things that I mentioned earlier is still not working but the WindowServer is not crashing for me on that branch.

Did you find any additional issues in the fork? What made you revert to the master branch? If there's a branch that improves stability on 12.0.1 should that be released even if it doesn't address all the issues? At least to stop the crashes...

koekeishiya commented 2 years ago

Just to chime in here..

Support for 12.0.1 will be officially released when I personally can guarantee that it is working as expected. I know this is an open-source repo, but this is not a community-driven project. As mentioned before I'll be receiving a new mbp with Monterey some time in November, and should be able to get a working version out by the end of the month.

You are of course free to run forks or whatever else that other people do to create their own compatible versions. Otherwise I'll reiterate the same point as always; check compatibility before upgrading your OS if this is something that your workflow depends on.

Liquidmantis commented 2 years ago

This thread has turned into a bit of a hot mess. Out of respect, discussion on issues with alternate forks would be better if taken to their respective repos. For example, "Master branch" in this thread is an overloaded term and it's getting confusing as to what is being referenced. Issues and crashes on both Intel and M1 arch are also intermingling in this thread. Chaos!

shepherdjerred commented 2 years ago

Just to chime in here..

Support for 12.0.1 will be officially released when I personally can guarantee that it is working as expected. I know this is an open-source repo, but this is not a community-driven project. As mentioned before I'll be receiving a new mbp with Monterey some time in November, and should be able to get a working version out by the end of the month.

Excited to hear that you're getting a new MacBook, @koekeishiya! The ARM CPUs are fantastic.

Thanks for your work on yabai!

shaunsingh commented 2 years ago

@Liquidmantis Yes, I've just resorted to using the default floating WM in macOS until an official version gets released.

jclusso commented 2 years ago

So, has anyone come to a partially working solution for M1 Macbook Pro on Monterey? I've got things working, but I have these random crashes. I don't have csr disabled and didn't on Big Sur and most things worked fine. I can't because applications like Authy won't work. I tried temporarily disabling it, but the crashes continued. I also tried installing from HEAD with no luck.

pschwartz commented 2 years ago

I am using skhd with Yabai. I have compiled the latest from source and tried donaldguy/yabai's latest release. I am running a MacBook Air with the M1 and didn't read issues before upgrading to Monterey.

Yabai is working and Skid is. But none of the space focus commands provide any return or work. I can move a windows between spaces, but doing a yabai -m space --focus 1 fails to move my current focus. The --check-sa has a return one of 0.

Any thoughts?

leftbones commented 2 years ago

I was going to make this issue on @donaldguy's fork, but it seems issues aren't allowed there.

Anyways, after like two weeks of no issues, suddenly I'm getting the "reshuffling" issue again, it started last night.

donaldguy commented 2 years ago

I will enable issues on the fork, but I want to emphasize that I make no promise to get around to looking at any of it

If I'm gonna sink more serious time into this area, it's likely gonna be to write my own thing (EDIT 2: …", he asserted, before promptly spending 4 hours on self-assigned administrivia.)

EDIT:

Set up the new issue interstitial like this:

and clicking through gets you also:

https://github.com/donaldguy/yabai/blob/e4892ca390c020c2c3969cd0183ae4f0c5b83da9/.github/ISSUE_TEMPLATE/custom.md?plain=1#L10-L23

@koekeishiya @xorpse - any opinions about something it should say different?

donaldguy commented 2 years ago

So yeah, issues open on fork; if I have more unstructured to say about my fork (like if I update it for new dev betas), I'll put that in Discussion https://github.com/koekeishiya/yabai/discussions/1042 I guess

Feel free to join me over (either of) there(s), and leave the good upstream folx alone

DennisFeldbusch commented 2 years ago

Does someone have a (working) fork for monterey on intel? Was upgrading to early...

ai212983 commented 2 years ago

@deividaspetraitis @donaldguy 's fork works just fine.

  1. Clone the repo git clone git@github.com:donaldguy/yabai.git
  2. Update xcode command line tools: sudo rm -rf /Library/Developer/CommandLineTools && sudo xcode-select --install
  3. Build x86 version: make bin/yabai-x86_64
  4. Replace yabai binary (ymmv): mv bin/yabai-x86_64 /usr/local/bin/yabai
  5. Lookup running yabai PID: ps aux | grep yabai
  6. Kill it (yabai will restart): kill -9 XXXXX
  7. That's all, folks!

upd (after a few days of use): Also experiencing occasional reshuffle (yabai is restarting). Waiting for someone with knowledge to resolve that. :(

joshtwo commented 2 years ago

Whenever I scroll inside of certain apps (the App Store is chief among them), the app freezes up. All of the controls and menus are non-responsive and I have to force quit to get anywhere. The only way I can seemingly use these apps is by temporarily turning off Yabai entirely.

To clarify, the apps themselves are still running. I can see animations playing and textbox cursors blinking, but none of the controls work anymore.

Is this happening to anyone else?

Edit: Using a rule to make the apps' windows unmanaged seems to solve the problem for now.

DennisFeldbusch commented 2 years ago

Thanks @LachlanGrant , got it working on my Intel machine as well.

@peppy , got it working without the restarting and random shuffling anymore. You might want to give the branch a shot.

@marshall-mcmullen , did you get the space switching work? I no longer get error when running

yabai -m space --focus 2

But it is not actually switching to the intended space.

Update after using for a few hours

* Mac WindowServer has been crashing randomly after switching to the branch above. Had to fall back to the master version now.

Unfortunately I still get random shuffling.... Anyone know how to fix it?

smackesey commented 2 years ago

@joshtwo Hmm, I've observed something similar happening in Chrome but no other app. I thought the issue was some extension and have been trying to debug it, but hadn't considered the possibility that yabai is the culprit. It happens seemingly randomly a few times a day while scrolling a page.

joshtwo commented 2 years ago

@smackesey This is also happening occasionally when I open new windows in Firefox with Cmd+N. I have no other programs affecting the window manager installed other than Yabai and this is a new install on one of the 14" MacBooks, so I'm pretty sure it is.

SamHep0803 commented 2 years ago

@joshtwo yep i've had the same thing happen to me as well, the only way i can get it to work again is force quit the app and then turn off yabai. i have noticed it happen in more 1st party apps(?) so maybe thats something to consider. not too familiar with the yabai codebase but would be happy to help where i can.

luginbash commented 2 years ago

I'm having many many problems on moneterey, the biggest one is that with SIP completely disabled, yabai still can't write to /System/Library/ScriptingAdditions/, exited with 2.

$ csrutil status
System Integrity Protection status: unknown (Custom Configuration).

Configuration:
    Apple Internal: disabled
    Kext Signing: disabled
    Filesystem Protections: disabled
    Debugging Restrictions: disabled
    DTrace Restrictions: disabled
    NVRAM Protections: disabled
    BaseSystem Verification: disabled

This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
bash-5.1$ sudo yabai --install-sa
bash-5.1$ echo $?
2
$ sudo touch /System/Library/ScriptingAdditions/test.osax
touch: /System/Library/ScriptingAdditions/test.osax: Read-only file system
koekeishiya commented 2 years ago

I'm having many many problems on moneterey, the biggest one is that with SIP completely disabled, yabai still can't write to /System/Library/ScriptingAdditions/, exited with 2.

Install scripting-addition. Must be run as root. Path is /System/Library/ScriptingAdditions on macOS High Sierra, and /Library/ScriptingAdditions on Mojave and newer.

giovannipollo commented 2 years ago

I'm having many many problems on moneterey, the biggest one is that with SIP completely disabled, yabai still can't write to /System/Library/ScriptingAdditions/, exited with 2.

$ csrutil status
System Integrity Protection status: unknown (Custom Configuration).

Configuration:
  Apple Internal: disabled
  Kext Signing: disabled
  Filesystem Protections: disabled
  Debugging Restrictions: disabled
  DTrace Restrictions: disabled
  NVRAM Protections: disabled
  BaseSystem Verification: disabled

This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
bash-5.1$ sudo yabai --install-sa
bash-5.1$ echo $?
2
$ sudo touch /System/Library/ScriptingAdditions/test.osax
touch: /System/Library/ScriptingAdditions/test.osax: Read-only file system

I'm having the exact same issue on MacOS Monterey 12.0.1 The other problem I'm having is related to spaces, I cannot focus other spaces with yabai shortcut (for example this command does not work yabai -m space --focus 2)

donaldguy commented 2 years ago

That's accurate, /System is entirely read only. Theoretically you could replace it with a new apfs snapshot, but really you just want

image

AnanthVivekanand commented 2 years ago

@giop98 I can confirm that yabai -m space --focus X does not work on my Intel machine. I also experience random reshuffles, I've noticed that brew services restart skhd triggers a reshuffle for me.

leftbones commented 2 years ago

Thanks @LachlanGrant , got it working on my Intel machine as well. @peppy , got it working without the restarting and random shuffling anymore. You might want to give the branch a shot. @marshall-mcmullen , did you get the space switching work? I no longer get error when running

yabai -m space --focus 2

But it is not actually switching to the intended space.

Update after using for a few hours

* Mac WindowServer has been crashing randomly after switching to the branch above. Had to fall back to the master version now.

Unfortunately I still get random shuffling.... Anyone know how to fix it?

Have you been able to resolve the shuffling issue? Having the same problem on M1.

giovannipollo commented 2 years ago

That's accurate, /System is entirely read only. Theoretically you could replace it with a new apfs snapshot, but really you just want

image

This is interesting, and it could actually work. Have you tried it?

koekeishiya commented 2 years ago

That's accurate, /System is entirely read only. Theoretically you could replace it with a new apfs snapshot, but really you just want image

This is interesting, and it could actually work. Have you tried it?

This is not a new issue; Big Sur behaves the same way. Yabai is just not yet updated for Monterey as I have mentioned a couple of times now.

albert-ying commented 2 years ago

Hi, just wondering if @koekeishiya has an estimate on roughly when Monterey will be supported? Not pushing or anything, just considering whether I should downgrade to Big Sur, as Yabai is so essential for my workflow now. Thank you!

peppy commented 2 years ago

Hi, just wondering if @koekeishiya has an estimate on roughly when Monterey will be supported? Not pushing or anything, just considering whether I should downgrade to Big Sur, as Yabai is so essential for my workflow now. Thank you!

See https://github.com/koekeishiya/yabai/issues/923#issuecomment-956198083.

DennisFeldbusch commented 2 years ago

Hi, just wondering if @koekeishiya has an estimate on roughly when Monterey will be supported? Not pushing or anything, just considering whether I should downgrade to Big Sur, as Yabai is so essential for my workflow now. Thank you!

See #923 (comment).

Will only M1 be supported on Monterey or will there also be a stable version for Intel?

Augists commented 2 years ago

Thanks @LachlanGrant , got it working on my Intel machine as well. @peppy , got it working without the restarting and random shuffling anymore. You might want to give the branch a shot. @marshall-mcmullen , did you get the space switching work? I no longer get error when running

yabai -m space --focus 2

But it is not actually switching to the intended space.

Update after using for a few hours

* Mac WindowServer has been crashing randomly after switching to the branch above. Had to fall back to the master version now.

Unfortunately I still get random shuffling.... Anyone know how to fix it?

Have you been able to resolve the shuffling issue? Having the same problem on M1.

You can try the shortcut Ctrl + num provided by macOS itself. System Preference -> Keyboard -> Shortcut -> Mission Control There are these option like Switch to Desktop 3 It seems like only yabai -m space --focus x doesn't work well on Monterey?

koekeishiya commented 2 years ago

There are a lot of issues with Monterey, not just the scripting-addition.

shaunsingh commented 2 years ago

Is it recommended (for now) to use the the-future branch, or the donaldguy fork? I'm on m1, 12.0.1 stable.

HosAkh commented 2 years ago

Is it recommended (for now) to use the the-future branch, or the donaldguy fork? I'm on m1, 12.0.1 stable.

I just gave up and going to wait for the official release. After hours spent on trying to get things to install and work...not worth the headache and loss of productivity. It's the 12th and I'm going to assume it's going to be released probably at the end of the month. Even if it's in December it's better (at least for me) to wait. Halfway through work have to start troubleshooting. But I can't wait for the official release.

There are a lot of issues with Monterey, not just the scripting-addition.

:( thank you for the hours you are spending on this. Out of curiosity, if you have an M1 mac and your intel computer doesn't get the Monterey version, how is testing for that going to go?

joshtwo commented 2 years ago

Is it recommended (for now) to use the the-future branch, or the donaldguy fork? I'm on m1, 12.0.1 stable.

The donaldguy fork has been working for me after following his setup instructions. Certain crashes are unavoidable (happens often when the Mac sleeps) and it helps a lot to set problematic apps to manage=off and have a script to disable/enable yabai for certain tasks.

BR00l commented 2 years ago

Sadly there is not an option for me to disable SIP, I just hope that koekeishiya will be able to give an updated yabai, without needing to lay hand on it.

koekeishiya commented 2 years ago

Partial copy-paste from https://github.com/koekeishiya/yabai/issues/725#issuecomment-968104277

--

Just a quick update..

I have received my new mbp (running Monterey 12.0.0 for various reasons) and have started doing some of this work, targeting the-future branch, as surprisingly enough, that's where the future is.

So far the mentioned branch will build a universal/fat binary containing both arm64e and x86-64 images. The scripting-addition is updated for Monterey 12.0.0. The Apple Silicon version is confirmed working, but I cannot verify the Intel version as my old/Intel mbp does not support Monterey.

As I mentioned yabai includes an arm64e image, not an arm64 image. From what I understand this is basically just arm64 WITH pointer authentication: https://developer.apple.com/documentation/security/preparing_your_app_to_work_with_pointer_authentication The thing that matter for us is that arm64 and arm64e are separate ABIs, and we need to be compatible with whatever ABI Dock.app follows. On Apple Silicon Macs, all system applications provided by Apple are targeting the arm64e architecture, and so for yabai to be able to inject code, we must also target arm64e.

The arm64e ABI is still in "preview" mode, and so a user is unable to run non-apple-signed binaries without manually adjusting the boot arguments: sudo nvram boot-args=-arm64e_preview_abi. To adjust boot arguments, SIP must be disabled.

Thus, users that run yabai without the scripting-addition/disabling SIP will NOT be able to run the pre-compiled Apple Silicon binary. They would need to manually edit the makefile and build an arm64 image instead of arm64e, from source.

--

There are multiple other issues in Monterey that will need to be resolved. the-future branch is NOT release-ready in any form; this is just a progress update as I know many people are waiting..

babuloseo commented 2 years ago

Thank you for taking the time to work on the latest update.

leftbones commented 2 years ago

Patiently waiting for the reshuffling to end!

koekeishiya commented 2 years ago

Copy Paste from https://github.com/koekeishiya/yabai/issues/725#issuecomment-973160783

--

I have split the mach loader into a separate binary that is installed with the scripting-addition payload when running yabai --install-sa, and so yabai itself can remain an arm64 binary (instead of arm64e). This will allow users that do not use the scripting-addition to run the pre-built binary that will be released.

The mach loader itself is an arm64e binary and the scripting-addition will still require users to enable the arm64e-preview boot-argument. As mentioned before the scripting-addition is only updated for 12.0.0 and 12.0.1 at the moment, and I will work my way upwards when I feel comfortable that most issues have been sorted. Window borders cause applications to not be rendered correctly and also hang/become unresponsive, and should not be used for now. I will likely disable this functionality so that a release can be made, as I do not know if it is even possible to make this border system work again.

From my limited testing so far, the-future branch seems to be stable and I have not had any crashes (with the exception of the window borders). I say limited testing because I have not been running a session for more than probably ~4hours, as I am iterating on changes to yabai most of the times when I actually use my MacBook.

The only changes necessary to the documentation would be to mention the arm64e-preview boot-argument, for people who want to use the scripting-addition. If you plan to run yabai with SIP enabled, you can simply install the (upcoming) prebuilt binary.

--

This is for people who want to build from source and test before the actual release; these instructions are not exactly detailed, and are meant for people who know what they are doing. Note that these instructions apply for both Intel and Apple Silicon; the makefile is set up to build a universal binary.

I have merged the-future branch into master. It does have a ton of breaking changes unrelated to Monterey and Apple Silicon, and will be released as v4.0.0 to indicate this. I'm fairly certain they are all documented in the changelog and the man page

With SIP enabled (no scripting-addition):

  1. brew install yabai --HEAD(you first need to brew uninstall for the --HEAD flag to work)
  2. brew services start yabai wiki for more detailed instructions

With SIP disabled (use scripting-addition):

NOTE: The scripting-addition is only updated for 12.0.0 and 12.0.1 at the moment. Support for later 12.x.x versions will come gradually as I have time to test and confirm that things are working as expected on the current version.

  1. brew install yabai --HEAD(you first need to brew uninstall for the --HEAD flag to work)
  2. reboot into recovery, disable SIP
  3. IF Apple Silicon, enable non-Apple-signed arm64e binaries: sudo nvram boot-args=-arm64e_preview_abi, reboot
  4. install the scripting-addition: sudo yabai --install-sa
  5. load the scripting-addition: sudo yabai --load-sa
  6. allow passwordless --load-sa and add autoload to yabai config file (see existing wiki entry)
  7. brew services start yabai

The only change really is that there is an additional step for Apple Silicon users that want to use the scripting-addition. Otherwise the information in the wiki should apply.

Note that window borders are broken on Monterey and if you run of this branch, make sure to disable borders in your config: yabai -m config window_border off. Other than that I believe it should be stable, although as mentioned I have not been able to do proper testing for an extended amount of time, just yet.

If this current branch proves to be stable it will probably be released as is (but with window borders explicitly disabled).

danymat commented 2 years ago

Just tried out latest commits, so far so good, but:

  • native-fullscreen is now is-native-fullscreen (no problem though)
  • I cannot focus a native fullscreen app
koekeishiya commented 2 years ago

the-future branch does have a ton of breaking changes unrelated to Monterey and Apple Silicon, and will be released as v4.0.0 to indicate this. I'm fairly certain they are all documented in the changelog and the man page

danymat commented 2 years ago

Is focusing on an app with is-native-fullscreen = true works for you ?

koekeishiya commented 2 years ago

I can use yabai -m window --focus <id> to focus a native-fullscreen window, yes.

danymat commented 2 years ago

It works with window --focus, but tried focusing with the space index and did not work:

SPACE=$(yabai -m query --spaces | jq -er 'map(select(."is-native-fullscreen" == true))[0].index') && yabai -m space --focus $SPACE

If this is a bug I will create an issue

Issue Note
build from source fails
Click to expand build log ``` ❯ make rm -rf ./bin xcrun clang ./src/osax/loader.m -shared -O2 -mmacosx-version-min=10.13 -o ./src/osax/loader -framework Foundation xcrun clang ./src/osax/payload.m -shared -fPIC -O2 -mmacosx-version-min=10.13 -o ./src/osax/payload -framework Foundation -framework Carbon ./src/osax/payload.m:37:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSGetConnectionPSN(int cid, ProcessSerialNumber *psn); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:37:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSGetConnectionPSN(int cid, ProcessSerialNumber *psn); ^ * ./src/osax/payload.m:38:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSSetWindowAlpha(int cid, uint32_t wid, float alpha); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:38:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSSetWindowAlpha(int cid, uint32_t wid, float alpha); ^ * ./src/osax/payload.m:39:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSSetWindowListAlpha(int cid, const uint32_t *window_list, int window_count, float alpha, float duration); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:39:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSSetWindowListAlpha(int cid, const uint32_t *window_list, int window_count, float alpha, float duration); ^ * ./src/osax/payload.m:40:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSSetWindowLevel(int cid, uint32_t wid, int level); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:40:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSSetWindowLevel(int cid, uint32_t wid, int level); ^ * ./src/osax/payload.m:42:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSReassociateWindowsSpacesByGeometry(int cid, CFArrayRef window_list); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:42:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSReassociateWindowsSpacesByGeometry(int cid, CFArrayRef window_list); ^ * ./src/osax/payload.m:43:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSGetWindowOwner(int cid, uint32_t wid, int *window_cid); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:43:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSGetWindowOwner(int cid, uint32_t wid, int *window_cid); ^ * ./src/osax/payload.m:44:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSInvalidateWindowShadow(int cid, CGWindowID wid); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:44:51: error: unknown type name 'CGWindowID' extern CGError CGSInvalidateWindowShadow(int cid, CGWindowID wid); ^ ./src/osax/payload.m:44:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSInvalidateWindowShadow(int cid, CGWindowID wid); ^ * ./src/osax/payload.m:45:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSSetWindowTags(int cid, uint32_t wid, const int tags[2], size_t maxTagSize); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:45:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSSetWindowTags(int cid, uint32_t wid, const int tags[2], size_t maxTagSize); ^ * ./src/osax/payload.m:46:8: error: unknown type name 'CGError'; did you mean 'NSError'? extern CGError CGSClearWindowTags(int cid, uint32_t wid, const int tags[2], size_t maxTagSize); ^~~~~~~ NSError /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSUserScriptTask.h:8:88: note: 'NSError' declared here @class NSAppleEventDescriptor, NSArray, NSDictionary, NSError, NSFileHandle, NSString, NSURL, NSXPCConnection; ^ ./src/osax/payload.m:46:8: error: interface type 'NSError' cannot be returned by value; did you forget * in 'NSError'? extern CGError CGSClearWindowTags(int cid, uint32_t wid, const int tags[2], size_t maxTagSize); ^ * fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. make: *** [src/osax/sa_loader.c] Error 1 ```
constant crashes See #920 for details.