I would like to propose a very specific way to integrate the existing "workspace" architecture in to dual or multiple monitor setups. In essence I would like each monitor to be a different view of the same set of workspaces.
-------------------------
Currently there are a number of approaches to multiple monitors, I personally have found running two separate instances of X to be one of the most useful. This was relatively easy to set up with Nvidia's binary driver, but still has a number of bugs:
1. Inability to drag windows across monitors - they have to stay on their own instance of X.
2. A number of bugs with basic configuration, such as setting the number of workspaces on the non-primary monitor.
3. Firefox will not run on more than one instance of X at the same time.
4. There is significant latency for drop down menus on non-primary monitors.
While most of these issues probably simply need some polish, I think a new approach could greatly improve functionality as well as solve some of these issues, and probably others.
-------------------------
Basically I would like each monitor to be an independent view of the same instance of X (or set of workspaces). Each monitor could show any given workspace and change to a different workspace independently of the other monitors. If two monitors are showing the same workspace then their views are cloned. If an application is dragged on to a workspace that is currently being shown on another monitor then it happens in real time. If one application spans two workspaces then two monitors could be selected to display the entire application. Get the idea?
Notable Drawback: To feasibly be implemented each monitor would probably have to display the same resolution.
It would be nice to have the mouse cloned to any monitors showing the same workspace (for presentations).
The ability to stretch applications (such as videos or large images) across workspaces, and thus monitors, could be very useful.
Although I can't say that I am an expert on X or window managers, I have a feeling that this would be a significant overhaul of the infrastructure.
-------------------------
On another note this would integrate beautifully with Compiz Fusion. The cube and expo already fluidly support applications being dragged across workspaces and spanning multiple workspaces. Adding rows of workspaces allows each monitor to have its own cube - replicating the effect of having multiple instances of X.
In fact the only functionality you would lose when compared to running two instances of X is the ability to have custom settings for each instance of X (number of workspaces, compiz effects, etc).
This would be my ideal implementation of multiple monitors in Linux.
This is also obviously related to:
http://brainstorm.ubuntu.com/idea/206/