Hi,
i had an idea.
is it possible to display a preview of the BSP Tree like the minimap in vscode?
i am thinking of a grey overlay in the top right corner of the screen, that displays a colored tree diagram of the current state of the BSP.
the focused window could be highlighted in the tree in one color.
every window could receive a unique border color and the node in the treediagram would receive the same color.
it would help me learn the various functions of yabai and provide me with an understanding of the operations on the underlying state of those functions. for example: what does rotate do?
best,
finn
damn that would be so awesome. instead of space numbers in the top left they could be little mini previews of the layouts on each screen. im going to design some mockups in the evening. i was thinking about this earlier except instead of highlighting window layout it would just show you a small PiP of the actual space itself. maybe you can assign colors to certain apps so you can see what screen they're on in a glance.
it would be awesome!!!
i am migrating from i3 and there are a few layout states that i have a hard time to achieve. this would help me a lot.
I actually did this using Ubsersicht and SVG. It was pretty easy & quite fun. Performance wasn't great, though, so I didn't actually use it full time.
I just tried to get it running again, but unfortunately subsequent changes to yabai's query output broke my brittle scripts :)
I'll post it here if I find time to get it working again.
@AdamWagner do you have a repo i could study in the meantime?
I think this is very unlikely to make it into yabai as an integrated feature.
whats the reasoning @koekeishiya ?
I don't think the added complexity is worth it in the current stage of this project.
https://github.com/AdamWagner/yabai-uberbar
FYI @FinnFrotscher @rublev
@AdamWagner If what you really want is a live preview of the desktop that can be achieved using private screencapture APIs.
I made a quick sample (locally) to illustrate this in the yabai bar:

@koekeishiya now _that_ is cool!
I think that representing window count and position more abstractly (that is, not a live preview) has its merits – but I would love to see how you implemented the sample pictured above! My only experience using the screencapture APIs is second-hand via Hammerspoon.
@FinnFrotscher
Is your goal here to do something like what AdamWagner did, drawing the layout of the desktop, or the actual binary-tree the way nodes are linked?
I am absolutely amazed by @AdamWagner 's solution! i read the code and when I find time i will implement it for myself.
but i was actually looking for something else.
something more like this.
i was thinking about a binary tree in the top right corner of my screen that displays the state of my wm of this active screen. I felt the need for this as a learning utility.
i guess they work together pretty well.
I was going to make a yabai-tree script, like tree, also to help me understand inserting windows, but I found there isn't enough information in the window query -- specificially parents or internal split nodes -- to do this.
Most helpful comment
https://github.com/AdamWagner/yabai-uberbar
FYI @FinnFrotscher @rublev