anton@con.Berkeley.EDU (Jeff Anton) (02/13/90)
The invention of Application defaults files was poorly integrated with the previous system. 1. Some resources which can be set in applications defaults files can not be unset by the users resource settings. Consider the command button widget, if the width resource is set in the applications defaults file the user can not unset the width value back to the default width which is computed from the number of bits needed after considering the widget name and font. The only way I see around this is to define the width in each instance of the command widget. This problem is generally present in resources with an 'A' in the Notes column in the X11R4 Athena Widget Set document. This problem could be fixed with syntax to remove definitions. I propose '*Command.width@' which would remove any matching resources such as '*Command.width: 20'. 2. The precidence computations survive between the application defaults and user defaults. If a user specifies '*ShapeStyle: Rectangle' in their .Xdefaults file it should override a more specific '*Command.shapeStyle: Oval' specified as an application default. This should be the case to be consistent with the X philosopy that the user sets the display policy. A user can choose a window manager to their likeing and applications should respect that policy by being ICCCM compliant. Similarly, if a user sets a sweeping resource option such as '*BorderWidth: 1' that should be respected above the applications defaults. As the system exists now, the user must add many more specific resources to accomplish what he wishes and still he must continue to add more resources as new application resources are invented. I suggest that XrmMergeDatabases change this behavior. Other problems not addressed (not resources): UnexposeEvents: inform the application what regions have been covered up by other windows or moved off screen. This is not supported by the protocol when the display server has the information but the application has to do elaborate work to get it. Cursors can not be determined through XGetWindowAttributes. The default cursor colors are horrible for people who want reverse video. The default stringtocursor converted in Xt can only specify cursor shape and not color. I've complaned about this before to mit and got the reply that: You can write your own converter. This is not so for binaries which I might buy.
kit@EXPO.LCS.MIT.EDU (Chris D. Peterson) (02/14/90)
> The invention of Application defaults files was poorly integrated > with the previous system. I agree that it needs a bit of work, we are considering the problem, unfortunatly most of the comments you make require changes to both Xlib and Xt, since the Resource manager is part of Xlib. This doesn't mean that we can't fix it, just that it is a little tougher. > 1. Some resources which can be set in applications defaults files > can not be unset by the users resource settings. An Interesting point, I will have to think about this a little more, but it would be useful to have a way to "unmatch" the resource. > 2. The precidence computations survive between the application > defaults and user defaults. I agree that it should be possible for the user to override the application's defaults for resources, and do it in a simple manner, such as "*Foreground:blue". I do not agree that it should be the only behavior. There are some cases where the user would like to have the current behavior. > I suggest that XrmMergeDatabases change this behavior. I think that we have found a way to solve this problem a bit more generally. Our solution also remains backward compatible, something that we MUST do, whether we like it or not :-) I know that I am being vague in my answers. This is because we are just beginning to look at the problems of resource management, and I am not willng to provide any "solutions" yet. I did, however, want to let you know that we have heard your comments, and are thinking about the issues involved. Chris D. Peterson MIT X Consortium Net: kit@expo.lcs.mit.edu Phone: (617) 253 - 9608 Address: MIT - Room NE43-213