Re: Application-controlled window dragging

Havoc Pennington <[email protected]>
Newsgroups gmane.comp.gnome.wm-spec
Message-ID <[email protected]>
Hi,

Christian Hammond wrote:
> The thing to keep in mind is that there are several applications that 
> already bypass the window manager's moving logic and implement it 
> themselves. XMMS is a good example because of how it deals with moving 
> multiple windows simultaneously and binds windows together when they 
> come in contact. 

FWIW I think there was some past discussion (here, or maybe in bugzilla? 
  it was years ago) of XMMS. One suggestion I remember was some kind of 
"glue" hints - something like "stick this window to this other window on 
these edges"

In any case, if you develop a prototype patch for some WMs and post the 
patches, that might help illustrate the impact of this proposal in terms 
of code complexity and maintenance headaches.

I'd strongly prefer some kind of semantic hints to an "escape hatch" 
though. Escape hatches are both very open to abuse, and hard for WM 
authors to maintain since it's unclear when to honor them or what the 
apps using them are trying to accomplish, so smart default behavior (or 
even sane behavior at all) becomes a big headache to figure out. When 
making a behavior decision for an "escape hatched" window, it's never 
clear whether it will break some apps or what, because you just don't 
know what those apps are doing.

App authors always want an escape hatch so they can just proceed to do 
their thing with no further WM involvement. But the problem is that the 
screen is a shared resource. The WM and the X server and associated 
specs are needed, along with some amount of restrictive policy, because 
multiple apps need to be coordinated.

So ultimately apps just can't do arbitrary things. UI decisions have 
been made about how the desktop as a whole works, and often if an app 
wants to do something really original, the desktop as a whole needs to 
be modified or revisited.

It's just like global keybindings; some resources (and decisions) are 
inherently global and can't be made by apps in isolation.

My suspicion is that an app like VMWare would strongly benefit from 
being designed together with the whole desktop; it is effectively an 
idea similar to workspaces, and is in part allocating a shared global 
resource (screen and keyboard) between the virtual and physical machine.
In my usage of vmware, I might like to essentially have the VM be an 
extra workspace, for example.

Of course, since VMWare is cross-platform and not part of the desktop, 
this is challenging. But perhaps it could still be done - essentially 
hardcode the idea of a "VM manager" and "VM app" in the panel, WM, etc. 
and do smart things there. It could be pluggable for VMWare vs. 
alternatives.

I would rather have virtual-machine-specific hints than "escape hatch" 
hints.

Sorry to speak abstractly and philosophically, but since I don't know 
the concrete details in this case ;-)

Havoc
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.