HDTenEightyP/NetNews huggingface dataset:
From: raney@teal.csn.org (Scott Raney)
Newsgroups: comp.windows.x.motif
Subject: Re: Public Domain GUI Builder for Motif
Date: 22 Aug 92 21:56:06 GMT
Organization: Colorado SuperNet, Inc.

greg@thirdi.uucp (Greg Holmberg) writes:

>In article <1992Aug17.203949.29596@cs.odu.edu>
>kale@aelle.cs.odu.edu (Vijay S. Kale) writes:

>> Is there a public domain GUI builder available for motif.

>Yes, it's called Dirt and it's available at the MIT machine
>(expo.lcs.mit.edu or something like that).  It uses Wcl, the Widget
>Create Library, an extension to app-defaults resource files.  Wcl is
>also available on expo.

>I use Wcl and love it.  I haven't used Dirt.  If you have Wcl, I don't
>think you really need an interactive builder.  After all, what's an
>interactive builder really best at?  Setting widgets down on other
>widgets.  This is fine in the MS-Windows world where applications tend
>not to have dynamic resizing ability, but with widgets, the size and
>position relationships are rule-based, not absolute positions.  You'll
>be using Form's and Table's (comes with Wcl).  I don't consider dialog
>boxes that don't resize because of fixed positions user friendly.

>In other words, you're not just going to plop down a widget and leave
>it there.  You're going to have to define constraints and
>relationships.  This is done by typing text, not picking things up with
>a mouse and moving them.

The problem with not having a visual representation is that your sense
of aesthetics can't be used interactively: you have to restart your
application, which takes time.  Those with no sense of aesthetics (or
at least no appreciation for the importance of having a good looking
UI) or lots of time on their hands can live without an IDT, everyone
else should have one.

Once you've used one for a while, you'll never go back.

>Greg Holmberg

>Third Eye Software, Inc.                415/321-0967 Voice
>750 Menlo Avenue, Suite 300             415/321-2066 Fax
>Menlo Park, CA  94025                   greg@thirdeye.com
-- 
***********************************************************************
* Scott Raney  303-447-3936            Remember: the better you look, *
* raney@metacard.com                   the more you'll see -- Lidia   *
***********************************************************************
From: cao+@MAPS.CS.CMU.EDU (Christopher Olson)
Newsgroups: comp.windows.x.motif
Subject: Btn2 or Btn3 in Menus
Date: 15 Aug 92 14:48:06 GMT
Article-I.D.: cs.Bt1547.46o.1
Organization: School of Computer Science, Carnegie Mellon
Originator: cao@MAPS.CS.CMU.EDU

I would like to to allow the user to select menus items from MenuBar Menus
with other buttons in addition to the normal BSelect.  In an application,
whose menus work perfectly with BSelect, I added the follow translations to
one of the cascade buttons in the menu bar:

*main*menuBar*Commands.translations: 
	<Btn2Down>: MenuBarSelect()\n\
	<Btn2Up>: DoSelect()

This translation caused the cascade button to ignore all mouse events.  My
menus were still traversable through their mnemonics but no longer traversable
with any mouse button.

What must I do to get a CascadeButton to post its menu pane on any button
press, and what must I do to get the PushButtons in the menu pane to 
respond to the release of that button?

Thank you in advance,
Chris.
-- 
Chris Olson			Digital Mapping Laboratory
cao@maps.cs.cmu.edu		School of Computer Science
Work: (412) 268-3884		Carnegie Mellon University
				Pittsburgh, PA  15213-3890
Newsgroups: comp.windows.x.motif
From: chien@iitmax.iit.edu (Greg Chien)
Subject: Callback on entering TextField widgets
Keywords: TextField, Text, Callback, Activate, Focus
Organization: Illinois Institute of Technology / Academic Computing Center
Date: Wed, 19 Aug 92 01:24:24 GMT

When does a TextField (or Text) widget generate an activateCallback?
I am trying to detect when a TextField is highlighted (or focused)
but the Motif widget generates only losingFocus and other
modification callbacks.  How does one get a callback on entering
rather than on leaving the widget?

Thanks in advance,

-- 
===========================================================================
| Greg T.H. Chien                       It is engineered, not designed.   |
| 60 E. 32nd St. #401                      BITNET:   THSSCHIEN@IITVAX     |
| Chicago, IL 60616                        Internet: chien@iitmax.iit.edu |
===========================================================================
Newsgroups: comp.windows.x.motif
From: meir@tfs.com (Meir Zaid)
Subject: Communication between Motif apps using properties
Organization: TRW Financial Systems
Date: Thu, 13 Aug 1992 06:22:54 GMT


