I have a dual monitor system, and the currently available multiheaded options 
do not meet my needs very well. I normally have a lot of applications 
running, and thus I tend to make heavy use of virtual workspaces.  
Unfortunately, it is difficult to use workspaces as effectively as I would 
like.  For the sake of discussion, let's call what I want "separate, 
independent workspaces".  Let me elaborate.  

If one wants to display something on a second monitor under Xinerama, then 
one simply draws something that is off the edge of the first.   Xinerama 
makes two or more monitors look like one bigger monitor.   However, the 
tendancy is that a window manager simply treats this as one big workspace.  
They are not separate workspaces.  

The other option is to treat each monitor as a different display. (i.e.  
localhost:0.0 and localhost:0.1)  However, most applications don't have the 
ability to migrate between different X displays.  This ties each application 
to a specific monitor, and doesn't allow me to display a workspace that is 
associated with display :0.0 on display :0.1 and vice versa.  This is very 
artificial and constantly gets in my way.  For example, what if I want to 
view two workspaces associated with the same monitor at the same time?

This, in turn, ties each workspace to a particular monitor.   I want each 
workspace to be independant of any monitor.   In a sense, this creates two 
"pools" of workspaces, one for each monitor.  I want two monitors to share 
the same "pool" of workspaces.

Now, it is practically impossible to write window manager that implements 
separate, independant workspaces without the using the Xinerama extensions.
However, to implent this idea using the Xinerama extensions is widely 
recognized as very difficult.  

Worse, to do this robustly is believed by some (including me) to be nearly 
impossible under Xinerama.  Xinerama introduces a whole host of 
compilcations, not least of which is that widows have a tendancy to pop up on 
mulitple monitors.   Despite Enlightenment's efforts in this regard, it has 
been my experience that this feature still doesn't work very well.   Besides, 
I do not much care for Enlightenment.  
take several different "logical displays",  like a single monitor and a 
xinerama display, and treat them as though they were the same display, say 
:0.0 for instance.   For the sake of discussion, let us call the two monitors 
:0.0,0 and :0.0,1.   Initially, they would display the exact same picture.   
However, a window manager that knows of the right extensions would be able to 
dictate which applications are visible on :0.0,0 and :0.0,1 independantly.  
For example We might want to have a clock application visible on both 
displays, a text editor visible only on :0.0,0, and a mail client visible 
only on :0.0,1.   Later, we might want to hide the text editor on :0.0,0, 
hide the mail client on :0.0,1, and make the mail client visible on :0.0,0.   
  Similarly, the window manager would be able to control what the mouse 
cursor looks like on each screen.  Oftentimes, it would want to make the 
mouse pointer invisible on all screens except one, where it would look normal.

In the case that a window manager is not capable of exploiting these 
extensions, then you would simply duplicate the exact same picture on :0.0,0 
and :0.0,1.  All the old protocols should continue to function as they always 
have.


This is just an initial idea.  Its open for critique and changes.   However, 
please realize that this idea is not at odds with xinerama.  In fact, it 
would complement xinerama quite nicely.

I'm a veteran programmer, and my knowledge of X says that this should be 
fairly easy to implement in principle.  But in practice, I'm not at all 
familiar with the XFree86 source code, and XFree86 is very large and poorly 
documented.   This makes the extension extremely difficult to write without  
the mentoring and assistance of somebody who is thoroughly acquainted with 
the source code.

best,
leon
_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to