If the window is custom then copy trial_ui.c to trial_cui.c. Now perform the following changes to trial_cui.c.
trial_win_objects * trial_win_objects_initialize(ip, owner) trial_win_objects *ip; Xv_opaque owner; { if (!ip && !(ip = (trial_win_objects *) calloc(1, sizeof (trial_win_objects)))) return (trial_win_objects *) NULL; if (!ip->win) ip->win = trial_win_win_create(ip, owner); if (!ip->pan) ip->pan = trial_win_pan_create(ip, ip->win); if (!ip->button1) ip->button1 = trial_win_button1_create(ip, ip->pan); if (!ip->setting1) ip->setting1 = trial_win_setting1_create(ip, ip->pan); if (!ip->varb_value) ip->varb_value = trial_win_varb_value_create(ip, ip->pan); return ip; }
might become
trial_win_objects * trial_win_objects_initialize(ip, owner) trial_win_objects *ip; Xv_opaque owner; { if (!ip && !(ip = (trial_win_objects *) calloc(1, sizeof (trial_win_objects)))) return (trial_win_objects *) NULL; if (!ip->win) ip->win = trial_win_win_create(ip, owner); if (!ip->pan) ip->pan = trial_win_pan_create(ip, ip->win); if (!ip->button1) ip->button1 = trial_win_button1_create(ip, ip->pan); return ip; }
Xv_opaque trial_win_varb_value_create(ip, owner) caddr_t ip; Xv_opaque owner; { . PANEL_VALUE_X, 135, PANEL_VALUE_Y, 64, . }
could become:
Xv_opaque trial_win_varb_value_create(ip, owner, i) caddr_t ip; Xv_opaque owner; int i; { . PANEL_VALUE_X, 135, PANEL_VALUE_Y, 64 + 20 * i, . }
Xv_opaque trial_win_setting1_create(ip, owner) caddr_t ip; Xv_opaque owner; { . PANEL_CHOICE_NROWS, 1, . }
would become
Xv_opaque trial_win_setting1_create(ip, owner, n) caddr_t ip; Xv_opaque owner; int n; { . PANEL_CHOICE_NROWS, n, . }