# Managing multiple windows individually

**URL:** <https://discourse.glfw.org/t/managing-multiple-windows-individually/2929>\
**Category:** support\
**Created:** [May 14, 2025, 7:08pm UTC](https://discourse.glfw.org/t/managing-multiple-windows-individually/2929 "2025-05-14T19:08:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![EasyNetDev](https://avatars.discourse-cdn.com/v4/letter/e/a3d4f5/32.png) [@EasyNetDev](https://discourse.glfw.org/u/EasyNetDev)\
**Post date:** [May 14, 2025, 7:08pm UTC](https://discourse.glfw.org/t/managing-multiple-windows-individually/2929/1 "2025-05-14T19:08:15Z")

</div>

Hello all,

I’m new on this forum and also in GLFW.

I’m working to a project to bring to life Saitek / Logitech Flight Instrument Panel ([link](https://www.logitechg.com/en-gb/products/flight/flight-simulator-instrument-panel.945-000008.html?sp=1&searchclick=gaming)) on Linux and maybe later on MacOS.  
I’ve already done a reverse engineering on the USB Bulk protocol and I was able to find all specific commands to control these FIPs using libusb. After I will polish the driver I will make it public.

Now I’m working to the plugin for X-Plane 12. For this I want to take advantage of OpenGL to process the gauges which needs some processing.  
My idea is to get a list of FIPs using a specific gauges from driver and the plugin should start an image processing just for the active gauges.  
For example the plugin sent to the driver 10 gauges defined in a XML file. It will start the first gauge generation. Then the driver will know which FIP is using which gauge and it creates a list of used gauges which will be sent to the plugin.  
Then the plugin will stop / start or reuse a specific image generation for gauges.

But in the beginning I want to show in a window on my PC the content of that gauge, then I will move to offscreen rendering by getting the generated buffer, compress in a PNG format and send it to the driver.

I’m following the examples in GLFW, but for multi-window environment I’m sure which approach should I take: to start a thread for each gauge I need to process or as the example which is using a loop in the main thread?

Kind regards,  
EasyNetDev
