saagarjha / Ensemble

Cast Mac windows to visionOS
https://testflight.apple.com/join/Pq1HzHqe
GNU Affero General Public License v3.0
847 stars 37 forks source link

feature request: the ability to resize windows from VisionOS #3

Open billyjacoby opened 4 months ago

billyjacoby commented 4 months ago

Totally understand how early along this project is, but the one glaring thing that seems to be missing for my potential use case is the ability to resize macOS windows from visionOS.

I've got a limited amount of Swift knowledge, but I'm happy to take a stab at getting this implemented. It just might take a bit of time for me to do so.

If anyone has recommendations for how to achieve this that would be welcome

billyjacoby commented 4 months ago

Initially trying to work on this here: https://github.com/billyjacoby/Ensemble/tree/window-size

saagarjha commented 4 months ago

This is on the roadmap but as I have probably mentioned already there's a lot of stuff I need to work on first before I can focus on this. The API to do this is AXUIElementSetAttributeValue with the kAXPositionAttribute but there are a number of things that need to be solved beyond just resizing the window–for example, I need to think about how to distinguish this from scaling the window and how to communicate sizing and position constraints back to visionOS.

billyjacoby commented 4 months ago

Hmm yeah the communicating the constraints definitely sounds to be the most tricky. I haven't yet tested if overlapping windows causes issues, but if not I could imagine that the only real constraint would be the display size.

Is there a roadmap doc or anything similar posted where I could maybe find some smaller things to work on in the mean time? I really love the idea behind this project and would love to contribute however possible

saagarjha commented 4 months ago

I guess this project has been seeing a lot of attention recently so I might as well make a formal roadmap: https://github.com/users/saagarjha/projects/1. For now I will probably say "no" to any code contributions but feel free to use the issues to discuss or make your own if you see something that's not listed.