Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!pasteur!anton@con.Berkeley.EDU From: anton@con.Berkeley.EDU (Jeff Anton) Newsgroups: comp.windows.x Subject: Application default resources - A Dissent Message-ID: <22049@pasteur.Berkeley.EDU> Date: 13 Feb 90 05:38:26 GMT Sender: news@pasteur.Berkeley.EDU Reply-To: anton@con.Berkeley.EDU (Jeff Anton) Organization: U.C. Berkeley Experimental Computing Facility (UCB XCF) Lines: 57 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.