What's the proper way to get the raw window handle of a window?
So I'm trying to make a desktop game, previously wanted it to be a fullscreen, transparent window with cursor falltrhough, but that combination is Windows only so hell nah, I want my game to work everywhere, so I've decided to simply have many tiny windows here and there for each context, that way I can avoid transparency and falltrhough, but theres an issue. I've made my own renderer with wgpu to go around some silent bugs that I couldnt figure, but because of that I need to get the raw window handle to create the surface, I didn't know how you could do it but then I checked inside of bevy_render and apparently you can query a RawHandleWrapperHolder, an then do some shenanigans to get the handle out, and that worked fine when I was creating the window from the WindowPlugin in default plugins. Now the thing is, I don't have a primary window anymore, so I start the WindowPlugin without a primary window, because I want to start inserting the windows later on. So this is how I do it for now, I have a plugin with a startup system that uses commands to spawn a Window object, togheter with a label component to know what type of window it is, and then have a system that reads On<WindowCreated> events to try and set up the renderer for each type of window. So at first I though, ok, have a query for all the RawHandleWrapperHolder, and then use message.window to get the correct handle for that window, doesnt work, so out of curiosity I make it print the length of the query with .iter().len(), its always 0, even minutes after the window is created, with the window blatantly on screen. Then I've read about how I can use WinitWindows to get the window handle, so I do NonSend<WinitWindows>, and then .get_window(), again with message.window, it crashes saying WinitWindows was none and to wrap it in Option, so I do just that, Option<NonSend<WinitWindows>>, and make it print if its is some, it always prints false, again even after minutes after the creation of the window, even though its right there on screen, so now I'm out of options, I dont know if its something to do with my setup or its just the wrong way, but I dont see why the RawHandles wont appear when adding windows with commands, but one exists if I create a window using the WindowPlugin. Help pleasee
bevy = { version = "0.18.1", default-features = false, features = ["default_app", "default_platform"] }