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.
It’s not too much of a stretch to imagine why someone from that world would prioritize things looking good in promotional photos/videos, and not care too much about human factors and fundamentals of interaction design.
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.
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.
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.
It's interesting how it's way more common in the macOS world to charge money for extremely simple tweaks like this. There really isn't a 'freeware' culture and it feels a lot more transactional.
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
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
As a developer I would interpret that as "try it in the new OS and you will immediately see what is wrong so there is no reason for me to write a tedious and unnecessary message to you".
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.
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
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.
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!
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.
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.
> 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 promotional photos/videos, and not care too much about human factors and fundamentals of interaction design.
Apple has favoured looks over function for quite a while now.
i cannot wait for OpenAIPhone and then OpenAIMac to come out and make Apple wake the fuck up
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.
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.
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.
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/
It's interesting how it's way more common in the macOS world to charge money for extremely simple tweaks like this. There really isn't a 'freeware' culture and it feels a lot more transactional.
That is an A+ demo video - dimming the background of the page in sync with the effects in the video is very clever.
That was surprisingly awesome.
I love how the site reflects the darkness of the screen in the youtube video. nice touch!
HazeOver is great, even when configured to be very subtle.
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
Developer of the app here. You’re correct. Accessibility APIs + timer + transparent top-level NSWindow that ignores input and draws a border.
I thought I take a look at the code, but I can only find readme and license?
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
As a developer I would interpret that as "try it in the new OS and you will immediately see what is wrong so there is no reason for me to write a tedious and unnecessary message to you".
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.
I also created a hammerspoon script to do that. Especially when you're using a tiling window manager like aerospace, it's quite useful.
https://gist.github.com/cfe84/901411ee43450e7ee0e50e88cf029f...
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
Ugh, the delay between the window and border moving is crazy. About as crazy as not having this as an accessibility option.
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.
I’m surprised this feature isn’t part of the built-in Accessibility Settings. Neat little app!
Somehow it's so cute that the name of the app is, well, a name.
In reading more from this guy's blog, he also wrote a game called "Steve".
https://stevethegame.com/
Has he also written a Dan?
https://en.wikipedia.org/wiki/Allan_Border Is a pretty famous cricketer.
Maybe derived from “a line”?
As an Aussie, I assumed it was a reference to: https://en.wikipedia.org/wiki/Allan_Border
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!
This is great, but do wish the border followed the radius of the native window's corners.
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.