I am writing a user interface that part of its job is to display
error messages received from other applications running on the same
machine.  The other apps communicating the messages to the user
interface using properties/atoms.  My problem is that all apps have
to share a widget because properties are associated with widgets.
I guess the most reasonable widget to use is the text widget in
which the errors are to be displayed.  But how can the other apps
know the widget ID of that window?
-- 

Meir Zaid			meir@tfs.com
TRW Financial Systems		(510) 704-3362
Berkeley,  California		Fax: (510) 845-7311
From: felix@laas.fr (Francois Felix INGRAND)
Newsgroups: comp.windows.x.motif
Subject: Re: stderr and stdout to XmText widget
Date: 15 Aug 92 14:07:15 GMT
Distribution: comp.windows.x.motif
Organization: LAAS-CNRS France
In-reply-to: reed@snake.tc.cornell.edu's message of 12 Aug 92 19:25:00 GMT


In article <1992Aug12.192500.15056@tc.cornell.edu> reed@snake.tc.cornell.edu (Michael G. Reed) writes:

   Here's some code I used not to long ago.  It pipes stderr/stdout from it's
   child processes to a text widget (assumes the text widget is already created
   and called "console", a global), but it's easily modified to do it for the
   current app (as a matter of fact, I think the changes I just did will snag
   the current app).  Hope this helps.

   -Michael

I think that there is a serious flaw in the design you propose... What if you
fill up the buffer while you are writting? The child stop reading (buffer
full), and the father will wait until it can finish its writting before
reading... Deadlock.

In fact, you do not need a child to do what you are doing, if you create a pipe
on one process, you can read and write in it and you end up with the same
result (a fifo).

The solution I use to this problem is to have an "echo" process which returns
whatever I send to it, but is able to buffer as much as necessary. That way, I
am sure I will never deadlock.
--
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Francois Felix INGRAND                   "Read my Lisp... No new syntax" (nil)
LAAS/CNRS: felix@laas.fr      "La guerre, qu'on voit danser le long des golfes
ACS Technologies                     clairs, a des reflets d'argent" (Anonyme)
Newsgroups: comp.windows.x.motif
From: ik@snoopy.ctt.bellcore.com (Ik Su Yoo)
Subject: Re: Passing more than one widget to a callback
Reply-To: ik@ctt.bellcore.com (Ik Su Yoo)
Organization: Bell Communications Research
Distribution: usa
Date: Wed, 19 Aug 92 20:03:35 GMT

In article <1992Aug19.172832.13679@overload.lbl.gov>, prem@prem.lbl.gov (Shirdi R. Prem) writes:
> In article <1992Aug19.161141.24141@sj.nec.com> achan@idaho.tdd.sj.nec.com (Amy Chan  x2941) writes:
> >In article <19843@leadsv.UUCP> mcfar@leadse5.UUCP (Lincoln McFarland) writes:
> >>I was wondering if it is possible to pass more than one widget to a call
> >>back using a user defined data structure like:
> >>
> >>/* structure to pass mulitple widgets to call back */
> >>typedef struct {
> >>  Widget flnm;   /* filename */
> >>  Widget sr;     /* sample rate */
> >>} data_bus;
> >>
> >>/* create input selector function */
> >>Widget create_sass_selector( filename_display, sr_display )
> >>Widget filename_display; /* widget to display selected filename */
> >>Widget sr_display;       /* widget to display sample rate */
> >>{
> >>  extern Widget toplevel; /* defined in ir.h */
> >>
> >>  Widget select_dialog;
> >>
> >>  data_bus input_display;
> >>
> >>  Arg al[10];
> >>  int ac;
> >>
> >>  input_display.flnm = filename_display;
> >>  input_display.sr   = sr_display;
> >>
> >>  /* create the file selection box dialog widget */
> >>  ac = 0;
> >>
> >>  select_dialog = XmCreateFileSelectionDialog( toplevel,
> >>                                              "select_input", al, ac);
> >>
> >>  XtAddCallback( select_dialog, XmNokCallback, sass_ok_CB, data_bus);
> >>  XtAddCallback( select_dialog, XmNcancelCallback, sass_cancel_CB, 0);
> >>
> >>  return select_dialog;
> >>
> >>} /* end create_sass_selector() */
> >
> >
> >You have to pass a pointer to your data structure data_bus instead of
> >the structure itself. Try doing:
> >
> >XtAddCallback(select_dialog, XmNokCallback, sass_ok_CB, (XtPointer)&data_bus);
> 
> 	Shouldn't you be passing &input_display instead of &databus ??
> 	I thought databus was the name you gave to your struct-type, and
> 	input_display was an instance of that type........... or did I
> 	miss something here...
> 
> 	Prem!
> 

