So I made a macOS thing. It's a fidget spinner, but with a twist.
Made possible thanks to @samhenrigold posting about his own experiments with these private APIs.
So I made a macOS thing. It's a fidget spinner, but with a twist. Made possible thanks to @samhenrigold posting about his own experiments with these private APIs. 19 comments
@pdh_sedlr @samhenrigold I've yet to see an open-source desktop OS that doesn't suck (sorry). I'm not the kind of person who would inconvenience themselves out of principle. @grishka @grishka @pdh_sedlr @samhenrigold As a user of both Linux and macOS for well over 15 years, I can say that macOS sucks more at the end of the day. @grishka @samhenrigold next challenge is to make the center of the fidget spinner stay still while you spin the window 😁 @rmasoni @samhenrigold the private API is CGSSetWindowTransform. It allows you to set an arbitrary affine transform on a window. There's also CGSSetWindowWarp that takes a mesh, this is the one Sam is experimenting with, it's used by the system for that genie animation when you minimize a window. @grishka Oh wow it's just like Wayland. How about doing this with X11, and spinning the whole display? Now available on Github! And the center part does not rotate. And the momentum now feels more like the real thing. While it does run on older macOS versions, it glitches a lot on anything 10.x. Not sure why this happens but it might be related to how the window server draws shadows. @grishka @samhenrigold omfg it's so cursed... I love it Why does this API even exist? What uses it? @avali @samhenrigold the rotation I'm not sure anything uses (which is why it's glitchy on older OSes), but scaling is used plenty for spaces/expose. The mesh warp is used for the genie animation when minimizing windows and was used for modal sheets in 10.x when the sheet is wider than its parent window. |
@grishka
Why not contribute to an open source operating system instead. I mean, you are posting about it on mastodon after all
@samhenrigold @Gargron