Open ChloeZamorano opened 3 months ago
Made the pull request #464 for this issue.
It doesn't have any merge conflicts and only adds self.setWindowFlags(Qt.Dialog)
to some files chosen by searching for self.setWindowModality
.
Not tested on Wayland but it's very unlikely to not work with it.
It may not be every file that needs this fix, and there might be one or two files changed that shouldn't have it, those more familiar with this code base should be able to tell right away.
Checklist
TagStudio Version
Alpha v9.3.2
Operating System & Version
Linux Mint 21.3 x64 (5.15.0-118-generic kernel) + bspwm
Description
Windows that should be dialogs such as "Create tag" or "Add field" are not treated as such by Xorg based tiling window managers like bspwm or i3. Presumably the same problem would be seen on Wayland managers but I have not tested for that and I'm unfamiliar with Wayland protocols.
So far only seen in bspwm, but it should apply to any tiling window manager, at least on the Xorg side. My initial presumption for this is that Qt is not giving these windows the _NET_WM_WINDOW_TYPE_DIALOG indicated in the EWMH standard, and therefore the window manager isn't told to handle it any different from the main window.
I'm willing to attempt fixing this issue myself, but I'd need to be told the basics of how the UI is supposed to be laid out in the code and look into how Qt handles EWMH hints, it probably uses a separate data type entirely for such windows.
Expected Behavior
Dialogs are expected to spawn as a floating window on top of the main window with the size specified by the program as seen bellow. This screenshot was taken after manually setting the dialog to be floating since bspwm provides a way to do that.
Steps to Reproduce
The result should look something like this:
Logs
No response