I think the original author meant input_display, not databus.

There is another problem with the above. In the creation routine,
input_display is an automatic variable that gets deallocated after the
function exits. In order for the above to work, you need to either
make it a static, global, or alloate memory for it.

-- 

Ik S. Yoo
RRC-1H229, x5764
ik@ctt.bellcore.com
From: paul@ascent.com (Paul Foley)
Subject: Motif 1.1.3 (mutant) Form
Date: 12 Aug 92 20:04:05
Organization: Ascent Technology, Inc., Cambridge Massachusetts

I've just compiled a largish application under DEC's version of 1.1.3
on a sun4 (sic) and when I run it I get the X Toolkit warning about
children (of a form) having circular dependency, and the window comes
up arse-ways.  Now this self-same code runs fine under Motif 1.0 on
AIX 3.1 so I am very unhappy.

Looking up the release notes I find a reference to pirs #2253 --- "Form
finds circular arguments where none exist" which sounds a likely
canditate for my problem.

My question is:  has anyone come across this?  And can they tell me of
a workaround?  Or failing this, a decent implementation of Motif 1.1
on a sparc...

Please email and I will summarize to the net,

--
paul@ascent.com
...!uunet!ascent!paul




Newsgroups: comp.windows.x.motif
From: ntran@nosc.mil (Nu Tran)
Subject: Help on xterm window
Keywords: xterm
Organization: Naval Ocean Systems Center, San Diego, CA
Distribution: usa
Date: Mon, 17 Aug 1992 16:47:06 GMT



Does anyone know why I get the following error message

   xterm: fatal IO error 32 (Broken pipe) or KillClient on X server
	"tomcat:0.0"

whenever I close an xterm window by selecting the 'Close' item on 
the window menu.  How can I get rid of the message?  I'm using X11r4 
and Motif 1.1.3.

Thanks in advance.

N. Tran
From: kale@aelle.cs.odu.edu (Vijay S. Kale)
Newsgroups: comp.windows.x.motif
Subject: Public Domain GUI Builder for Motif
Date: 17 Aug 92 20:39:49 GMT
Organization: Old Dominion University


HI Netters,

 Is there a public domain GUI builder available for motif.

 Would appreciate any pointers/info about it.

 Thanks.

..Vijay
Newsgroups: comp.windows.x.motif
From: shmdgljd@rchland.vnet.ibm.com (Jay Schmidgall)
Subject: Re: Retrieving XmRowColumn Selections
Date: Fri, 14 Aug 1992 17:54:34 GMT
Reply-To: jay@vnet.ibm.com
Disclaimer: This posting represents the poster's views, not necessarily those of IBM
Organization: IBM Rochester, MN

In article <1992Aug14.152815.59@vulcan.mentec.ie>, tony_ok@vulcan.mentec.ie writes:
|> I need to use some X/Motif-based routine(s) to find out which items are
|> selected in the checkbox outside of it's callbacks - something similar to an
|> XtGetValues with XmNselectedItems for a list widget. The only handle I have to
|> the checkbox is it's widget ID.

You could do retrieve the children of the check box,
 check if the child is a togglebutton
 and if it is, check its state.

-- 
: jay          jay@vnet.ibm.com    My opinions and ideas, not my employer's.
: shmdgljd@rchland.vnet.ibm.com    (c) Copyright 1992.  All rights reserved.
Newsgroups: comp.windows.x.motif
From: dwight@geohub.gcn.uoknor.edu (Dwight D. Moore)
Subject: Re: DrawingArea and Colormaps Problem
Reply-To: dwight@geohub.gcn.uoknor.edu
Organization: Geosciences Computing Network, Univ. of Oklahoma
Date: Mon, 17 Aug 1992 21:07:24 GMT

|>Michael P. Mack (6500mack@ucsbuxa.ucsb.edu) wrote:
|>: I am writing an application that draws images in a DrawingArea
|>: Widget with the option of changing the colormap.  I want the
|>: new colormap to be active only when the pointer is in the
|>: DrawingArea.  However I can't seem to get it to work right.
|
|>
|>You need to make sure the colormap you are trying to use is installed.  You can
|>use XInstallColormap to install the colormap after the call to 
|>XSetWindowColormap.  Chances are that you can only have one installed colormap
|>at a time.  You can check this out by running xdpyinfo and looking at the values
|>of number of colormaps for each screen of the display.  

