I've longed for a window manager that can assign different virtual desktops to different screens. Of course, there are compositing, scaling and resolution issues to overcome, but it'd be really neat to have a palette of virtual desktops that could be called up on whichever monitor was most convenient.
...and it'd make screen mirroring during presentations a breeze!
Maybe I'm not understanding what you want exactly, but it sounds like what i3 and Sway already do. Workspaces are created as needed and are specific to that monitor, so if workspace 3 is on the right monitor, you can jump to it with super-3 even if you're on the left monitor. You'd be looking at workspace 3 on the right monitor plus another workspace like 1 or 2 on the left. Each monitor displays a separate workspace which can be changed without affecting the other.
You can also define rules in the config so that certain programs will open in certain workspaces every time, and you can move the whole workspace to the other monitor (not a default keybind iirc) if desired. Good in a portrait+landscape monitor setup for if you need your browser to be wider for a little bit.
You can absolutely do this in i3 or sway. There aren't default keybindings for doing it, but it is easy to set up your own. I set $mod+equals to 'move workspace to output up' in i3 (or something like that -- I'm not on that machine to check). This works for me since I set up my external display to be above the laptop screen, so it effectively means 'move this workspace to the other output'. You could also specify a specific output to move to, or change what the direction is.
That's not quite what's being asked for. I think it's more like super+1 for "move workspace 1 to the current monitor". I haven't quite figured out how to do that in sway, although I'm pretty new with it.
In my scheme that move is just two key combos away, which seems fine to me, especially since it is rarely what I want. You could make it one key combo if you want, too, in a script if not in a single line.
I used to do stuff like this back in the day with Fvwm2, but less at the desktop level and more at the application level. You can set applications (windows really, and by title or id) to either be sticky to desktop or screen, etc. I had my mail client follow me no matter the virtual desktop I was on, but let other windows be anchored to the virtual desktop.
Honestly, I often miss Fvwm2 and my config in its power and simplicity, but Windows long ago became "good enough" and since the heavy apps I really care about (mail client, browser, maybe an IDE if I'm not using vim for the project) are cross platform (which they all are), as long as there's a good SSH client I'm good, and Windows Terminal plus built in OpenSSH shipped with windows works fairly well.
I basically want to have real multi user.
I want my dev/project to be an isolated user, also bc of software supply chain security.
I want to map it to a (virtual) screen. I want to be able to share the clipboard.
I think the closest is running multiple OS X/Linux in VMs
You could also achieve this with pure X server and several system users: X controls your display and inputs (kb/mouse), and you let different X clients from different system users display on that server (eg. set the DISPLAY env var properly, configure X server permissions with xhost utility).
Then, you use a configurable tiling manager to control which windows go where (I am sure you can even go by the user somehow, but maybe you'll need to "decorate" the client run with an env var too).
what i do for work is very close to what you want and its pretty easy to achieve with using lightdm and the dm-tool with the add-nested-seat command. It will start a new Xephyr X server local to your current user and attach the session manager to it. from there you just login and have the second user session in a window just like you wanted... however, i did not get clipboard sharing to work but i actually like this extra bit of isolation.... its not even hackish and performance is exactly as native because it is... its a bit harder to get sound working concurrently, but not impossible, although i never really tried. However, i use pipewires pulseaudio interface to stream audio to a remote AV receiver in the room and this should work fine in the second user session too, although as said i never bothered to try...
Check out Total Spaces (https://totalspaces.binaryage.com/) for Mac. I use this with dual monitors and love that each monitor can have its own virtual desktop.
I have my left monitor as a communications hub. It has only one virtual screen. I also keep my browser there.
That won’t work. I just want separation. Between applications. I can run multiple instances of chrome, but the is has trouble figuring out where to put what.
I’ve tried routing VNC though an ssh tunnel (doesn’t accept connection to localhost), but it’s all pretty shit.
And I really don’t like carrying 2 MacBooks around
I don’t think you can have the same desktop on both screens, but otherwise herbstluftwm allows this.
Also monitors are virtual so you can have multiple virtual monitors on one physical monitor. I want to one day try this with a 4K tv to have multiple monitor layouts.
It also works well within virtual pc's and licensing is per machine so you can use it on multiple virtual pc's at the same time as the main host, so you can multiple virtual pc's running, subject to hw abilities, and it works instantly and seemlessly, also high customisable and you can do your own commands to work with things like nVidia's mosaic.
I cant remember if it also does tilting like that described in this post or not, but you can certainly do a lot with mosaic run it all from shortcuts so you can instantly switch to different resolutions and layouts and the shortcuts can be used in Ultramon, for seamless operations, ie switch between 2 physical monitors and 3 monitors, all called from within ultramon. Ultramon then detects the physical monitor changes and acts accordingly.
You can spend hours in front of one these, get perfectly comfortable without taking up your desk space as it clamps to the back of your desk, and when you have to do paperwork, you can push the monitors to the back of the desk.
but if they ever added some batteries and motors so it can drive around, I'd get one of these for my mobile solution as it can still do 3 monitors. :-)
https://allimperatorworks.com/product/iw-j20-pro/
...and it'd make screen mirroring during presentations a breeze!