Unfortunately imgui, atleast the version we're currently using, doesn't let us change tab order. Tabs are fully handled by imgui, f95checker just retrieved what tabs exist and use the list for the "move to" menu. Maybe there could be some way to trick imgui into changing order, but that would likely take a lot of effort and I don't feel like investing that much into it when pyimgui is basically almost dead. The maintainer doesn't have enough time to work on it anymore, and those bindings are done by hand, so it's using a few years old version of imgui iirc. I plan to switch to imgui bundle, another module binding imgui for Python, which generates bindings automatically, means code will need lots of rework and will feel less pythonic, but atleast it will use new imgui versions and still get updates. When that switch is done, I'll try to look into reordering tabs
Or maybe, I'll even end up rewriting f95checker in another language: Python is too slow to make immediate mode GUIs efficiently, so it uses a decent amount of CPU