|>Chris Atkins
|>chris@ods.com
|
BZZZZZTTTT. Bad idea in general. In Motif, colormaps need to specified at widget
creation.
Using XInstallColormap()  explicitly violates ICCCM compliance..i.e. the window
manager 
should be the one to decide when and where a colormap is installed. Yes, you can
use it,
but beware of the consequences, if mwm even lets you. If you look in your Motif
docs, 
the colormap resources is inherited from the Core widget, and you can only set
it at 
widget creation and use XGetValues() to retrieve the id.

----------------------------------------------------------------------------
Dwight D. Moore
Geosciences Computing Network
University of Oklahoma

dwight@geohub.gcn.uoknor.edu (129.15.40.10)
These opinions do not necessarily represent the opinions of OU or the GCN.
----------------------------------------------------------------------------
Newsgroups: comp.windows.x.motif
From: raney@teal.csn.org (Scott Raney)
Subject: Re: Formatted Text
Keywords: rich text richtext rtf formatted text
Organization: Colorado SuperNet, Inc.
Date: Fri, 14 Aug 1992 03:38:36 GMT

george@osc.COM (George Baggott) writes:

>I'm interested in displaying formatted text (i.e. tabs and/or multiple fonts).
>I've checked out the XcRichText widget and I wasn't entirely pleased with it
>(too slow, doesn't work in reverse video, and you have to add all sorts of
>font bindings to your .Xdefaults file).  Does anyone know of any alternative,
>commercial or otherwise?

*** Warning! Marketing hype ahead!

It may be too late if you're well into the development of an Xt
application, but the text field objects in our UIMS product MetaCard
support multiple alignments, fonts, sizes, colors, and
subscript/superscript.  They also support search, sort, and hypertext.
Check out the free save-disabled distribution on ftp.uu.net (directory
vendor/MetaCard).

Note that this is a commercial product ($495), but no runtimes fees
apply when distributing applications developed with MetaCard.

>George
>george@osc.com
-- 
***********************************************************************
* Scott Raney  303-447-3936            Remember: the better you look, *
* raney@metacard.com                   the more you'll see -- Lidia   *
***********************************************************************
Date: 13 Aug 92 11:04:01 GMT
Newsgroups: comp.windows.x.motif
Distribution: comp
Subject: XmTextField problem
From: jopa@tkk.tele.fi (Jorma Paananen)

I had a few XmText widgets in a uil file. I changed them to
XmTextField widgets and got a runtime warning (no compiler warnings)

Warning: Urm__WCI_LookupClassDescriptor: Couldn't find class
descriptor for class XmCreateTextField - MrmNOT_FOUND

and no XmTextField widget on display. XmText widgets worked ok.
If I use XmCreateTextField directly in my .c it works ok.

Jorma  jopa@th.tele.fi
-----
It's not an optical illusion, it just looks like one.
Newsgroups: comp.windows.x.motif
From: james@col.hp.com (James Kahkoska)
Subject: loooking for Berlage sources
Date: Fri, 21 Aug 1992 20:19:50 GMT
Organization: HP Colorado Springs Division

I am looking for the source code in the Appendixes of the book
OSF/Motif - Concepts and Programming by Thomas Berlage

Anybody have any idea if they are on the net - Thanks, James
From: jchang@asc.slb.com (Jeff Chang)
Newsgroups: comp.windows.x.motif
Subject: Commercial help widget info needed
Date: 18 Aug 92 16:10:58 GMT
Organization: Schlumberger Austin Systems Center


Can anyone points me to some commercially available help widgets
that at least support hypertext and with Motif look and feel.

Please reply by email: jchang@asc.slb.com

Thanks 
jc
Newsgroups: comp.windows.x.motif
From: ntran@nosc.mil (Nu Tran)
Subject: Help on xterm window
X-Orig-Msg-Id: <1992Aug17.164706.22450@nosc.mil>
Apparently-To: motif@alphalpha.com
Keywords: xterm
Organization: Naval Ocean Systems Center, San Diego, CA
X-Old-Received: by alfalfa.com ( 5.52 (84)/test)
 	id AA04101; Mon, 17 Aug 92 16:44:19 EDT
  by alphalpha.UUCP ( 5.52 (84)/ASI-1.0)
 	id AA21031; Mon, 17 Aug 92 16:32:49 EDT
  from ucbvax.Berkeley.EDU by BU.EDU (1.99) Mon, 17 Aug 92 16:27:53 -0400
  by ucbvax.Berkeley.EDU (5.63/1.43)
 	id AA13315; Mon, 17 Aug 92 13:03:05 -0700
