nikitabobko / AeroSpace

AeroSpace is an i3-like tiling window manager for macOS
https://nikitabobko.github.io/AeroSpace/guide
MIT License
8.01k stars 131 forks source link

Feature idea: BYO virtual display for hiding windows #578

Closed jaybonthius closed 1 month ago

jaybonthius commented 1 month ago

Aerospace currently uses the bottom corners of each display to hide windows. As the documentation points out, this method imposes limitations on monitor configurations. Many popular setups, such as triple-screen and tie-fighter arrangements, are incompatible with Aerospace.

It's possible to create virtual displays that exist only in memory. In fact, the popular application BetterDisplay recently added a feature to manage virtual displays.

I propose an Aerospace feature that would allow users to specify a virtual display to use as a "free space" for hiding windows. This would accommodate any monitor configuration the user desires. To keep Aerospace as lightweight as possible, this could be implemented as bring-your-own-virtual-display—users could then use whichever virtual display management app they prefer and simply tell Aerospace which display to use for hiding.

Checklist

nikitabobko commented 1 month ago

I had this idea in my mind. It won't work because:

  1. If monitors have different resolutions, it will be a performance disaster #149
  2. Some apps may not like to be often moved between monitors (like chrome: #289)
  3. If AeroSpace crashes, users will loose windows on the invisible monitor
  4. I don't like providing config options for choosing between different trade-offs
  5. To my taste, a "virtual monitor" hack is just intuitively too much invasive to be reliable, there might be other problems