Enable arbitrary virtual desktop display on any monitor in multi-monitor setup
Background
I use a laptop as my workstation and connect to monitors when I'm stationary, to have both more desktop real estate, and a larger primary screen.
Nearly all the Linux window managers, aside from newer minimalistic ones (like i3 and awesome, from what I've read), move existing windows on a disconnected monitor to another monitor when a monitor is disconnected, as KWin/KWinFT does.
My ideal scenario
I work on my laptop hooked up to my external monitors, in a docking station-style setup. I unplug it to take it and work somewhere else, maybe on one or more other external monitors, or just the laptop screen itself. All the individual desktops/monitors remain as they are and can be displayed on new monitors, or cycled through on existing ones (or just the laptop screen itself), rather than windows moving to different desktops. My preferred monitor screen display configurations are preserved, so that all my desktops (and corresponding windows) are automatically arranged on the monitors I want them on when I'm in scenarios with known monitor configurations (ie: when I'm at home, when I'm at work, when I'm just on my laptop).
Proposal
KDE introduced the concept of "activities" some years ago, as an alternative to virtual desktops. In many ways, I think it's somewhat of an improvement to the traditional concept of virtual desktops, but also a somewhat confusing competitor to it: the difference, and different use cases, isn't entirely clear between the two, at least to me. However, as there are now two functions (activities and virtual desktops) that do very similar things, I think it'd be worth expanding one of them to add in new functionality for more flexible multi-monitor management.
In consideration of my use case, which I think could apply to others who have similar workstation setups, I would like to propose that virtual desktops conceptually become "virtual monitors" and are effectively completely abstracted away from the monitor on which they're being displayed, and managed on a per-monitor basis as opposed to a per "desktop" (set of monitors) basis. So when a new monitor is plugged in for the first time for example, a new "virtual monitor" is created (and alternatively can also be created arbitrarily in the same fashion that virtual desktops can be currently) so one can have an arbitrary number, and arrangement, of virtual monitors, as one can have virtual desktops now, and display each one arbitrarily on any monitor.
I realize that my request may just be a duplicate of the various "per monitor virtual desktop" requests over the years, however I would differentiate this request in that, it's not that each monitor has a set of virtual desktops that are attached only to that monitor, it's that you have a set of virtual monitors, each of which can be displayed on any user selected monitor, with the ability to cycle through any virtual monitor, on any monitor.
For applications, like panels, that require the concept of a primary monitor, there could be a first (or primary) virtual monitor, that serves the function of the primary monitor to these applications, and can then simply be arbitrarily displayed on any connected monitor as the user cycles through the available virtual monitors, or based on their configuration preferences. Ideally, the user could have profiles that store monitor configuration options and map specific virtual monitors to connected monitors in different configurations so that the computer remember's the user's preferred configuration when connecting known monitors, however simply remembering the configurations and/or making the virtual monitor switching process very quick and easy would decrease, or perhaps eliminate, the need for customized profiles.
I suppose in many ways, what I'm imagining is combining the "Displays" interface in the KDE Settings area (where the monitor layout can be re-arranged and monitors can be configured) with virtual desktops as they are now, so that it's quick and easy to display and re-arrange what screen is being shown on what monitor.
A nice to have would be the ability to arbitrarily merge virtual monitors too, so that the windows from one are added on top of the other. "Merging" virtual desktops now is a slow process of moving all windows, one by one, to a new desktop.
I made two quick hackup screenshots to hopefully convey the concept better visually, though it's certainly not intended to show the UX. In some ways, I'm imagining a function that's similar to the Desktop Grid desktop effect that shows all the desktops, but with the ability to assign virtual desktops to monitors, and even potentially configure monitors there as well.
Example dual physical monitors, 3 virtual monitors:
Example unplugging one physical monitor:
Thanks for all the work on KWinFT, and for the consideration!