Closed Templar01 closed 3 years ago
I'm not certain what the actual ask here is. some visuals would be helpful.
FancyZones does actually support different layouts per Virtual Desktop if that is the ask.
A visual in this case may not help but I've attached one nevertheless in this link. https://imgur.com/zP3feVd I may be guilty of usurping incorrect nomenclature/jargon as what I've referring to also has reference in the world of system virtualization. I guess we're running out of buzzwords. ;) I should have used the term "Dedicated Multiple Desktop Per Monitor(s)" rather than "Virtual desktops".
Disclaimer: I realize this is a HUGE ask and may not be within the scope of Fancyzones or Powertoys itself but its an idea that has many applications.
Let me try a simpler description of a use case. Let's say that I'm a developer who wants to cross develop for multiple OS' and my development environment of choice is Visual Studio hosted on my Win 10 machine. Now it would be nice lets say, to open up a virtual machine for the target I am running which could be Linux, Android or whatever. What would be more helpful is if I could dedicate a specific desktop but only to a specific monitor and also exclude that monitor from use to any other desktop. As far as any application running on that second desktop is concerned, it will only see the monitors I've defined for use in that desktop and only that desktop. Today's Multi Monitor function in Windows is an all or nothing function.
BTW: A use case for this already exists with respect to VR headsets. Even though the VR headset is connected to a video port on the graphics card, that video port is not seen as an available monitor in Windows. If one could figure out how to leverage that trick then it may be possible to just simply apply this to the concept of dedicated Multiple Desktop per monitor.
I'll give another use case from my Digital Signage and Factory Floor Automation experience. We found often that we would take a graphics card port and attach a display emulator to each video port and make one machine function as a "headless display server". Then we'd run diskless PC's as thin clients using a dedicated VNC session that would simply display the single monitor on multiple displays throughout the facility. Think of an application one sees every day such an Airport Flight Information Display. You have one video source routed to multiple monitors. Previously this was done through hardware but the holy grail of digital signage was to employ the native function to Windows. Nobody ever found an open source way to do this but there were plenty of proprietary methods out there.
Here are some examples of these devices, they've been around for over 20 years. https://www.amazon.com/s?k=display+emulator&i=electronics&ref=nb_sb_noss They emulate the EDID table from a monitor and trick the display driver into believing a physical display is attached.
So again, the issue here is not that Windows cannot do this, it can. The issue is that if anything happens to a desktop that interferes with desktop orientation or layout, many legacy apps are not multi-window aware. If these apps respawned they would simply default to the primary display or on the monitor from which it spawned. If we were to have the ability to "compartmentalize" a single window to a single monitor, then this would solve apps that were "unaware" because the app would only see a single monitor in its environment and when it "ran home to momma" after a disorderly shutdown it would only have one place to go.
For me personally, I want to use this as a gaming feature where I can dedicate a gaming application to a single monitor and exclude access to that monitor from all other Windows open apps. I know how to do this using other hardware such as a raspberry running VNC or even Steam's Steamlink software or appliance. It would be far more effective if Windows could do this natively.
I've been trying to find this "Golden Solution" throughout my career in implementing remote computing. VNC, RDP and terminal Services are all half-measures to this goal in my experience. My first experience was back in 2002 but it appears to come up again and again by multiple people so I know it's not an isolated case. This original discussion that I posted above; https://superuser.com/questions/965385/assigning-a-virtual-desktop-to-a-monitor-in-windows-10 dates back to 2015.
At the base here, what i'm hearing here based here is you want per-monitor virtual desktop support like MacOS has with Spaces. That is tracked in https://github.com/microsoft/PowerToys/issues/58
Correct?
At the base here, what i'm hearing here based here is you want per-monitor virtual desktop support like MacOS has with Spaces. That is tracked in #58
Correct?
Not to go down the rabbit hole of System Architecture but my very limited understanding of the MacOS "Spaces" was that it based directly from POSIX Unix which allowed for borrowing of that feature from BSD based legacy systems. If memory serves, didn't that feature hook well into the Session layer 5 (if I may use the OSI reference)? I am hoping that this concept outlined above would hook somewhere between the Presentation layer(6) and the Application layer(7). My fear would be that if we dive too deep into the OSI stack, it might make applications unware of each other and that would limit its usefulness. So to be clear, MacOS "Spaces" also was intended to provide session services to each window which is exactly what we don't want as it would likely break too many things that work well in Windows 10.
I apologize for mixing metaphors but my days of system Architecture are 30 years old. ;)
@templar01, i'm trying to understand the feature ask still, not implementation. What / why YOU need the feature and how you'd use it.
What I'm seeing above is you want each monitor to be a virtual desktop versus a global (all monitors) virtual desktop.
@Templar01, i'm trying to understand the feature ask still, not implementation. What / why YOU need the feature and how you'd use it.
What I'm seeing above is you want each monitor to be a virtual desktop versus a global (all monitors) virtual desktop.
That is correct. In the ideal sense, each Virtual Desktop would have an independent number of monitors assigned to is as opposed to the one-size-fits-all function of today.
Thanks. Yes this is tracked by #58
(EDIT: Changed top to "Multiple Desktop" rather than "Virtual Desktop"
📝 Provide a description of the new feature
What is the expected behavior of the proposed feature? What is the scenario this would be used?
---This would exceed the current scope of Fanzyzones but enhance the current windows 10 virtual desktop. Currently when one utilizes a multimonitor setup the configuration of those monitors applies to the entire system. If for example, one has a 1x3 monitor desktop then all three monitors will exist in like manner for different virtual desktops.
There are a couple of ways that one can implement these use cases but they all require clumsy workarounds using either a separate tablet/phone/desktop as either a status display using either a web browser or RDP.
If you'd like to see this feature implemented, add a 👍 reaction to this post.