So I made a macOS thing. It's a fidget spinner, but with a twist.
-
@grishka @samhenrigold "but with a twist"
-
@grishka @samhenrigold How’s that even possible? lmao
-
@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.
-
@[email protected] @[email protected] is the title bar still completely functional?
-
@grishka @samhenrigold Ooh! That makes sense! Thanks for the explanation.
-
@georgemoody @samhenrigold unfortunately not *completely*. The hit testing seems to be broken for dragging, and if you do manage to start dragging it, it would jump like 100 pixels. The buttons do work.
-
@Crates @samhenrigold should be easy, didn't think of that, heh
-
-
sam henri ghoulreplied to sam henri ghoul last edited by
-
sam henri ghoulreplied to sam henri ghoul last edited by
-
@samhenrigold @Crates oh this was me today trying to set up censorship bypass tools on my new router
-
Now available on Github! And the center part does not rotate. And the momentum now feels more like the real thing.
GitHub - grishka/WidgetSpinner: A fidget spinner for your Mac
A fidget spinner for your Mac. Contribute to grishka/WidgetSpinner development by creating an account on GitHub.
GitHub (github.com)
-
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.
-
Anyway, now that I'm done with this, I'm gonna go back to photo albums in Smithereen
-
@grishka @samhenrigold omfg it's so cursed... I love it
Why does this API even exist? What uses it?
-
Gregoryreplied to AnnoyingRains last edited by [email protected]
@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 @samhenrigold This is so cool! I didn't even realize this was possible until now lol