olin@sics.se (Peter Olin) (09/21/89)
We are implementing a ROOMS-like window manager (in GWM) an have encountered the following problem: When starting a client the user should be able to specify which room(s) the client should appear in. The transfer of this information from the user to the window manager must somehow be performed outside the client since we naturally don't want to rewrite all clients to work nicely with our window manager. I can't find any way to do this, not in the ususal doc, nor in the ICCCM. Is it at all possible to do this? Are there any reasons why you shouldn't be able to do this? /Olin -- ---------------------------------------------------------------------- Peter Olin SICS, PO Box 1263, S-164 28 KISTA, SWEDEN Internet: olin@sics.se Tel: +46 8 752 15 57
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (09/22/89)
When starting a client the user should be able to specify which room(s) the client should appear in. I can't find any way to do this, not in the ususal doc, nor in the ICCCM. Is it at all possible to do this? Since there is no standard for what a pseudo-root or ROOM is, it is not surprising that there is no standard way to specify this.
olin@DELFI.UDAC.UU.SE (09/22/89)
From: rws@EXPO.LCS.MIT.EDU (Bob Scheifler) Organization: The Internet When starting a client the user should be able to specify which room(s) the client should appear in. I can't find any way to do this, not in the ususal doc, nor in the ICCCM. Is it at all possible to do this? Since there is no standard for what a pseudo-root or ROOM is, it is not surprising that there is no standard way to specify this. --- The issue here is not the non-existent standard for pseudo-roots, is it? The problem, I think, is that you cannot communicate information about a client to the window manager without the client knowing it -- no matter what the information is. It doesn't have anything to do with pseudo-roots. Suppose I wanted a specific client to be decorated with a frog in the title bar and jump around on the screen, then I would like to be able to issue a command like: xterm -name foo -xrm " foo*WindowType: 'frog' " & And later let the window manager read this and act accordingly. Isn't there any (non-standard) way to do this? If not, why is this so? Are there any reasons why the user shouldn't give such information to the window manager? +-----------------------------------------------------------------------------+ ! Peter Olin, UDAC, Box 2103, S-750 02 UPPSALA, SWEDEN, Phone +46 18-187862 ! ! E-Mail: olin@delfi.udac.uu.se or olin@sics.se +----------------------------+ +------------------------------------------------+
guido@piring.cwi.nl (Guido van Rossum) (09/22/89)
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) writes: >Since there is no standard for what a pseudo-root or ROOM is, it is not >surprising that there is no standard way to specify this. The original question was about rooms. I suppose a better way to do rooms than to use pseudo-rooms is to perform room switching in the window manager by simply iconizing all windows in the current room and de-iconizing the ones in the new room. (And I suspect the original author was planning to do it this way in gwm -- BTW, I'd be interested in getting a copy of that code). The question then boils down to "is there a way to pass arbitrary information?" to a window manager on client invocation, without modifying clients. One could qualify this with question with "Xt clients" or "clients using a particular toolkit" and get different answers, but I suspect in general the answer is no: all information (like the -geometry string) you can specify as resources or command line options on client invocation seem to have very specific uses. -- Guido van Rossum, Centre for Mathematics and Computer Science (CWI), Amsterdam guido@cwi.nl or mcvax!guido or guido%cwi.nl@uunet.uu.net "Repo man has all night, every night."
swick@ATHENA.MIT.EDU (Ralph R. Swick) (09/22/89)
> The issue here is not the non-existent standard for pseudo-roots, is it? The problem, > I think, is that you cannot communicate information about a client to the window > manager without the client knowing it -- no matter what the information is. You could certainly prototype something using WM_COMMAND. '-xrm FunnyWindowManagerResource:VeryFunnyValue' will appear in the property for any Xt client and (probably) have no effect on the client.
rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (09/22/89)
<windows jumping through hoops> And later let the window manager read this and act accordingly. Isn't there any (non-standard) way to do this? If not, why is this so? I'm sure you could invent a non-standard way. There are window managers that will read some client-specific resources from (at least) the server's resource database, you can examine particular vendor window managers to get details. I'm sure you could invent a resources property to be stuck on a client window for a window manager to read. I don't know off-hand if any window managers currently do that kind of thing. But, what you seem to be asking is, "how come there isn't a standard way that I can type arbitrary non-standard information at the command line of an arbitrary client, on an arbitrary operating system, and have it not affect the client but get transferred to the window manager?". Well, we don't force standardization of command line syntax, and no one to my knowledge ever suggested (during the public review of the ICCCM) that this kind of transfer mechanism was important or should be standardized.
davidh@dent.Berkeley.EDU (David S. Harrison) (09/23/89)
> Isn't there any (non-standard) way to do this? If not, why is this so? > Are there any reasons why the user shouldn't give such information to the > window manager? Maybe I am missing something here but this doesn't seem to be 1. Have the window manager read a profile. GWM uses this approach. Clients are specified by their class name (the standard WM_CLASS property). 2. Have the window manager read specifications from the resource database. Clients can be specified using the same mechanism given above. I suspect the second approach is more general and avoids creating yet another startup file. David Harrison UC Berkeley Electronics Research Lab (davidh@ic.Berkeley.EDU, ...!ucbvax!ucbcad!davidh)
asente@decwrl.dec.com (Paul Asente) (09/23/89)
In article <8909220829.AA00900@korfu.udac.uu.se> olin@DELFI.UDAC.UU.SE writes: >Suppose I wanted a specific client to be decorated with a frog in the title bar >and jump around on the screen, then I would like to be able to issue a command like: > > xterm -name foo -xrm " foo*WindowType: 'frog' " & > >And later let the window manager read this and act accordingly. > >Isn't there any (non-standard) way to do this? If not, why is this so? >Are there any reasons why the user shouldn't give such information to the >window manager? If you are using the X Toolkit you can write an implementation of VendorShell that supports the new resources you need. This is exactly what VendorShell is for; it's expected that any supplier of a window manager that supports non-standard protocols will also supply a version of VendorShell that supports the protocols on the client side. -paul asente asente@decwrl.dec.com decwrl!asente