Distribution: usa
Date: Mon, 17 Aug 1992 16:47:06 GMT



Does anyone know why I get the following error message

   xterm: fatal IO error 32 (Broken pipe) or KillClient on X server
	"tomcat:0.0"

whenever I close an xterm window by selecting the 'Close' item on 
the window menu.  How can I get rid of the message?  I'm using X11r4 
and Motif 1.1.3.

Thanks in advance.

N. Tran
Newsgroups: comp.windows.x.motif
From: morreale@laplata.scd.ucar.edu (Peter Morreale)
Subject: Width of SelectionBoxDialog....
Keywords: controlling the list width....
Organization: NCAR/UCAR
Date: Sat, 15 Aug 1992 16:05:02 GMT


I can't seem to find a way to control the size of the child list in a
SelectionBoxDialog.  The selection box always seems to set the 
width of the list to the length of the longest list item.  

If I add the list items *after* managing the SelectionBoxDialog, then I
wind up with a very narrow list window.  (seems to be constrained to the
the width of the managed buttons)

I've tried setting the width of the box, both before and after managing,
the width of the list (before and after managing), etc...  

Since I'm adding a horizontal scrollbar, I'd ideally like to have the
list be some reasonable width of the widest list item.  

What am I missing?

Here is the code of my latest attempt:


/*------------------------------------------------------------------------*/
void UserSelect(u, num)
User	*u[];
int	num;
{
	Widget		w, child, list;
	char		buf[256];
	XmString	xms;
	int		i, j;
	Arg		arg[10];
	void		SelectCB();

	(void)sprintf(buf, "Matches found: %d", num);
	xms = XmStringCreateSimple(buf);

	i = 0;
	XtSetArg(arg[i], XmNlistLabelString, xms); i++;
	XtSetArg(arg[i], XmNlistSizePolicy, XmCONSTANT); i++;
	XtSetArg(arg[i], XmNwidth, 500); i++;
	w = XmCreateSelectionDialog(mainform, "searchSelect", arg, i);
	XmStringFree(xms);

	XtAddCallback(w, XmNokCallback,      SelectCB, (caddr_t) NULL);
	XtAddCallback(w, XmNapplyCallback,   SelectCB, (caddr_t) NULL);
	XtAddCallback(w, XmNcancelCallback,  SelectCB, (caddr_t) NULL);
	XtAddCallback(w, XmNnoMatchCallback, SelectCB, (caddr_t) NULL);

	list = XmSelectionBoxGetChild(w, XmDIALOG_LIST);

	i = 0;
	XtSetArg(arg[i], XmNscrollBarDisplayPolicy, XmSTATIC); i++;
	XtSetArg(arg[i], XmNvisibleItemCount, 10); i++;
	XtSetArg(arg[i], XmNlistSpacing, 2); i++;
	XtSetArg(arg[i], XmNwidth, 500); i++;
	XtSetValues(list, arg, i);

	/* Unmanage some children... */
	child = XmSelectionBoxGetChild(w, XmDIALOG_HELP_BUTTON);
	XtUnmanageChild(child);

	child = XmSelectionBoxGetChild(w, XmDIALOG_TEXT);
	XtUnmanageChild(child);

	child = XmSelectionBoxGetChild(w, XmDIALOG_SELECTION_LABEL);
	XtUnmanageChild(child);

	XtManageChild(w);

	j = 1;
	for(i = 0; i < num; i++) {

	   (void)sprintf(buf, "%d %-8.8s %s %s %s %s", 
			 u[i]->sci,
			 u[i]->log,
			 u[i]->name,
			 u[i]->phn,
			 u[i]->div,
			 u[i]->mail);

	   xms = XmStringCreateSimple(LCase(buf));
	   XmListAddItem(list, xms, j++);
	   XmStringFree(xms);
	}


} /* END UserSelect() */


Comments appreciated....
-PWM

