home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-08-16 | 57.2 KB | 1,627 lines |
- Newsgroups: comp.sources.misc
- subject: v14i053: Official patch #7 for faces v1.4 (part 2 of 2).
- from: rburridge@Sun.COM (Rich Burridge)
- Sender: allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc)
-
- Posting-number: Volume 14, Issue 53
- Submitted-by: rburridge@Sun.COM (Rich Burridge)
- Archive-name: faces-1.4.5/patch03
-
- ------CUT HERE------start of message------CUT HERE------
-
- Official patch #7 for faces v1.4 (part 2 of 2).
-
- /** IMPORTANT NOTE: This patch and the new file (mush.xface.patch)
- ** comes in two parts. You should save these two parts, strip off the
- ** initial header (down to and including the CUT HERE lines), and
- ** anything below (and including) the CUT HERE line at the end of each
- ** file. cat the two files together, and unpack with sh. Use Larry Wall's
- ** patch program to apply, and recompile and reinstall.
- **
- ** I apologise for this; I didn't realise the patch was going to be so
- ** big.
- **/
-
- ------CUT HERE------CUT HERE------CUT HERE------CUT HERE------
- ------- sunview.c -------
- *** /tmp/da09676 Tue Aug 14 07:20:18 1990
- --- sunview.c Sat Aug 4 03:28:47 1990
- ***************
- *** 56,62 ****
- } ;
-
- Pixwin *fpw, *pw ;
- - int toclear ; /* Set if faces icon needs clearing. */
- int ffd ; /* File descriptor of faces frame. */
-
-
- --- 56,61 ----
- ***************
- *** 65,79 ****
- enum icon_type itype ;
- int row, column ;
- {
- ! switch ((int) mtype)
- ! {
- ! case MONNEW : PR_ROP(pr[(int) dtype], imagewidth, 0,
- ! (maxcols-1)*imagewidth, imageheight, PIX_SRC,
- ! pr[(int) dtype], 0, 0) ;
- ! default : PR_ROP(pr[(int) dtype], column*imagewidth, row*imageheight,
- ! imagewidth, imageheight, PIX_SRC,
- ! images[(int) itype], 0, 0) ;
- ! }
- }
-
-
- --- 64,75 ----
- enum icon_type itype ;
- int row, column ;
- {
- ! if (mtype == MONNEW)
- ! PR_ROP(pr[(int) dtype], imagewidth, 0, (maxcols-1)*imagewidth,
- ! imageheight, PIX_SRC, pr[(int) dtype], 0, 0) ;
- !
- ! PR_ROP(pr[(int) dtype], column*imagewidth, row*imageheight,
- ! imagewidth, imageheight, PIX_SRC, images[(int) itype], 0, 0) ;
- }
-
-
- ***************
- *** 111,125 ****
- if (event_is_down(event) && nextc == MS_LEFT)
- {
- wdtype = (wdtype == DISP_NAME) ? DISP_OTHER : DISP_NAME ;
- ! PW_ROP(pw, 0, 0, width, height, PIX_SRC, pr[(int) wdtype], 0, 0) ;
- }
- ! if (mtype == MONNEW && event_is_ascii(event) && nextc == DEL)
- ! {
- ! repl_image(DISP_NAME, CUROFF, width, height) ;
- ! repl_image(DISP_OTHER, CUROFF, width, height) ;
- ! toclear = 1 ;
- ! do_check() ;
- ! }
- else window_default_event_proc(canvas, event, arg) ;
- }
-
- --- 107,115 ----
- if (event_is_down(event) && nextc == MS_LEFT)
- {
- wdtype = (wdtype == DISP_NAME) ? DISP_OTHER : DISP_NAME ;
- ! draw_screen(wdtype) ;
- }
- ! if (event_is_ascii(event)) do_key(nextc) ;
- else window_default_event_proc(canvas, event, arg) ;
- }
-
- ***************
- *** 169,174 ****
- --- 159,171 ----
- }
-
-
- + draw_screen(wdtype)
- + enum disp_type wdtype ;
- + {
- + PW_ROP(pw, 0, 0, width, height, PIX_SRC, pr[(int) wdtype], 0, 0) ;
- + }
- +
- +
- init_font()
- {
- sfont = pf_open(FONT) ;
- ***************
- *** 206,212 ****
- gtype = SVIEW ;
- pr[(int) DISP_NAME] = pr[(int) DISP_OTHER] = NULL ;
- old_pr[(int) DISP_NAME] = old_pr[(int) DISP_OTHER] = NULL ;
- - toclear = 0 ;
- return 0 ;
- }
-
- --- 203,208 ----
- ***************
- *** 288,294 ****
- Pixwin *pw ;
- Rectlist *repaint_area ;
- {
- ! PW_ROP(pw, 0, 0, width, height, PIX_SRC, pr[(int) wdtype], 0, 0) ;
- }
-
-
- --- 284,290 ----
- Pixwin *pw ;
- Rectlist *repaint_area ;
- {
- ! draw_screen(wdtype) ;
- }
-
-
- ***************
- *** 331,337 ****
- temprect->r_height = height + 10 ;
- temprect->r_width = width + 10 ;
- WINDOW_SET(frame, FRAME_OPEN_RECT, temprect, 0) ;
- ! PW_ROP(pw, 0, 0, width, height, PIX_SRC, pr[(int) wdtype], 0, 0) ;
-
- if (newmail) beep_flash(beeps, flashes) ;
- if (old_pr[(int) DISP_NAME]) PR_DESTROY(old_pr[(int) DISP_NAME]) ;
- --- 327,333 ----
- temprect->r_height = height + 10 ;
- temprect->r_width = width + 10 ;
- WINDOW_SET(frame, FRAME_OPEN_RECT, temprect, 0) ;
- ! draw_screen(wdtype) ;
-
- if (newmail) beep_flash(beeps, flashes) ;
- if (old_pr[(int) DISP_NAME]) PR_DESTROY(old_pr[(int) DISP_NAME]) ;
-
- ------- extern.h -------
- *** /tmp/da09679 Tue Aug 14 07:20:18 1990
- --- extern.h Wed Aug 8 17:45:02 1990
- ***************
- *** 33,38 ****
- --- 33,39 ----
- extern enum gr_type gtype ; /* Indicates what graphics system is being used. */
- extern enum mon_type mtype ; /* What type of monitoring we should do. */
-
- + extern char bgcolor[] ; /* X11 background color. */
- extern char bgicon[] ; /* Alternate background pattern. */
- extern char community[] ; /* Community name ("real" host name). */
- extern char defdir[] ; /* The default face directory. */
- ***************
- *** 41,47 ****
- extern char face_host[] ; /* Pointer to host name from the "From" line. */
- extern char face_ts[] ; /* Pointer to time stamp from the "From" line. */
- extern char face_user[] ; /* Pointer to user name from the "From" line. */
- ! extern char facedir[] ; /* Alternate face image directory. */
- extern char fname[MAXTYPES][MAXLINE] ; /* Array of various face name types. */
- extern char geometry[] ; /* X11 geometry information. */
- extern char hostname[] ; /* Machine name to monitor. */
- --- 42,50 ----
- extern char face_host[] ; /* Pointer to host name from the "From" line. */
- extern char face_ts[] ; /* Pointer to time stamp from the "From" line. */
- extern char face_user[] ; /* Pointer to user name from the "From" line. */
- ! extern char facedirs[] ; /* Colon separated list of face directories. */
- ! extern char *facepath[] ; /* Array of face image directories. */
- ! extern char fgcolor[] ; /* X11 foreground color. */
- extern char fname[MAXTYPES][MAXLINE] ; /* Array of various face name types. */
- extern char geometry[] ; /* X11 geometry information. */
- extern char hostname[] ; /* Machine name to monitor. */
- ***************
- *** 52,57 ****
- --- 55,61 ----
- extern char peopfile[] ; /* Name of the people/username file. */
- extern char printer[] ; /* Printer name to monitor. */
- extern char progname[] ; /* Name of this program. */
- + extern char realcomm[] ; /* Real community for this user. */
- extern char realname[] ; /* Real username for this user. */
- extern char revtable[] ; /* Table for reversing the bits in a byte. */
- extern char spoolfile[] ; /* Full pathname of users current mail. */
- ***************
- *** 88,93 ****
- --- 92,98 ----
- extern int period ; /* Period in seconds for checking new mail. */
- extern int posspec ; /* Set if -Wp or -g option is present (for X11) */
- extern int row ; /* Row number for next icon. */
- + extern int toclear ; /* Set if faces memory area needs clearing. */
- extern int update ; /* If set, send mail to update faces database. */
- extern int width ; /* Width in pixels of faces display. */
- extern int wx ; /* Initial X position of the window. */
-
- ------- faces.h -------
- *** /tmp/da09682 Tue Aug 14 07:20:19 1990
- --- faces.h Sat Aug 4 22:38:31 1990
- ***************
- *** 14,19 ****
- --- 14,34 ----
- * reported to me then an attempt will be made to fix them.
- */
-
- + #ifndef FALSE
- + #define FALSE (0 == 1)
- + #define TRUE (0 == 0)
- + #endif /*FALSE*/
- +
- + /* If your compiler can handle inline functions, define INLINE as `inline',
- + * otherwise define it as `'.
- + */
- +
- + #ifdef __GNU_CC__
- + #define INLINE inline
- + #else
- + #define INLINE
- + #endif /*__GNU_CC__*/
- +
- #ifdef DEBUG
- #define IF_DEBUG(stmt) stmt
- #else
- ***************
- *** 20,25 ****
- --- 35,44 ----
- #define IF_DEBUG(stmt)
- #endif /*DEBUG*/
-
- + #ifndef FACEDIR
- + #define FACEDIR "/usr/local/faces"
- + #endif /*FACEDIR*/
- +
- #define FCLOSE (void) fclose /* To make lint happy. */
- #define FFLUSH (void) fflush
- #define FGETS (void) fgets
- ***************
- *** 74,81 ****
- #define PAINTED 101 /* Canvas/Icon needs repainting. */
- #define LEFTDOWN 102 /* Left mouse button has been pressed. */
-
- #define BLITHEIGHT 48 /* Maximum number of lines in a blit icon. */
- - #define DEL '\177' /* Clear faces display. */
- #define EQUAL(str,val) !strncmp(str,val,strlen(val))
- #define ICONHEIGHT 64 /* Default height of individual face icons. */
- #define ICONWIDTH 64 /* Default width of individual face icons. */
- --- 93,104 ----
- #define PAINTED 101 /* Canvas/Icon needs repainting. */
- #define LEFTDOWN 102 /* Left mouse button has been pressed. */
-
- + /* Keyboard actions. */
- + #define KEY_CLEAR '\177' /* Clear faces display. */
- + #define KEY_REFRESH '\014' /* Refresh faces display. */
- + #define KEY_QUIT 'q' /* Terminate faces display. */
- +
- #define BLITHEIGHT 48 /* Maximum number of lines in a blit icon. */
- #define EQUAL(str,val) !strncmp(str,val,strlen(val))
- #define ICONHEIGHT 64 /* Default height of individual face icons. */
- #define ICONWIDTH 64 /* Default width of individual face icons. */
- ***************
- *** 94,101 ****
-
- #ifndef MAXLINE
- #define MAXLINE 200 /* Maximum length for character strings. */
- ! #endif MAXLINE
-
- #define MAXTYPES 4 /* Maximum number of different face types. */
- #define NO_PER_ROW 10 /* Default number of faces per row. */
-
- --- 117,128 ----
-
- #ifndef MAXLINE
- #define MAXLINE 200 /* Maximum length for character strings. */
- ! #endif /*MAXLINE*/
-
- + #ifndef MAXPATHS
- + #define MAXPATHS 10 /* Maximum number of dirs in FACEPATH list */
- + #endif /*MAXPATHS*/
- +
- #define MAXTYPES 4 /* Maximum number of different face types. */
- #define NO_PER_ROW 10 /* Default number of faces per row. */
-
- ***************
- *** 104,112 ****
- #define rindex strrchr
- #endif /*NOINDEX*/
-
- ! char *getenv(), *malloc(), *sprintf() ;
- void endpwent() ;
- FILE *popen() ;
-
- /* Various programs that are used by faces.
- * You might need to change these on some machines.
- --- 131,146 ----
- #define rindex strrchr
- #endif /*NOINDEX*/
-
- ! #ifndef SYSV32
- ! char *getenv(), *malloc() ;
- ! #ifdef hpux
- ! int sprintf() ;
- ! #else
- ! char *sprintf() ;
- ! #endif /*hpux*/
- void endpwent() ;
- FILE *popen() ;
- + #endif /*SYSV32*/
-
- /* Various programs that are used by faces.
- * You might need to change these on some machines.
- ***************
- *** 144,149 ****
- --- 178,184 ----
- struct peopinfo /* Username/alias record. */
- {
- char *alias ; /* Alias for this user. */
- + char *community ; /* Real community. */
- char *username ; /* Real username. */
- struct peopinfo *next ; /* Pointer to next record. */
- } ;
-
- ------- patchlevel.h -------
- *** /tmp/da09685 Tue Aug 14 07:20:20 1990
- --- patchlevel.h Fri Aug 3 12:04:40 1990
- ***************
- *** 14,17 ****
- * reported to me then an attempt will be made to fix them.
- */
-
- ! #define PATCHLEVEL 6
- --- 14,17 ----
- * reported to me then an attempt will be made to fix them.
- */
-
- ! #define PATCHLEVEL 7
-
- ------- README -------
- *** /tmp/da09688 Tue Aug 14 07:20:21 1990
- --- README Tue Aug 14 07:19:51 1990
- ***************
- *** 101,106 ****
- --- 101,107 ----
- These are:
-
- BACKGROUND - alternate background icon pattern.
- + DNSLOOKUP - use DNS (Domain Name Service) to try to convert hostnames.
- DONTSHOWNO - don't show number of message on face image.
- DONTSHOWTIME - don't show timestamp on face image.
- DONTSHOWUSER - don't show username on face image.
- ***************
- *** 107,112 ****
- --- 108,114 ----
- FACEDIR - alternate face database directory.
- FMONTYPE - default monitoring type.
- INVERT - inverse video.
- + NAMEUNKNOWN - clump all unknown users together per community.
- NEWSINCDIR - NeWS only: location of the NeWS #include files.
- NEWSLIBDIR - NeWS only: location of the NeWS libraries.
- NISLOOKUP - uncomment to use Sun NIS (formerly YP) to look for hosts.
- ***************
- *** 113,120 ****
- --- 115,124 ----
- NODOMAINS - uncomment if you don't want full host domain names.
- NOINDEX - uncomment if you don't have the index() function.
- PERIOD - alternate period in seconds before recheck.
- + PLP - uncomment if you are running PLP and monitoring printers.
- REVORDER - byte reversal for little-endian machines.
- SELTYPE - uncomment for old select(2) calls.
- + SPOOLDIR - alternate directory for spoolfiles.
- SPOOLFILE - alternate default spoolfile to monitor.
- SYSV - uncomment if you are running Unix System V.
- TTEXT - SunView only: uncomment on SunOS v3.x systems.
- ***************
- *** 208,216 ****
-
- X-Face: `cat $HOME/.face`
-
- ! In v7.1.2 (version 7.1 - patchlevel #2), the Mush mail program will look for
- ! the existence of a .face file (in the above format) in the users home
- ! directory, and generate a similar header.
-
- For users of other mailers, it is suggested that the X-Face: line[s] be
- added to your .signature file. Note that in this case, the initial line
- --- 212,221 ----
-
- X-Face: `cat $HOME/.face`
-
- ! Included with this faces distribution, is an unofficial patch to mush v7.1.2
- ! to allow for X-Face support. The Mush mail program will look for the
- ! existence of a .face file (in the above format) in the users home directory,
- ! and generate a similar header.
-
- For users of other mailers, it is suggested that the X-Face: line[s] be
- added to your .signature file. Note that in this case, the initial line
- ***************
- *** 261,268 ****
-
- Hal Stern for the face_update shell script.
-
- ! Dan Heller and Bart Schaefer for adding support for .face files in
- ! their latest patch to v7.1 of the mush mailer.
-
- Guy Harris for the basis of the previous manual page.
-
- --- 266,273 ----
-
- Hal Stern for the face_update shell script.
-
- ! Dan Heller and Bart Schaefer for suggesting what should be in the unofficial
- ! patch to mush v7.1.2 to support X-Face lines.
-
- Guy Harris for the basis of the previous manual page.
-
- ***************
- *** 294,301 ****
- Also thanks to Jeremy Cook, John Machin, Neil Crellin, Mark Andrews, Sjoerd
- Mullender, Cameron Humphries, Rick Gunderson, Rich McAllister, Hakon Lie,
- John Fong, Chris Maltby, Darryl K. Ramm, Steve Piette, Tony Landells, Pat
- ! Lashley, Dave Glowacki, Chris Steinbroner and Steven M. Miller for various
- ! bug reports, fixes and suggestions for improvement.
-
-
- ----------------------------------------------------------------------------
- --- 299,307 ----
- Also thanks to Jeremy Cook, John Machin, Neil Crellin, Mark Andrews, Sjoerd
- Mullender, Cameron Humphries, Rick Gunderson, Rich McAllister, Hakon Lie,
- John Fong, Chris Maltby, Darryl K. Ramm, Steve Piette, Tony Landells, Pat
- ! Lashley, Dave Glowacki, Chris Steinbroner, Steven M. Miller, Bob Posert,
- ! Hugues Leroy, Graham Dumpleton, Michael Schmidt, Robert Adams and Rod
- ! Whitby for various bug reports, fixes and suggestions for improvement.
-
-
- ----------------------------------------------------------------------------
-
- ------- faces.1 -------
- *** /tmp/da09691 Tue Aug 14 07:20:22 1990
- --- faces.1 Sat Aug 4 20:35:14 1990
- ***************
- *** 201,210 ****
- face images. The format of these input records is described in a previous
- section.
- .TP
- ! .BI \-f " facedir"
- ! If specified, then this directory is searched first for face images. If
- ! they are not found, then the default face directory will be searched.
- ! The default face directory is
- .BR /usr/local/faces .
- .TP
- .BI \-g " geometry"
- --- 201,213 ----
- face images. The format of these input records is described in a previous
- section.
- .TP
- ! .BI \-f " facepath"
- ! If specified, this is a colon-separated list of paths to be searched for
- ! face images. A null entry in the path will be replaced by the compiled
- ! in default face directory. If not specified, the directories specified
- ! by the FACEPATH environment variable will be used. If there is no FACEPATH
- ! environment variable, the default face directory will be searched.
- ! The default face directory is normally
- .BR /usr/local/faces .
- .TP
- .BI \-g " geometry"
- ***************
- *** 292,311 ****
- Blit icon.
- .PP
- To access the face for the mail name
- ! .I machine!uid
- ! take the result of the first successful open from the following list of files:
- .RS 6
- ! /usr/local/faces/machine/uid/iconname
- .br
- ! /usr/local/faces/misc./uid/iconname
- .br
- ! /usr/local/faces/machine/unknown/iconname
- .br
- ! /usr/local/faces/misc./unknown/iconname
- .RE
- If the
- .B -f
- ! argument is specified the given directory is searched before
- .IR /usr/local/faces .
- The iconname above, consists of the following choices, in the given order:
- .TS
- --- 295,323 ----
- Blit icon.
- .PP
- To access the face for the mail name
- ! .I machine.dom.ain!uid
- ! take the result of the first successful open from the following list of files
- ! (where $DIR represents iteration over the list of directories in FACEPATH):
- .RS 6
- ! $DIR/machine.dom.ain/uid/iconname
- .br
- ! $DIR/dom.ain/uid/iconname
- .br
- ! $DIR/ain/uid/iconname
- .br
- ! $DIR/misc./uid/iconname
- ! .br
- ! $DIR/machine.dom.ain/unknown/iconname
- ! .br
- ! $DIR/dom.ain/unknown/iconname
- ! .br
- ! $DIR/ain/unknown/iconname
- ! .br
- ! $DIR/misc./unknown/iconname
- .RE
- If the
- .B -f
- ! argument is specified the given directory is searched instead of
- .IR /usr/local/faces .
- The iconname above, consists of the following choices, in the given order:
- .TS
- ***************
- *** 344,351 ****
- .I stard
- in community
- .I sunaus.
- ! The people table associates a community/alias pair, with a real username.
- .RS 6
- sunaus/rburridge=richb
- .RE
- causes the alias
- --- 356,372 ----
- .I stard
- in community
- .I sunaus.
- ! The machine table may be used to alias entire communities; the line
- .RS 6
- + wseng.sun.com=eng.sun.com
- + .RE
- + will cause the
- + .I wseng.sun.com
- + domain to be mapped to the
- + .I eng.sun.com
- + community. The people table associates a community/alias pair, with a
- + real username.
- + .RS 6
- sunaus/rburridge=richb
- .RE
- causes the alias
- ***************
- *** 431,436 ****
- --- 452,475 ----
- .TP
- .B /usr/local/faces/machine.tab
- machine/community equivalences
- + .SH ENVIRONMENT VARIABLES
- + .TP 15
- + .B DISPLAY
- + The X11 server to be used by the XView or X11 faces program to display
- + the face icons on.
- + .TP
- + .B FACEPATH
- + A colon separated list of directory paths to search for machine/user
- + face icons.
- + .TP
- + .B HOME
- + The home directory of the current user. Used to locate the .mailrc file.
- + .TP
- + .B MAIL
- + The complete pathname of the mail spool file to monitor.
- + .TP
- + .B WINDOW_PARENT
- + Used to verify that the program is executing under a valid SunView environment.
- .SH HISTORY
- .I faces
- is based on the Bell Labs Edition 8 program
-
- ------- Makefile -------
- *** /tmp/da09694 Tue Aug 14 07:20:23 1990
- --- Makefile Tue Aug 14 06:59:01 1990
- ***************
- *** 29,34 ****
- --- 29,50 ----
- #
- #BACKGROUND = -DBACKGROUND=\"\"
- #------------------------------------------------------------------------
- + # Uncomment the following two lines to use the Domain Name Service to
- + # attempt to convert unqualified hostnames, or hostnames with partial
- + # domains to fully qualified domain names.
- + #
- + # When used with NISLOOKUP, DNSLOOKUP will take precedance.
- + #
- + # NOTE that the domain name returned by DNS will be converted to lower
- + # case before attempting a machines.tab match, or constructing an icon
- + # file name.
- + #
- + # NOTE that for this to work you must have at least a minimal
- + # /etc/resolv.conf file containing a valid nameserver entry.
- + #
- + #DNSLOOKUP = -DDNSLOOKUP
- + #DNSLIB = -lresolv
- + #------------------------------------------------------------------------
- # If you do not want to show the number of messages on the face icon,
- # then uncomment the next line.
- #
- ***************
- *** 46,52 ****
- #------------------------------------------------------------------------
- # By default, faces looks for the face images in /usr/local/faces. If
- # you wish to specify an alternate location, then these two lines should
- ! # be uncommented and set appropriately.
- #
- FACEDIR = /usr/local/faces
- CFACEDIR = -DFACEDIR=\"$(FACEDIR)\"
- --- 62,69 ----
- #------------------------------------------------------------------------
- # By default, faces looks for the face images in /usr/local/faces. If
- # you wish to specify an alternate location, then these two lines should
- ! # be uncommented and set appropriately. Note that the value must be
- ! # a single directory name, not a colon separated list of paths.
- #
- FACEDIR = /usr/local/faces
- CFACEDIR = -DFACEDIR=\"$(FACEDIR)\"
- ***************
- *** 66,71 ****
- --- 83,96 ----
- #
- #INVERT = -DINVERT
- #------------------------------------------------------------------------
- + # When no icon is found for a given user, the unknown icon may be displayed
- + # either with the user name, or labeled as `unknown'. The former case
- + # provides the most information, the latter allows all unknown users
- + # within a given community to be lumped into a single image. To select
- + # the latter case uncomment the following line.
- + #
- + #NAMEUNKNOWN = -DNAMEUNKNOWN
- + #------------------------------------------------------------------------
- # If you are compiling the NeWS version, then the following two lines
- # should be uncommented, and set appropriately.
- #
- ***************
- *** 72,81 ****
- #NEWSINCDIR = -I$(OPENWINHOME)/include
- #NEWSLIBDIR = -L$(OPENWINHOME)/lib
- #------------------------------------------------------------------------
- ! # Uncomment the following two lines to use the Sun Network Information
- # Services (NIS, formerly YP) to look for hosts which do not explicitly
- ! # appear in the machines.tab file.
- #
- #NISLOOKUP = -DNISLOOKUP
- #------------------------------------------------------------------------
- # If you don't want faces to use full domain names for extracting face
- --- 97,110 ----
- #NEWSINCDIR = -I$(OPENWINHOME)/include
- #NEWSLIBDIR = -L$(OPENWINHOME)/lib
- #------------------------------------------------------------------------
- ! # Uncomment the following line to use the Sun Network Information
- # Services (NIS, formerly YP) to look for hosts which do not explicitly
- ! # appear in the machines.tab file. When used with DNSLOOKUP, DNSLOOKUP
- ! # takes precedance.
- #
- + # Note that the domain name will be converted to lower case before
- + # attempting to match in the machines file, or create an icon filename.
- + #
- #NISLOOKUP = -DNISLOOKUP
- #------------------------------------------------------------------------
- # If you don't want faces to use full domain names for extracting face
- ***************
- *** 97,102 ****
- --- 126,137 ----
- #
- #PERIOD = -DPERIOD=30
- #------------------------------------------------------------------------
- + # By default, faces will examine printer queues a la Berkeley Style.
- + # Alternatively, if you have the PLP printer spooling system running, then
- + # uncomment the next line.
- + #
- + #PLP = -DPLP
- + #-------------------------------------------------------------------------
- # Faces is designed to work on a big-endian machine by default. If you
- # are compiling for a little-endian machine (such as the Sun 386i), then
- # you need to uncomment the following line.
- ***************
- *** 109,114 ****
- --- 144,154 ----
- #
- #SELTYPE = -DNO_43SELECT
- #------------------------------------------------------------------------
- + # If the pending mail for users is in a different directory than
- + # /usr/spool/mail, uncomment the following and set appropriately.
- + #
- + #SPOOLDIR = -DSPOOLDIR=\"/usr/mail\"
- + #------------------------------------------------------------------------
- # If faces is setup to monitor mail, then the name of the default
- # spoolfile is /usr/spool/mail/username. An alternative spoolfile name
- # can be given by uncommenting the following line and setting
- ***************
- *** 119,125 ****
- # If you are running on a Unix System V machine, then you should uncomment
- # the next definition.
- #
- ! #SYSV = -DSYSV
- #--------------------------------------------------------------------------
- # If you are running SunOS v3.x, then pr_ttext doesn't exist, and
- # you must uncomment this definition.
- --- 159,165 ----
- # If you are running on a Unix System V machine, then you should uncomment
- # the next definition.
- #
- ! #SYSV = -DSYSV32
- #--------------------------------------------------------------------------
- # If you are running SunOS v3.x, then pr_ttext doesn't exist, and
- # you must uncomment this definition.
- ***************
- *** 173,183 ****
- #
- # Compilation flags and standard macro definitions.
- #
- ! CDEFS = $(BACKGROUND) $(DONTSHOWNO) $(DONTSHOWTIME) \
- $(DONTSHOWUSER) $(CFACEDIR) $(FMONTYPE) $(INVERT) \
- ! $(NEWSINCDIR) $(NISLOOKUP) $(NODOMAINS) $(NOINDEX) \
- ! $(PERIOD) $(REVORDER) $(SELTYPE) $(SPOOLFILE) $(SYSV) \
- ! $(TTEXT) $(UPDATE) $(X11INCDIR) $(XVIEWINCDIR) $(DEBUG)
- CCOMP = -g
- CFLAGS = $(CCOMP) $(CDEFS)
- #
- --- 213,224 ----
- #
- # Compilation flags and standard macro definitions.
- #
- ! CDEFS = $(BACKGROUND) $(DNSLOOKUP) $(DONTSHOWNO) $(DONTSHOWTIME) \
- $(DONTSHOWUSER) $(CFACEDIR) $(FMONTYPE) $(INVERT) \
- ! $(NAMEUNKNOWN) $(NEWSINCDIR) $(NISLOOKUP) $(NODOMAINS) \
- ! $(NOINDEX) $(PERIOD) $(PLP) $(REVORDER) $(SELTYPE) \
- ! $(SPOOLDIR) $(SPOOLFILE) $(SYSV) $(TTEXT) $(UPDATE) \
- ! $(X11INCDIR) $(XVIEWINCDIR) $(DEBUG)
- CCOMP = -g
- CFLAGS = $(CCOMP) $(CDEFS)
- #
- ***************
- *** 190,196 ****
-
- STDSRCS = get.c main.c mon.c parsefrom.c rec.c
- STDOBJS = get.o main.o mon.o parsefrom.o rec.o
- ! STDLIBS = compface/libcompface.a
-
- COMPFACE = compface
- FACES = facedir
- --- 231,237 ----
-
- STDSRCS = get.c main.c mon.c parsefrom.c rec.c
- STDOBJS = get.o main.o mon.o parsefrom.o rec.o
- ! STDLIBS = compface/libcompface.a $(DNSLIB)
-
- COMPFACE = compface
- FACES = facedir
- ***************
- *** 206,217 ****
- SFILES2 = get.c parsefrom.c news.c sunview.c
- SFILES3 = xview.c x11.c $(HDRS)
- SFILES4 = CHANGES README TODO MANIFEST FILES Makefile
- ! SFILES5 = faces.1 face_update.1 faces_cps.cps face_update $(IMAGES)
- SFILES6 = $(FACES) $(FILTERS)
- SFILES7 = $(COMPFACE)
-
- NEWSLIBS = $(NEWSLIBDIR) -lcps
- SVIEWLIBS = -lsuntool -lsunwindow -lpixrect
- X11LIBS = $(X11LIBDIR) -lX11
- XVIEWLIBS = $(XVIEWLIBDIR) -lxview -lolgx -lX11
-
- --- 247,266 ----
- SFILES2 = get.c parsefrom.c news.c sunview.c
- SFILES3 = xview.c x11.c $(HDRS)
- SFILES4 = CHANGES README TODO MANIFEST FILES Makefile
- ! SFILES5 = faces.1 face_update.1 faces_cps.cps face_update \
- ! mush.xface.patch $(IMAGES)
- SFILES6 = $(FACES) $(FILTERS)
- SFILES7 = $(COMPFACE)
-
- NEWSLIBS = $(NEWSLIBDIR) -lcps
- SVIEWLIBS = -lsuntool -lsunwindow -lpixrect
- + #
- + # The following definition can vary. Here are a few examples:
- + #
- + # Sun/MIT X11R4: $(X11LIBDIR) -lX11
- + # Dell Unix (Interactive 386/ix): $(X11LIBDIR) -lX11 -linet
- + # AT&T's XWIN: $(X11LIBDIR) -lX11_s -lc_s -lnsl_s -lpt
- + #
- X11LIBS = $(X11LIBDIR) -lX11
- XVIEWLIBS = $(XVIEWLIBDIR) -lxview -lolgx -lX11
-
-
- ------- MANIFEST -------
- *** /tmp/da09697 Tue Aug 14 07:20:23 1990
- --- MANIFEST Mon Aug 6 11:52:08 1990
- ***************
- *** 11,16 ****
- --- 11,17 ----
- Makefile | 4
- faces.1 | 5
- face_update.1 | 5
- + mush.xface.patch | 5
- face_update | 4
- main.c | 1
- get.c | 2
-
- ------- x11.c -------
- *** /tmp/da09700 Tue Aug 14 07:20:24 1990
- --- x11.c Sat Aug 4 16:58:48 1990
- ***************
- *** 62,68 ****
-
- unsigned long gc_mask ;
- int screen ;
- - int toclear ; /* Set if faces icon needs clearing. */
- int xfd ; /* File descriptor for X11 server connection. */
- unsigned int depth ;
- long backgnd, foregnd ;
- --- 62,67 ----
- ***************
- *** 76,81 ****
- --- 75,81 ----
- if (mtype == MONNEW)
- XCopyArea(dpy, pr[(int) dtype], pr[(int) dtype], gc, 0, 0,
- (maxcols-1)*imagewidth, imageheight, imagewidth, 0) ;
- +
- XCopyArea(dpy, images[(int) itype], pr[(int) dtype], gc, 0, 0,
- imagewidth, imageheight, column*imagewidth, row*imageheight) ;
- }
- ***************
- *** 89,95 ****
- --- 89,99 ----
- while (beeps > 0)
- {
- XBell(dpy, 56) ;
- + #ifndef SYSV32
- SELECT(0, (fd_set *) 0, (fd_set *) 0, (fd_set *) 0, &btime) ;
- + #else
- + sleep(1) ;
- + #endif /*SYSV32*/
- beeps-- ;
- }
- while (flashes > 0)
- ***************
- *** 148,153 ****
- --- 152,167 ----
- }
-
-
- + draw_screen(wdtype)
- + enum disp_type wdtype ;
- + {
- + XCopyArea(dpy, pr[(int) wdtype], frame[F_WINDOW], gc, 0, 0,
- + (unsigned int) width, (unsigned int) height, 0, 0) ;
- + XCopyArea(dpy, pr[(int) DISP_ICON], frame[F_ICON], gc, 0, 0,
- + (unsigned int) width, (unsigned int) height, 0, 0) ;
- + }
- +
- +
- init_font()
- {
- if ((sfont = XLoadQueryFont(dpy, FONT)) == NULL)
- ***************
- *** 167,172 ****
- --- 181,188 ----
- char *def_geom ;
- int i, j ;
- unsigned short buf[256] ;
- + Colormap cmap ;
- + XColor selcolor ;
-
- if ((dpy = XOpenDisplay(display)) == NULL)
- {
- ***************
- *** 189,196 ****
- (def_geom = XGetDefault(dpy, progname, "Geometry")) != NULL)
- STRCPY(geometry, def_geom) ;
-
- ! foregnd = BlackPixel(dpy, screen) ;
- ! backgnd = WhitePixel(dpy, screen) ;
- depth = DefaultDepth(dpy, screen) ;
-
- init_font() ;
- --- 205,227 ----
- (def_geom = XGetDefault(dpy, progname, "Geometry")) != NULL)
- STRCPY(geometry, def_geom) ;
-
- ! cmap = DefaultColormap(dpy, screen) ;
- ! if (strlen(fgcolor) == 0 || XDefaultDepth(dpy, screen) <= 2)
- ! foregnd = BlackPixel(dpy, screen) ;
- ! else
- ! {
- ! XParseColor(dpy, cmap, fgcolor, &selcolor) ;
- ! XAllocColor(dpy, cmap, &selcolor) ;
- ! foregnd = selcolor.pixel ;
- ! }
- ! if (strlen(bgcolor) == 0 || XDefaultDepth(dpy, screen) <= 2)
- ! backgnd = WhitePixel(dpy, screen) ;
- ! else
- ! {
- ! XParseColor(dpy, cmap, bgcolor, &selcolor) ;
- ! XAllocColor(dpy, cmap, &selcolor) ;
- ! backgnd = selcolor.pixel ;
- ! }
- depth = DefaultDepth(dpy, screen) ;
-
- init_font() ;
- ***************
- *** 224,230 ****
- gtype = X11 ;
- pr[(int) DISP_NAME] = pr[(int) DISP_OTHER] = NULL ;
- old_pr[(int) DISP_NAME] = old_pr[(int) DISP_OTHER] = NULL ;
- - toclear = 0 ;
- return(0) ;
- }
-
- --- 255,260 ----
- ***************
- *** 408,420 ****
- first_time = 0 ;
- }
-
- - XCopyArea(dpy, pr[(int) DISP_ICON], frame[F_ICON], gc, 0, 0,
- - (unsigned int) width, (unsigned int) height, 0, 0) ;
- -
- XResizeWindow(dpy, frame[F_WINDOW],
- (unsigned int) width, (unsigned int) height) ;
- ! XCopyArea(dpy, pr[(int) wdtype], frame[F_WINDOW], gc, 0, 0,
- ! (unsigned int) width, (unsigned int) height, 0, 0) ;
-
- if (newmail) beep_flash(beeps, flashes) ;
- if (old_pr[(int) DISP_NAME]) XFreePixmap(dpy, old_pr[(int) DISP_NAME]) ;
- --- 438,446 ----
- first_time = 0 ;
- }
-
- XResizeWindow(dpy, frame[F_WINDOW],
- (unsigned int) width, (unsigned int) height) ;
- ! draw_screen(wdtype) ;
-
- if (newmail) beep_flash(beeps, flashes) ;
- if (old_pr[(int) DISP_NAME]) XFreePixmap(dpy, old_pr[(int) DISP_NAME]) ;
- ***************
- *** 439,444 ****
- --- 465,471 ----
- for (;;)
- {
- readmask = fullmask ;
- + #ifndef SYSV32
- #ifdef NO_43SELECT
- SELECT(32, &readmask, 0, 0, &tval) ;
- if (readmask && (1 << xfd))
- ***************
- *** 446,451 ****
- --- 473,491 ----
- SELECT(FD_SETSIZE, &readmask, (fd_set *) 0, (fd_set *) 0, &tval) ;
- if (FD_ISSET(xfd, &readmask))
- #endif /*NO_43SELECT*/
- + #else
- + {
- + int contr = 0 ; /* System 5.3.2.2 doesn't have a select */
- +
- + sleep(1) ;
- + while ((XPending(dpy) == 0) && (contr < period))
- + {
- + sleep(5) ;
- + contr += 5 ;
- + }
- + }
- + if (XPending(dpy))
- + #endif /*SYSV32*/
- do
- {
- XNextEvent(dpy, &event) ;
- ***************
- *** 465,476 ****
- else if (event.type == Expose && event.xexpose.count == 0)
- {
- while (XCheckTypedEvent(dpy, Expose, &event)) /* do nothing. */ ;
- ! XCopyArea(dpy, pr[(int) wdtype],
- ! frame[F_WINDOW], gc, 0, 0,
- ! (unsigned int) width, (unsigned int) height, 0, 0) ;
- ! XCopyArea(dpy, pr[(int) DISP_ICON],
- ! frame[F_ICON], gc, 0, 0,
- ! (unsigned int) width, (unsigned int) height, 0, 0) ;
- }
-
- /* ButtonPress. */
- --- 505,511 ----
- else if (event.type == Expose && event.xexpose.count == 0)
- {
- while (XCheckTypedEvent(dpy, Expose, &event)) /* do nothing. */ ;
- ! draw_screen(wdtype) ;
- }
-
- /* ButtonPress. */
- ***************
- *** 479,503 ****
- event.xbutton.button == Button1)
- {
- wdtype = (wdtype == DISP_NAME) ? DISP_OTHER : DISP_NAME ;
- ! XCopyArea(dpy, pr[(int) wdtype],
- ! frame[F_WINDOW], gc, 0, 0,
- ! (unsigned int) width, (unsigned int) height, 0, 0) ;
- }
-
- /* KeyPress. */
-
- ! else if (mtype == MONNEW && event.type == KeyPress)
- {
- key_event = (XKeyPressedEvent *) &event ;
- (void) XLookupString(key_event, chs, 1, (KeySym *) NULL,
- (XComposeStatus *) NULL) ;
- ! if (chs[0] == DEL)
- ! {
- ! repl_image(DISP_NAME, CUROFF, width, height) ;
- ! repl_image(DISP_OTHER, CUROFF, width, height) ;
- ! toclear = 1 ;
- ! do_check() ;
- ! }
- }
- }
- while (XPending(dpy)) ;
- --- 514,530 ----
- event.xbutton.button == Button1)
- {
- wdtype = (wdtype == DISP_NAME) ? DISP_OTHER : DISP_NAME ;
- ! draw_screen(wdtype) ;
- }
-
- /* KeyPress. */
-
- ! else if (event.type == KeyPress)
- {
- key_event = (XKeyPressedEvent *) &event ;
- (void) XLookupString(key_event, chs, 1, (KeySym *) NULL,
- (XComposeStatus *) NULL) ;
- ! do_key(chs[0]) ;
- }
- }
- while (XPending(dpy)) ;
-
- ------- TODO -------
- *** /tmp/da09703 Tue Aug 14 07:20:25 1990
- --- TODO Tue Aug 14 06:47:04 1990
- ***************
- *** 3,18 ****
- seem to work at all, and of course its the wrong way round
- for the uk anyway.
-
- ! 2/ Alias file people.tab should be capable of understanding:
- ! sunaus/richb=sun/rburridge
- ! or some such format.
- !
- ! 3/ From Ian Donaldson <rcodi@melomys.co.rmit.oz>
- Is it possible to have the faces cleared automatically once the
- mail has been read? I'm clearing by clicking on the window at
- the moment.
-
- ! 4/ From Pat Lashley <patl@Sun.COM>
- Have you given any thought to how to support multiple windowing systems at
- execution time? I am currently using the sun386i version of architecture
- independant /vol trees to make locally installed programs available
- --- 3,14 ----
- seem to work at all, and of course its the wrong way round
- for the uk anyway.
-
- ! 2/ From Ian Donaldson <rcodi@melomys.co.rmit.oz>
- Is it possible to have the faces cleared automatically once the
- mail has been read? I'm clearing by clicking on the window at
- the moment.
-
- ! 3/ From Pat Lashley <patl@Sun.COM>
- Have you given any thought to how to support multiple windowing systems at
- execution time? I am currently using the sun386i version of architecture
- independant /vol trees to make locally installed programs available
- ***************
- *** 23,58 ****
- windowing system is in use, and envoke the appropriate binary. The difficulty
- is in how to determine which system is in use.
-
- ! 5/ From: Chris Orgill, cho%cs.aber.ac.uk@uunet.uu.net
- How about allowing the Sunview version to use arbitrary size Sun icons ?
-
- ! 6/ From Lindsay F. Marshall <Lindsay.Marshall%newcastle.ac.uk@munnari.oz>
- There is a byte-order assumption somewhere that screws up
- any X bitmaps read in from a file - why dont you use the
- procedure provided by the system rather than writing your
- own?? That copes with the problems correctly.
-
- ! 7/ The NeWS version needs to be finished.
- Remaining problems are:
-
- (a) There are two warnings on compiling news.c, due to FILE operations
- being performed on PSFILE variables.
-
- ! (b) The new input functionality (click left mouse and Del) has to be
- ! added in.
-
- ! 8/ With the XView version, add a Properties pinup window which would
- allow you to change the various monitoring options on the fly.
-
- ! 9/ Add in audio capabilities.
-
- ! 10/ From Pat Lashley <patl@Sun.COM>
- ! There is no reason that FaceSaver images couldn't be parsed by faces and
- ! sent to NeWS with the appropriate transformation matrix to squeeze it down
- ! to icon size. Let the NeWS PostScript interpreter do the bit
- ! compression/dithering.
-
- ! 11/ If an X-Face is found inside a piece of mail that has been forwarded
- inside another mail item, and the -U option is set, then it is possible
- to update the wrong face in the faces database. The only clean solution
- to this, is if faces only recognises X-Face lines in the mail header.
- --- 19,54 ----
- windowing system is in use, and envoke the appropriate binary. The difficulty
- is in how to determine which system is in use.
-
- ! 4/ From: Chris Orgill, cho%cs.aber.ac.uk@uunet.uu.net
- How about allowing the Sunview version to use arbitrary size Sun icons ?
-
- ! 5/ From Lindsay F. Marshall <Lindsay.Marshall%newcastle.ac.uk@munnari.oz>
- There is a byte-order assumption somewhere that screws up
- any X bitmaps read in from a file - why dont you use the
- procedure provided by the system rather than writing your
- own?? That copes with the problems correctly.
-
- ! 6/ The NeWS version needs to be finished.
- Remaining problems are:
-
- (a) There are two warnings on compiling news.c, due to FILE operations
- being performed on PSFILE variables.
-
- ! (b) The new input functionality (click left mouse, Del, ^L and q) has
- ! to be added in.
-
- ! 7/ With the XView version, add a Properties pinup window which would
- allow you to change the various monitoring options on the fly.
-
- ! 8/ Add in audio capabilities.
-
- ! 9/ From Pat Lashley <patl@Sun.COM>
- ! There is no reason that FaceSaver images couldn't be parsed by faces and
- ! sent to NeWS with the appropriate transformation matrix to squeeze it down
- ! to icon size. Let the NeWS PostScript interpreter do the bit
- ! compression/dithering.
-
- ! 10/ If an X-Face is found inside a piece of mail that has been forwarded
- inside another mail item, and the -U option is set, then it is possible
- to update the wrong face in the faces database. The only clean solution
- to this, is if faces only recognises X-Face lines in the mail header.
- ***************
- *** 62,68 ****
- resolved by a flag which would restrict X-Face: recognition to the header
- or the first non-blank line of the body.
-
- ! 12/ From Pat Lashley <patl@Sun.COM>
- An entry of the form `+domainname=community' in the machines.tab file to
- indicate that if a hostname is found without domain specifier, and it
- doesn't match any other machines.tab entry, and YP (oops, NIS) access to
- --- 58,64 ----
- resolved by a flag which would restrict X-Face: recognition to the header
- or the first non-blank line of the body.
-
- ! 11/ From Pat Lashley <patl@Sun.COM>
- An entry of the form `+domainname=community' in the machines.tab file to
- indicate that if a hostname is found without domain specifier, and it
- doesn't match any other machines.tab entry, and YP (oops, NIS) access to
- ***************
- *** 71,109 ****
- indicates that the current NIS domain should be used. This should
- probably be enabled by a compile-time option for those who don't run NIS.
-
- ! 13/ From Pat Lashley <patl@Sun.COM>
- An option to display unknown users individually with the username,
- instead of clustered under a single `unknown' user. Really hot would be
- some way to specify this on a per-community basis...
-
- ! 14/ From Pat Lashley <patl@Sun.COM>
- Multiple face directory hierarchies. I.e:
- `-f $HOME/facedir -f /import/group/facedir -f /import/global/facedir ...'
- The order of specification would indicate the search order.
-
- ! 15/ From Pat Lashley <patl@Sun.COM>
- Accept SIGHUP as an indication that various internal databases should be
- updated from the files (i.e. machines.tab), and that the display should be
- immediatly updated to reflect current state instead of waiting for the
- polling period to end.
-
- ! 16/ From Pat Lashley <patl@Sun.COM>
- Accept SIGALRM as an indication that the current polling period should be
- immediatly terminated, and the display updated.
-
- ! 17/ From Pat Lashley <patl@Sun.COM>
- More internal comments and a general design document.
-
- ! 18/ Provide a template of what each of the independent graphics routine do,
- to aid porting to new graphics environments.
-
- ! 19/ Add an option to disable flashing and beeping when new mail arrives.
-
- ! 20/ From Pat Lashley <patl@Sun.COM>
- Change window header to show what is being monitored (mail, lp1, users,
- etc.)
-
- ! 21/ From Pat Lashley <patl@Sun.COM>
- A mixed-mode version which would use xview for the basic windowing and
- property sheets; but use NeWS for the rendering. It is, of course,
- dependant upon having the X/NeWS server, but there may be some way to
- --- 67,105 ----
- indicates that the current NIS domain should be used. This should
- probably be enabled by a compile-time option for those who don't run NIS.
-
- ! 12/ From Pat Lashley <patl@Sun.COM>
- An option to display unknown users individually with the username,
- instead of clustered under a single `unknown' user. Really hot would be
- some way to specify this on a per-community basis...
-
- ! 13/ From Pat Lashley <patl@Sun.COM>
- Multiple face directory hierarchies. I.e:
- `-f $HOME/facedir -f /import/group/facedir -f /import/global/facedir ...'
- The order of specification would indicate the search order.
-
- ! 14/ From Pat Lashley <patl@Sun.COM>
- Accept SIGHUP as an indication that various internal databases should be
- updated from the files (i.e. machines.tab), and that the display should be
- immediatly updated to reflect current state instead of waiting for the
- polling period to end.
-
- ! 15/ From Pat Lashley <patl@Sun.COM>
- Accept SIGALRM as an indication that the current polling period should be
- immediatly terminated, and the display updated.
-
- ! 16/ From Pat Lashley <patl@Sun.COM>
- More internal comments and a general design document.
-
- ! 17/ Provide a template of what each of the independent graphics routine do,
- to aid porting to new graphics environments.
-
- ! 18/ Add an option to disable flashing and beeping when new mail arrives.
-
- ! 19/ From Pat Lashley <patl@Sun.COM>
- Change window header to show what is being monitored (mail, lp1, users,
- etc.)
-
- ! 20/ From Pat Lashley <patl@Sun.COM>
- A mixed-mode version which would use xview for the basic windowing and
- property sheets; but use NeWS for the rendering. It is, of course,
- dependant upon having the X/NeWS server, but there may be some way to
- ***************
- *** 110,127 ****
- determine at run-time whether the NeWS operations are available, or
- whether to stick to XView/X11 mechanisms.
-
- ! 22/ From Steven M. Miller <miller@SCTC.COM>
- I would like to use -iconic to specify iconic mode for X. This would
- require change -i to -I for inverse in get.c and having -i to set iconic=1.
-
- ! 23/ From Steven M. Miller <miller@SCTC.COM>
- Under X, when faces is started up in iconic mode nothing is displayed in
- the icon until the icon is clicked on and opened and then closed again.
-
- ! 24/ From Kee Hinckley <nazgul@alphalpha.com>
- Any possibility of changing that header to an RFC1154 (I think that's
- the number) conformant form? Namely an encoding field in the
- header (presumbably with a new name for the faces format, or using
- one of the existing ones (G3Fax uuencode would probably be good)).
-
- ! 25/ Optimise.
- --- 106,146 ----
- determine at run-time whether the NeWS operations are available, or
- whether to stick to XView/X11 mechanisms.
-
- ! 21/ From Steven M. Miller <miller@SCTC.COM>
- I would like to use -iconic to specify iconic mode for X. This would
- require change -i to -I for inverse in get.c and having -i to set iconic=1.
-
- ! 22/ From Steven M. Miller <miller@SCTC.COM>
- Under X, when faces is started up in iconic mode nothing is displayed in
- the icon until the icon is clicked on and opened and then closed again.
-
- ! 23/ From Kee Hinckley <nazgul@alphalpha.com>
- Any possibility of changing that header to an RFC1154 (I think that's
- the number) conformant form? Namely an encoding field in the
- header (presumbably with a new name for the faces format, or using
- one of the existing ones (G3Fax uuencode would probably be good)).
-
- ! 24/ From Michael Schmidt <michael@uni-paderborn.de>
- ! Perhaps my configuration (SparcStation, SunOS4.0.3, X11R4, twm with
- ! ForceIcons, IconManager and IconRegion) is wierd, but... The icon is
- ! not placed in the IconRegion, but just at 0x0 (or 1x1, or so). Then I
- ! cannot deiconify the icon by a mouse click (all other icons deiconify
- ! on a left button click).
- !
- ! 25/ Get the SunView, XView and NeWS drivers to use the -bg and -fg color
- ! options.
- !
- ! 26/ From Ken Wood <kwood@adl.austek.oz.au>
- ! Sometimes the display gets stuck while changing from "No mail" to a
- ! single face or vice-versa. xfaces just displays a plain grey window.
- !
- ! 27/ From Ken Wood <kwood@adl.austek.oz.au>
- ! Quite often, users who don't have a face file are shown as "unknown"
- ! with the unknown face, rather than putting the username with the unknown
- ! face.
- !
- ! 28/ From Ken Wood <kwood@adl.austek.oz.au>
- ! Do you have any plans to get xfaces to read geometry etc from the
- ! database ?
- !
- ! 29/ Optimise.
-
- ------- xview.c -------
- *** /tmp/da09706 Tue Aug 14 07:20:26 1990
- --- xview.c Sat Aug 4 03:31:06 1990
- ***************
- *** 58,64 ****
- XFontStruct *sfont ;
- XGCValues gc_val ; /* Used to setup graphics context values. */
- int screen ; /* Default graphics display screen. */
- - int toclear ; /* Set if faces icon needs clearing. */
- unsigned int depth ;
- unsigned long backgnd ; /* Default background color. */
- unsigned long foregnd ; /* Default foreground color. */
- --- 58,63 ----
- ***************
- *** 102,117 ****
- if (event_is_down(event) && nextc == MS_LEFT)
- {
- wdtype = (wdtype == DISP_NAME) ? DISP_OTHER : DISP_NAME ;
- ! XCopyArea(dpy, pr[(int) wdtype], xid[F_WINDOW], gc, 0, 0,
- ! width, height, 0, 0) ;
- }
- ! else if (mtype == MONNEW && event_is_ascii(event) && nextc == DEL)
- ! {
- ! repl_image(DISP_NAME, CUROFF, width, height) ;
- ! repl_image(DISP_OTHER, CUROFF, width, height) ;
- ! toclear = 1 ;
- ! do_check() ;
- ! }
- }
-
-
- --- 101,109 ----
- if (event_is_down(event) && nextc == MS_LEFT)
- {
- wdtype = (wdtype == DISP_NAME) ? DISP_OTHER : DISP_NAME ;
- ! draw_screen(wdtype) ;
- }
- ! else if (event_is_ascii(event)) do_key(nextc) ;
- }
-
-
- ***************
- *** 160,165 ****
- --- 152,165 ----
- }
-
-
- + draw_screen(wdtype)
- + enum disp_type wdtype ;
- + {
- + XCopyArea(dpy, pr[(int) wdtype], xid[F_WINDOW], gc, 0, 0,
- + width, height, 0, 0) ;
- + }
- +
- +
- static Notify_value
- frame_interpose(frame, event, arg, type)
- Frame frame ;
- ***************
- *** 244,250 ****
- gtype = XVIEW ;
- pr[(int) DISP_NAME] = pr[(int) DISP_OTHER] = NULL ;
- old_pr[(int) DISP_NAME] = old_pr[(int) DISP_OTHER] = NULL ;
- - toclear = 0 ;
- return 0 ;
- }
-
- --- 244,249 ----
- ***************
- *** 334,341 ****
- Xv_Window window ;
- Rectlist *repaint_area ;
- {
- ! XCopyArea(dpy, pr[(int) wdtype], xid[F_WINDOW], gc, 0, 0,
- ! (unsigned int) width, (unsigned int) height, 0, 0) ;
- }
-
-
- --- 333,339 ----
- Xv_Window window ;
- Rectlist *repaint_area ;
- {
- ! draw_screen(wdtype) ;
- }
-
-
- ***************
- *** 374,382 ****
- temprect->r_height = height ;
- temprect->r_width = width ;
- XV_SET(frame, FRAME_OPEN_RECT, temprect, 0) ;
- !
- ! XCopyArea(dpy, pr[(int) wdtype], xid[F_WINDOW], gc, 0, 0,
- ! (unsigned int) width, (unsigned int) height, 0, 0) ;
-
- if (newmail) beep_flash(beeps, flashes) ;
- if (old_pr[(int) DISP_NAME]) XFreePixmap(dpy, old_pr[(int) DISP_NAME]) ;
- --- 372,378 ----
- temprect->r_height = height ;
- temprect->r_width = width ;
- XV_SET(frame, FRAME_OPEN_RECT, temprect, 0) ;
- ! draw_screen(wdtype) ;
-
- if (newmail) beep_flash(beeps, flashes) ;
- if (old_pr[(int) DISP_NAME]) XFreePixmap(dpy, old_pr[(int) DISP_NAME]) ;
-
- ------- CHANGES -------
- *** /tmp/da09709 Tue Aug 14 07:20:26 1990
- --- CHANGES Tue Aug 14 06:57:13 1990
- ***************
- *** 181,183 ****
- --- 181,290 ----
- * From Chris Steinbroner <hesh@lll-crg.llnl.gov>
- ikon2icon in the filters directory uses index(), so you have to do
- the NOINDEX define stuff there too.
- +
- + v1.4 - patchlevel 7 - 6th August 1990.
- +
- + * From Chris Steinbroner <hesh@lll-crg.llnl.gov>
- + From Bob Posert <psitech.psitech!bob@uunet.UU.NET>
- + Incoming mail is not always stored in /usr/spool/mail/username.
- + HP-UX and Dell Unix (Interactive 386/ix) store it in
- + /usr/mail/username. Another definition (SPOOLDIR), has been added
- + to the Makefile. The README file has also been updated.
- +
- + * From Hugues Leroy <Hugues.Leroy@irisa.fr>
- + From Graham Dumpleton <grahamd@otc.otca.oz.au>
- + From Peter Chubb <peterc@softway.oz.au>
- + From Robert Adams <adams@trim.intel.com>
- + The parsefrom() function was not replacing a '\n' at the end of
- + a line with '\0' before preceding.
- +
- + * From Michael Schmidt <michael@uni-paderborn.de>
- + The faces window now accepts two more keyboard characters:
- + q - to terminate the faces program.
- + ^L - to refresh the faces window.
- +
- + * From Michael Schmidt <michael@uni-paderborn.de>
- + Added support for printer monitoring with the PLP printer
- + spooling system. Another definition (PLP) has been added to
- + the Makefile. The README file has been updated.
- +
- + * From Chris Steinbroner <hesh@lll-crg.llnl.gov>
- + Diffs included to allow faces to run under HP-UX.
- +
- + * From Robert Adams <adams@trim.intel.com>
- + Changed the SYSV definition to SYSV32 because I work with both
- + System V.3.2.2 and System V.4.0 from AT&T and they need different
- + defines.
- +
- + * From Robert Adams <adams@trim.intel.com>
- + Added -bg and -fg to the parameter string and modified x11.c
- + to set the background and foreground colors. Currently this is
- + only available with the X11 graphics driver.
- +
- + * From Robert Adams <adams@trim.intel.com>
- + people.tab now accepts the syntax "aliascomm/alias=comm/name"
- + to map a whole name (this is one of the TODO points).
- + It still accepts the old syntax. As a side effect, the
- + people.tab and machine.tab routines were re-written to be
- + better parsers and are now forgiving of white space.
- +
- + * From Robert Adams <adams@trim.intel.com>
- + make_iconname was rewritten to get rid of the cut and paste
- + code and now is a gaggle of 'for' loops.
- +
- + * From Robert Adams <adams@trim.intel.com>
- + From Michael Schmidt <michael@uni-paderborn.de>
- + The domain name parsing code in make_iconname was not working.
- + The problem was that the 'old_style' code 'goto'ed out of the
- + middle of the domain breakdown loop thus defeating same.
- +
- + * From Robert Adams <adams@trim.intel.com>
- + The code for building the name for people.tab and machine.tab was
- + broken if an alternate directory ("-f") was specified (changes
- + in rec.c in read_alias and read_machines).
- +
- + * From Robert Adams <adams@trim.intel.com>
- + If 'host' does not appear in an RFC822 address, the code would
- + assume "LOCAL". The code has been fixed to assume 'hostname'
- + instead (fix to parsefrom.c).
- +
- + * From Robert Adams <adams@trim.intel.com>
- + There was a strange bug that would cause icons on the end of the
- + list (after entries were deleted) to get mangled. This usually
- + showed up as the NOMAIL icon not being shown but garbage being
- + shown instead. The problem was that in 'garbage_collect', there
- + was a local variable 'last' that was hidding the global variable
- + of the same name and thus the global was not getting updated
- +
- + * From Pat Lashley <patl@Sun.COM>
- + Added code to use the Domain Name Service to attempt to convert
- + unqualified hostnames, or hostnames with partial domains to fully
- + qualified domain names. Another definition (DNSLOOKUP) has been
- + added to the Makefile. The README file has been updated.
- +
- + * From Pat Lashley <patl@Sun.COM>
- + When no icon is found for a given user, the unknown icon may be
- + displayed either with the user name, or labeled as `unknown'.
- + The former case provides the most information, the latter allows
- + all unknown users within a given community to be lumped into a
- + single image. Another definition (NAMEUNKNOWN) has been added to
- + the Makefile. The README file has been updated.
- +
- + * From Pat Lashley <patl@Sun.COM>
- + Support is now included for multiple face directories. Faces
- + will search for the environment variable FACEPATH, and use this
- + as a list of colon separated face directories. See the manual
- + page for more details.
- +
- + * Official support for X-Face lines was not included with patch #2
- + to mush v7.1. Dan and Bart suggested that instead, a new file
- + (mush.xface.patch) should be included with the faces distribution
- + which in an unofficial patch to mush v7.1.2, to allow that X-Face
- + support. The README, MANIFEST and FILES files have been updated.
- +
- + * From Rod Whitby <rwhitby@austek.oz.au>
- + faces v.1.4.6 dumps core when the following message (cut down to the
- + smallest case) is in my mail box. This was a case of a valid X-Face:
- + being followed by a line starting with the word "X-Face ". Faces now
- + searches for "X-Face:" rather than "X-Face". This really needs to be
- + tightened up some more.
-
- ------- FILES -------
- *** /tmp/da09712 Tue Aug 14 07:20:27 1990
- --- FILES Mon Aug 6 11:54:02 1990
- ***************
- *** 12,17 ****
- --- 12,18 ----
- faces.1 - the faces manual page (tbl + troff/nroff -man format).
- face_update - shell script to automatically update the faces database.
- face_update.1 - the face_update manual page (troff/nroff -man format)
- + mush.xface.patch - unofficial patch to mush v7.1.2 to support X-Face lines.
-
- main.c - STANDARD SOURCE FILES: includes declarations and main().
- get.c - routines to get information, objects, icons etc..
-
- ------- parsefrom.c -------
- *** /tmp/da09715 Tue Aug 14 07:20:28 1990
- --- parsefrom.c Sat Aug 4 19:18:57 1990
- ***************
- *** 15,26 ****
- */
-
- #include <stdio.h>
- ! #ifdef SYSV
- #include <string.h>
- #else
- #include <strings.h>
- ! #endif /*SYSV*/
- #include "faces.h"
-
-
- int
- --- 15,27 ----
- */
-
- #include <stdio.h>
- ! #ifdef SYSV32 || hpux
- #include <string.h>
- #else
- #include <strings.h>
- ! #endif /* SYSV32 || hpux */
- #include "faces.h"
- + #include "extern.h"
-
-
- int
- ***************
- *** 94,104 ****
- user = p;
- }
- if (host == NULL)
- ! host = "LOCAL";
- #ifdef NODOMAINS
- else if ((p = index(host, '.')) != NULL)
- *p = '\0';
- #endif /* NODOMAINS */
- *hostp = host;
- *userp = user;
- return 1;
- --- 95,107 ----
- user = p;
- }
- if (host == NULL)
- ! host = hostname;
- #ifdef NODOMAINS
- else if ((p = index(host, '.')) != NULL)
- *p = '\0';
- #endif /* NODOMAINS */
- + if ((p = index(host, '\n')) != NULL)
- + *p = '\0';
- *hostp = host;
- *userp = user;
- return 1;
- Funky_Stuff
- len=`wc -c < patch.7`
- if [ $len != 101860 ] ; then
- echo error: patch.7 was $len bytes long, should have been 101860
- fi
- fi # end of overwriting check
- ------CUT HERE------CUT HERE------CUT HERE------CUT HERE------
-
- Rich Burridge, DOMAIN: richb@Aus.Sun.COM
- Sun Microsystems. ACSNET: richb@sunaus.sun.oz
- PHONE: +61 2 413 2666 UUCP: {uunet,mcvax,ukc}!munnari!sunaus.oz!richb
-
-