rusty@GARNET.BERKELEY.EDU (06/29/89)
In my xysysmon program I'm having a problem where it seems that a lower-level form widget is being set to the size (geometry) for the top-level window only when I use the command line option -geometry or use XSysmon.geometry in my .Xdefaults file. The widget tree looks like this: top_shell mainForm mainLabel loadForm userCpuForm systemCpuForm idleCpuForm ... Where top_shell is the widget returned by XtInitialize, mainForm is a form widget (whose parent is top_shell), mainLabel is a label widget (whose parent is mainForm), loadForm is a form widget (whose parent is mainForm), etc. The loadForm widget is the widget that seems to be getting improperly resized when I use -geometry. It looks like its size is too small, vertically, by about the height of mainLabel. The "missing" part is at the bottom, so that the lowest form widget in it is partly cut off. It happens regardless of which window manager I run (twm or awm) or none at all. Could someone please tell me what is wrong and what I can do to fix it? The only resource I'm setting in the code is fromVert on systemCpuForm, idleCpuForm, etc. All the rest are being set in the app defaults file: *Form.internalHeight: 0 *Form.internalWidth: 0 *Form.defaultDistance: 1 *Form.borderWidth: 0 *Form.resizable: True *Form.left: ChainLeft *Form.right: ChainRight *Label.borderWidth: 0 *Label.internalHeight: 0 *Label.internalWidth: 0 *Label.resizable: True *Label.justify: left *Label.top: ChainTop *Label.bottom: ChainTop *Label.left: ChainLeft *Label.right: ChainLeft *Load.height: 50 *Load.width: 50 *Load.update: 3 *Load.borderWidth: 1 *Load.resizable: True *Load.left: ChainLeft *loadForm.fromVert: mainLabel *loadForm.top: ChainTop !doesn't help !*loadForm.bottom: ChainBottom *userCpuForm*label1.label: user *userCpuForm*label2.label: cpu *userCpuForm*label2.fromVert: label1 *userCpuLoad.fromHoriz: label1 *systemCpuForm*label1.label: system *systemCpuForm*label2.label: cpu *systemCpuForm*label2.fromVert: label1 *systemCpuLoad.fromHoriz: label1 *idleCpuForm*label1.label: idle *idleCpuForm*label2.label: cpu *idleCpuForm*label2.fromVert: label1 *idleCpuLoad.fromHoriz: label1 *freeMemForm*label1.label: free *freeMemForm*label2.label: memory *freeMemForm*label2.fromVert: label1 *freeMemLoad.fromHoriz: label1 *diskTransForm*label1.label: disk *diskTransForm*label2.label: transfers *diskTransForm*label2.fromVert: label1 *diskTransLoad.fromHoriz: label1 *interruptsForm*label1.label: interrupts *interruptsForm*label2.label: \ *interruptsForm*label2.fromVert: label1 *interruptsLoad.fromHoriz: label1 *inputPackForm*label1.label: input *inputPackForm*label2.label: packets *inputPackForm*label2.fromVert: label1 *inputPackLoad.fromHoriz: label1 *outputPackForm*label1.label: output *outputPackForm*label2.label: packets *outputPackForm*label2.fromVert: label1 *outputPackLoad.fromHoriz: label1 *collPackForm*label1.label: collision *collPackForm*label2.label: packets *collPackForm*label2.fromVert: label1 *collPackLoad.fromHoriz: label1