FelixKratz / JankyBorders

A lightweight window border system for macOS
GNU General Public License v3.0
1k stars 18 forks source link

Potential updates to window_suitable function #55

Closed tbezman closed 7 months ago

tbezman commented 7 months ago

I'd like to start by thanking you for this software. Really appreciate it.

While running JankyBorders, I noticed that some windows from the JetBrains suite are getting a border when ideally I think they would be ignored.

I cloned the codebase and searched around and found your window_suitable function. I'm really curious where you found documentation about these tags. I'd like to update the function to somehow ignore windows that are more "popup-esque" but I could not find any information about these tags on the internet.

I'd be happy to make the change myself if you could shed some light on these tags. If you're unable to provide information, I'll take some time to debug the attributes myself to see if there's any obvious flag that marks something as a popup window.

Here's a screenshot for reference: CleanShot 2024-01-31 at 20 20 05

The "documentation" window on the right is technically focused at the time of taking this picture, but the border changing as the autocomplete window pops up and disappears while I'm typing can be quite jarring.

FelixKratz commented 7 months ago

I made some changes and further ignored all windows which are marked as being "attached" to some other window. Maybe this already solves the problem? If it doesn't, I have demystified the window tags a bit such that it is easier to update. The "documentation" of the window tag bits can be found here: https://github.com/NUIKit/CGSInternal/blob/master/CGSWindow.h So if you want, you can have a go at it and see if you can improve the heuristic we apply in this function.