alt.hn

7/25/2026 at 5:29:55 PM

Show HN: SpinWin – A macOS menu bar app to visually rotate or spin any window

https://github.com/alokdhir/spinwin

by dbm5

7/26/2026 at 12:34:20 AM

This reminds me of when wobbly windows were the big thing in linux. It was good plain fun back then, it seems fun again with this.

Drawing apps do regularly allow for canvas rotation, so I’m sure this’ll turn out to be useful for some class of application that I’m not considering.

by gwynforthewyn

7/26/2026 at 12:56:37 AM

I think it’s apps that don’t implement the JPEG orientation tag correctly.

by loumf

7/26/2026 at 12:34:00 AM

I’ve been building a window manger for macOS that involves hiding windows offscreen, but I’ve found AccessibilityKit clamps position writes at the screen edge, so I’ve had to settle for allowing a 1px-wide sliver (plus shadow) in the corner. Is that what you’re doing too, or did you find an alternative?

by mortenjorck

7/26/2026 at 1:02:33 AM

Same issue — I never found a way around the clamp. I park the window's top-left at (maxX - 1, maxY - 1) of the union of all displays' CGDisplayBounds, i.e. just inside the bottom-right corner of the whole arrangement. The clamp is much looser going off the bottom/right than up/left — pushing to something like (-30000, -30000) gets snapped back near the top-left and leaves a full-height sliver, whereas bottom-right leaves just the corner pixel (plus its shadow, which I also haven't beaten).

Since the target is derived from the union, a display disconnect or resolution change shrinks the desktop and the parked window pops back into view. I listen for display-config changes and re-apply the position.

by dbm5

7/26/2026 at 6:12:19 PM

Did you write this or have Claude do it? You've never used an em dash in your comment history and this doesn't sound human. Are you trying to use it for translation?

by 1bpp

7/26/2026 at 3:18:36 AM

Thanks for the corroboration. Something that apparently might be possible is using the private framework for Spaces to offload windows to a "holding Space"; I haven't tried it because it felt just a little too hacky for something I'm ideally hoping to turn into a commercial product, but it might be worth investigating depending on your use case.

by mortenjorck

7/26/2026 at 3:18:02 PM

Not sure if it is worth it for your use case, but I was successful in creating a virtual display - second screen - and putting the window there. That did work. I was trying to get kb input and mouse clicks to work, but then realized that that was even more useless than spinning a window to begin with (lol) so backed out all that effort for this much simpler implementation.

EDIT: private APIs — CGVirtualDisplay / CGVirtualDisplayDescriptor / │ CGVirtualDisplayMode (the same ones BetterDisplay uses)

by dbm5

7/26/2026 at 1:10:09 PM

wayfire does it since about 7 years ago no weird hack required : https://youtu.be/ZBLLC5fOy98

by hollow-moe

7/26/2026 at 2:56:29 PM

not on macos

by dbm5

7/26/2026 at 1:17:50 PM

Why?

by metasim

7/26/2026 at 1:02:44 AM

Very handy.

by lagrange77

7/26/2026 at 4:56:59 AM

For what?

by chrism238

7/26/2026 at 11:57:17 AM

Should be sarcasm, sorry.

by lagrange77