Comment by badsectoracula
1 day ago
Well, i already mentioned an example: image editors. IMO image editing is one of the perfect cases for MDI because not only you can have multiple images visible at the same time, but also multiple views of the same image (useful for pixel art, for example). Most MDI applications allow you to dock and/or float stuff in the edges/over the windows which is useful to avoid repeating the same chrome at every window (which is what a lot of applications that support multiple documents with toplevel windows do).
In theory you can have multiple toplevel windows with separate windows for the control stuff (tool window, tool options, panels, etc like GIMP has) but in that case you really need a virtual desktop dedicated to the application itself. Personally i prefer to dedicate virtual desktops to tasks (i have a fixed number of virtual desktops and their shortcut keys have become muscle memory over the years), so e.g. anything graphical goes into the same virtual desktop, but -say- GIMP in multiwindow mode feels awkward to use alongside Blender. Krita having an MDI mode is much better IMO, even if Qt's MDI support is primitive at best.
There's nothing stopping a window manager from supporting docking windows to each other, or the more common option in tiling window managers of having nested tiling groups so you can arrange your editor windows however you like and manipulate them together. Metisse [1] takes it even further, letting you slice a ‘palette’ out of one window and put it in another. In practice I, like you and I suspect a lot of other people, use workspaces in lieu of task groups, which works fine for simple use cases and small monitors.
The only applications that really need MDI are those that do something with their windows other than window management, which (loosely) implies that those things are something other than windows.
[1]: https://en.m.wikipedia.org/wiki/Metisse
There is a lot of stuff that window managers could in theory do (e.g. something i'd like Window Maker to be able to do is "combining" windows so that the title bar becomes a tab bar that contains multiple windows in the same screen space region) but in practice never end up doing for whatever reasons (i could in theory spend the time to implement such a feature in Window Maker but it is very low in my priorities for whenever i have time to spend). And more importantly, not everyone has the same window manager, so even if my window manager could provide a feature that made some application feature unnecessary, someone else's window manager might still not provide it (but might provide some other feature they want that mine doesn't).
> The only applications that really need MDI are those that do something with their windows other than window management, which (loosely) implies that those things are something other than windows.
Well, in the example of image editors i mentioned, these windows are views to the underlying image documents - and being able to move and resize those views arbitrarily, together with a caption about the document they're about, is very useful. It also matches perfectly with embedded/MDI windows.