------------------------------------------------------------------
Peter W. Morreale                  email:  morreale@ncar.ucar.edu
Nat'l Center for Atmos Research    voice:  (303) 497-1293
Scientific Computing Division     
Consulting Office
------------------------------------------------------------------
Newsgroups: comp.windows.x.motif
From: Mathias.Koerber@sniap.mchp.sni.de (Mathias Koerber)
Subject: `xterm -name utree` doesn't read UTree.ad
Organization: Siemens Nixdorf AG
Date: Fri, 21 Aug 92 12:16:20 GMT


I have just got utree to run on my machine, but had to find
that my xterm does not access the installes UTree application
defaults. Is this a known problem in Motif 1.1?

This is a SNI RM600 with Motif 1.1, although the same has been
seen on other SNI Motif versions.

Any hints?
----
Mathias Koerber    | Tel: +49/89/636-45685 | Mathias.Koerber@sniap.mchp.sni.de
SNI AP 114         | Fax: +49/89/636-45860 | koerber.muc@sni.de
MchP/LZ Rm:L1562   | X.400:  C=DE/A=DBP/P=SNI-SMTP/O=de/OU1=sni/OU2=mchp/
Carl-Wery-Str. 22  |         OU3=sniap/S=Koerber/G=Mathias
D-8000 Muenchen 83 | X.400:  C=DE/A=DBP/P=SNI/O=SIEMENS NIXDORF/OU1=MUENCHEN/
(United!) Germany  |         OU2=P4/OU3=D5/OU4=AP11/S=KOERBER/G=MATHIAS
* Eifersucht ist eine Leidenschaft, die mit Eifer sucht was Leiden schafft *
From: gdmr@dcs.ed.ac.uk (George Ross)
Newsgroups: comp.windows.x.motif
Subject: Re: .mwmrc thru cpp?
Date: 21 Aug 92 16:00:41 GMT
Organization: Department of Computer Science, Edinburgh University

In article <1992Aug21.120834.1745@sniap.mchp.sni.de>, Mathias.Koerber@sniap.mchp.sni.de (Mathias Koerber) writes:
> Is there a way to let mwm run the user's .mwmrc-file tru the
> C-Preprocessor first? We have quite a lot of commands
> set up accessible via key-bindings as well as via menu-entries.

We've not tried doing anything to mwm, but here's our patch for twm.  You
could maybe adapt it.

*** parse.c.dist	Thu Nov 29 13:25:55 1990
--- parse.c	Mon Dec  3 15:23:19 1990
***************
*** 52,60 ****
  #include "parse.h"
  #include <X11/Xatom.h> 
  
! #ifndef SYSTEM_INIT_FILE
! #define SYSTEM_INIT_FILE "/usr/lib/X11/twm/system.twmrc"
! #endif
  #define BUF_LEN 300
  
  static FILE *twmrc;
--- 52,60 ----
  #include "parse.h"
  #include <X11/Xatom.h> 
  
! #undef SYSTEM_INIT_FILE
! #define SYSTEM_INIT_FILE "/usr/local/share/X11R5/twmrc.default"
! #define SYSTEM_FILTER "/usr/local/share/X11R5/twmfilter.default"
  #define BUF_LEN 300
  
  static FILE *twmrc;
***************
*** 122,127 ****
--- 122,128 ----
      int homelen = 0;
      char *cp = NULL;
      char tmpfilename[257];
+     char tmpfilter[257];
  
      /*
       * If filename given, try it, else try ~/.twmrc.# then ~/.twmrc.  Then
***************
*** 157,163 ****
  	    break;
  	}
  
! 	if (cp) twmrc = fopen (cp, "r");
      }
  
      if (twmrc) {
--- 158,177 ----
  	    break;
  	}
  
!        if (cp && (access(cp,R_OK) != -1)) { 
!           if (home) {
!             (void) sprintf( tmpfilter, "%s/.twmfilter", home );
!             if (access(tmpfilter,X_OK) == -1) strcpy(tmpfilter,SYSTEM_FILTER);
!           } else strcpy(tmpfilter,SYSTEM_FILTER);
! 
!           if (access(tmpfilter,X_OK) == -1) {
!             twmrc = fopen (cp, "r");
!           } else {
!             strcat(tmpfilter, " ");
!             strcat(tmpfilter, cp);
!             twmrc = popen(tmpfilter,"r");
!           }
!         }
      }
  
      if (twmrc) {

-- 
George D M Ross, Department of Computer Science, University of Edinburgh
     Kings Buildings, Mayfield Road, Edinburgh, Scotland, EH9 3JZ
Tel: 031-650 5147   Internet: gdmr@dcs.ed.ac.uk   JANET: gdmr@uk.ac.ed.dcs