home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!mcsun!uknet!edcastle!dcs.ed.ac.uk!gdmr
- From: gdmr@dcs.ed.ac.uk (George Ross)
- Newsgroups: comp.windows.x.motif
- Subject: Re: .mwmrc thru cpp?
- Message-ID: <42025@skye.dcs.ed.ac.uk>
- Date: 21 Aug 92 16:00:41 GMT
- References: <1992Aug21.120834.1745@sniap.mchp.sni.de>
- Sender: nnews@dcs.ed.ac.uk
- Organization: Department of Computer Science, Edinburgh University
- Lines: 76
-
- 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
-