smcleod 2 hours ago

This has been a serious problem since macOS Tahoe. Whoever signed off on the UI for Tahoe needs a serious schooling in UI/UX design principles - it's incredibly hostile to users. Not only does it make it impossible to distinguish between overlapping windows as this tool seeks to mitigate, there's many confusing UI elements and lack of contrast not to mention why it has so much padding on everything - you're left with far less usable space.

  • gyomu 2 minutes ago

    > Whoever signed off on the UI for Tahoe needs a serious schooling in UI/UX design principles

    Their background is in marketing/packaging/retail design, and they were at Kate Spade before Apple.

    https://a-g-i.org/user/alaindye/

    It’s not too much of a stretch to imagine why someone from that world would prioritize things looking good in marketing videos, and not care too much about human factors and fundamentals of interaction design.

  • charles_f 29 minutes ago

    Apple has favoured looks over function for quite a while now.

  • swyx 2 hours ago

    i cannot wait for OpenAIPhone and then OpenAIMac to come out and make Apple wake the fuck up

who-shot-jr 2 hours ago

There is also https://github.com/FelixKratz/JankyBorders

Bizarre that this has not been fixed by Apple, it has been an annoyance well before Tahoe. Relying on the three dots in the top left corner to see which window is on top gets frustrating.

  • phantasmish 2 hours ago

    Oh damn, this has been causing me trouble when working in half-and-half and quartered windows as recently as this week. I’ll be installing the one you linked, or the one the thread-link points to. Thanks, didn’t occur to me this would be a thing but of course it is.

tylerflick 32 minutes ago

PopOS's Cosmic DE has this baked in. I was unsure about the feature at first, but it has proved itself useful. I wonder if this will eventually be Shirlocked into macOS.

bsnnkv an hour ago

Took a look at this and it feels like it is implemented using public macOS frameworks so it shouldn't break between macOS updates

My guess is that kAXWindowMovedNotification, kAXWindowResizedNotification, kAXMainWindowChangedNotification etc. are being listened to on the currently focused window using the Accessibility framework, and there is a callback which gets the latest position of the tracked window whenever it is fired, and uses that position as a reference to update the border position

The border window itself is most likely an NSWindow, which is why the tracking of the border with the target window feels quite sluggish

  • tylerhall 44 minutes ago

    Developer of the app here. You’re correct. Accessibility APIs + timer + transparent top-level NSWindow that ignores input and draws a border.

    • Angostura 23 minutes ago

      Very nice idea, thank you for developing it. With an M1 iMac, though the window border lags the position of the window quite a lot if you drag it around, so probably not usable for me.

    • bsnnkv 38 minutes ago

      Fwiw I think this is the right approach. The trade-off between stability across OS updates vs tracking performance is a no-brainer for me - the absolute last thing that I would want is a deluge of bug reports with no other information than "it stopped working" when Apple pushes out an update

treetalker 2 hours ago

A similar app I really like is HazeOver, which is a configurable dimmer for everything on the screen except the front window.

https://hazeover.com/

  • zaius an hour ago

    That is an A+ demo video - dimming the background of the page in sync with the effects in the video is very clever.

    • jandy 26 minutes ago

      That was surprisingly awesome.

  • lanewinfield an hour ago

    I love how the site reflects the darkness of the screen in the youtube video. nice touch!

  • CharlesW an hour ago

    HazeOver is great, even when configured to be very subtle.

ivanjermakov 16 minutes ago

Ugh, the delay between the window and border moving is crazy. About as crazy as not having this as an accessibility option.

Atreiden 2 hours ago

Always glad to see more software in the window management space, especially for MacOS.

Any reason to use this over JankyBorders? I'm using it alongside Aerospace right now and forget sometimes it isn't built-in. Kind of weird to me that after all this time this is such a sparsely implemented feature. But the combo with Aerospace works well. Only thing missing is support in Aerospace for a toggle to have a window expand to the size of it's container. Really liked that feature in Yabai, made working with multiple tiled terminals really nice

phren0logy an hour ago

The recent direction of MacOS has been a good excuse to try out a few new linux distros. As someone who was away from linux for a while, the degree of UI customization continues to be both amazing and a little overwhelming, but it feels more polished than before. Taking a look at Niri and hyperland, it's hard to feel satisfied with the UI of MacOS.

evaneykelen 2 hours ago

I’m surprised this feature isn’t part of the built-in Accessibility Settings. Neat little app!

Jeremy1026 an hour ago

This is great, but do wish the border followed the radius of the native window's corners.

throw-the-towel 2 hours ago

Somehow it's so cute that the name of the app is, well, a name.

  • tailspin2019 2 hours ago

    Maybe derived from “a line”?

    • nexton 2 hours ago

      As an Aussie, I assumed it was a reference to: https://en.wikipedia.org/wiki/Allan_Border

      • andrewshadura an hour ago

        My understanding it's a reference to Steve Coogan, who played Alan Partridge, who in one episode sees a friend called Dan, and starts shouting his name, but Dan doesn't react. Alan proceeds shouting: Dan! Dan! DAN! and eventually gives up. This scene was later parodied in a BBC programme about animals, where one animal shouts Alan! Alan! ALAN! and then realises the name's wrong: STEVE!

l5870uoo9y an hour ago

Am I the only one who can't see what the problem is in that screencast? Click on the window you want to use or tab through until you find the right one.