Subject: Help needed with a new version of faces.

From: Rich Burridge <[email-masked]>
Date: Tue, 13 Nov 2001 10:44:27 -0800 (PST)

Hi all,

Anybody interested in helping me get a new version of faces together?

I noticed that it's been almost ten years since the last one, and I
think it's time the code was updated. ;-)

I've started work on this, but what with the pressures of RealWork(TM),
I realise that I'm going to need help to finish this in a timely manner.

The main things that I'd like to do are:

* Add in support for XPM, keep support for XBM, and remove support for
  the other graphical formats.
* Keep support for X11, but remove the other graphical versions (SunView,
  XView and NeWS).
* Keep the mail monitoring and the ability to run a command and display
  the list of icons from that, but remove support for monitoring printers
  and users. The printer support under Solaris 2.x sucks, and besides
  it should be possible to provide this kind of thing via an external
  script (if it hasn't already done so).
* Adjust the configuring/building to use automake and autoconf.
* Add in IMAP support.
* Adjust the [un]compface code to read/write to XBM files not the Blit
  ikon format.
* Tidy up the code. Unix and C have becomes pretty much standardized over
  the last ten years. A lot of O/S'es have bit the dust, so the code can 
  be a lot simpler.

If you are interested in helping, I'll send you what I've got so far,
and act as the central coordinator. When things are starting to come
together, then I'll post an announcement of availability for testing
to the faces mailing list.

An example of how you can help....

I've got XPM support in, but I'm having some problems with the setting 
of the background of the image, that I'm spending far too much time on, 
trying to track down. I need a second pair of eyes on it.

Thanks.

PS: Here's a full list of what I've done so far, and what still needs to
    be done.

----

Changes made so far...

v1.7 - patchlevel 0 - 13th November 2001.

* Various changes to the code:
  - Adjusted to a consistent style (K&R). 
  - Removed all tabs.
  - Removed support for X11R3, SunView 3.x, XView and NeWS.
  - Fixed up gcc warning and error messages.
  - Removed all unwanted files from the distribution (especially if there
    are files with similar functionality in the main faces/picons archives:
    http://www.cs.indiana.edu/ftp/faces/
  - Adjusted references to the version number.
  - Adjusted to use ANSI function prototypes. 
  - Ran the code through lint and fixed up most of the problems reported.
  - Removed the (null) save_cmdline() routine from x11.c and where it was
    called from (write_cmdline() in get.c).
  - Removed all P(...) references as we are only using ANSI function 
    prototyping now.
  - Removed externs for standard library functions from the .h and .c files
    and replaced them with the correct #include files.
  - Removed the (null) make_icon() routine in x11.c, and where it was called
    from.
  - Removed references to the INLINE #ifdef.
  - Removed references to the TOPIX #ifdef.
  - Removed references to the RAND #ifdef.
  - Removed references to the SYSV #ifdef.
  - Removed references to the SYSTYPE_BSD43 #ifdef.
  - Removed references to the USE_BZERO #ifdef.
  - Removed references to the NOUTIME #ifdef.
  - Removed references to the NOMAXPATHLEN #ifdef.
  - Removed references to the NOGETHOSTNAME #ifdef.
  - Removed references to the SGIDEF and SGILIBS #ifdef's.
  - Removed references to the USE_GETWD #ifdef.
  - Removed references to the HASPOLL, NOSELECT and SELTYPE #ifdef's.
  - Removed all machine specific #ifdef's (hpux, ultrix, mips ...).
  - Removed the gr_type enum and all references to it.
  - Removed the not_flipped argument to the load_icon() routine in x11.c
  - Removed SunView, XView and NeWS specific todo entries from the TODO file.
    Same thing for entries refering to Blit ikon or Sun icon formatted files.
  - Removed all references to SUNTYPE and BLITTYPE. X11TYPE becomes XBMTYPE.
    Also fixed up the comment for the make_iconame() function in main.c
  - Removed references to NEWSTYPE, get_news_icon(), add_ps_rec(), psinfo 
    and psrecs (NeWS icons are no longer supported).
  - Adjusted all index and rindex references to use strchr and strrchr and
    removed all references to the NOINDEX #ifdef.
  - Removed the get_display() function in main.c and merged the -d command
    line option extraction back into the get_options() function in get.c
    (as there are no longer SunView and XView version of faces with complex
    command line arguments).
  - Surronded all the .h files with #ifdef's to prevent definitions being 
    reclared twice. Added 'extern "C" { }' for .h files that defined 
    function prototypes.
  - Fixed up all the copyright messages.
  - Removed the -Wp, -WP and -Wi command line options from get_options() in
    get.c (which were used by the SunView and NeWS versions). Removed these
    entries from the manual pages.

* Got the X11 version working under Solaris 2.x.

* Added in support for XPM files (a standard format of the picons database).

----

Things still to do...

* Run the code through lint.
* Fixup the crash in searchfacedb in main.c when compiled with gcc and
  running "faces -a -c 15 -s /home/richb/Mail/out-mail".
* Get the XPM file format fully working.
* compface and uncompace should read/write XBM format file now.
* Add in IMAP support.
* Add in autoconf and automake support.
* See if the support for printers and users can be removed (because the
  same functionality can be provided by user supplied programs).
* See if we can remove the "update faces database" stuff (because the 
  functionality is somewhere else).
* See if we can remove the face_update.1 file from the distribution.
* See if we can remove the scripts directory from the distribution.
* See if we can remove the facedir directory from the distribution.
* See if we can remove the filters directory from the distribution.
* See if we can remove the xface directory from the distribution.
* See if we can remove the compface directory from the distribution.
* Will need to updates the faces.man file, and regenerate the
  faces.man.text file.
* Will need to either fixup the maketar shell script, or if we have a
  version that uses autoconf and automake, then it can be removed.
* Consider removing the people.tab and machine.tab files from the 
  distribution, or creating empty files.
* Get it working on RedHat Linux.

---

From: Simon Richter <[email-masked]>
Date: Sat, 17 Nov 2001 17:21:24 +0100 (CET)

> Anybody interested in helping me get a new version of faces together?

Interested, yes. Time for complex tasks, no. :-/

>   the other graphical formats.

PNG would be nice IMO.

> * Adjust the configuring/building to use automake and autoconf.

I can do that.

> to the faces mailing list.

What about a central CVS?

>   - Removed all tabs.

Tabs are good IMO.

> * Get it working on RedHat Linux.

:-)

A thing I would like to get integrated into a future version is remote
picon databases. I've started a project on this (http://www.xfaces.de/),
but I'm not really far yet.

   Simon

-- 
GPG public key available from http://phobos.fs.tum.de/pgp/Simon.Richter.asc
 Fingerprint: DC26 EB8D 1F35 4F44 2934  7583 DBB6 F98D 9198 3292
Hi! I'm a .signature virus! Copy me into your ~/.signature to help me spread!

---

From: Anders Eriksson <[email-masked]>
Date: Sat, 17 Nov 2001 21:32:10 +0100

I've been working a bit with faces support for the Exmh MUA. I'd be 
_very_ interested in the remote picon thing.

I 2nd the vote for png support.

/Anders

>>>>> On Sat, 17 Nov 2001, "Simon" == Simon Richter wrote:

  Simon> On Tue, 13 Nov 2001, Rich Burridge wrote:

  +> Anybody interested in helping me get a new version of faces
  +> together?

  Simon> Interested, yes. Time for complex tasks, no. :-/

  +> * Add in support for XPM, keep support for XBM, and remove
  +> support for the other graphical formats.

  Simon> PNG would be nice IMO.

  +> * Adjust the configuring/building to use automake and autoconf.

  Simon> I can do that.

  +> If you are interested in helping, I'll send you what I've got so
  +> far, and act as the central coordinator. When things are starting
  +> to come together, then I'll post an announcement of availability
  +> for testing to the faces mailing list.

  Simon> What about a central CVS?

  +> - Removed all tabs.

  Simon> Tabs are good IMO.

  +> * Get it working on RedHat Linux.

  Simon> :-)

  Simon> A thing I would like to get integrated into a future version
  Simon> is remote picon databases. I've started a project on this
  Simon> (http://www.xfaces.de/), but I'm not really far yet.

  Simon> Simon

  Simon> -- GPG public key available from
  Simon> http://phobos.fs.tum.de/pgp/Simon.Richter.asc
  Simon> Fingerprint: DC26 EB8D 1F35 4F44 2934 7583 DBB6 F98D
  Simon> 9198 3292 Hi! I'm a .signature virus! Copy me into your
  Simon> ~/.signature to help me spread!

---

From: Anders Eriksson <[email-masked]>
Date: Sat, 17 Nov 2001 23:10:36 +0100

(better from address this time)

/A

  Simon> I can do that.

  +> - Removed all tabs.

  Simon> :-)

  Simon> Simon

---

From: Ajay <[email-masked]>
Date: Sat, 17 Nov 2001 16:31:13 -0800

Moin Anders!

Anders Eriksson schrieb am Samstag, den 17. November 2001:

:
:(better from address this time)
:
:I've been working a bit with faces support for the Exmh MUA. I'd be 
:_very_ interested in the remote picon thing.

>-- End of excerpt from Anders Eriksson

Two questions for you guys, first, why are all the messages from the list
marked as 'read'???  ('Status: R')  I hadn't noticed the original post to
this thread at first because of this.

	In other news, I'm curious if anyone has any experience with faces
support in mutt?  I tried doing it manually (add_hdr X-Faces), but when I
save the message it wraps it into one line, which doesn't work.  Any
info on this would be greatly appreciated!  Yes, it'd be cool if it could
somehow render them too, but one thing at a time. ;)

	-Ajay

-- 
Milpitas, ca	[email-masked]	HempVille, Planet Talarian
			http://os2man.cjb.net/pictures/
"Imagination is more important than knowledge."		--Albert Einstein

---

From: [email-masked]
Date: Mon, 19 Nov 2001 10:20:08 +0100

>>   the other graphical formats.

Why?  The files are so small that individual compression aren't likely
to save significant amounts of space, so it just seem like an
unnecesary complication and dependency.

> Tabs are good IMO.

Tab characters are a pestilence when doing multi-developer projects,
especially if they use different editors or even different platforms.

---

From: Simon Richter <[email-masked]>
Date: Mon, 19 Nov 2001 15:32:20 +0100 (CET)

> unnecesary complication and dependency.

I just tried with my picture:

$ convert face.xpm face.png
$ ls -l face.png face.xpm
-rw-r--r--    1 richtesi soft         1898 Nov 19 15:24 face.png
-rw-r--r--    1 richtesi soft         8757 May 25 16:44 face.xpm

That is a factor of 4.613, at no quality loss.

   Simon

---

From: [email-masked]
Date: Mon, 19 Nov 2001 16:08:17 +0100

> That is a factor of 4.613, at no quality loss.

The actual saving is not 4.613, but some round number that depends on
the file system block size.  If minimizing disk space is important
(and I'm not sure it is), I think reading from an (compresed) archive
file would be the way to go.

---

From: Simon Richter <[email-masked]>
Date: Mon, 19 Nov 2001 16:31:18 +0100 (CET)

On Mon, 19 Nov 2001, Per Abrahamsen wrote:

> the file system block size.

Assuming a block size of 1k, the factor would be 4.5, however most
filesystems use the remaining pieces of blocks.

>  If minimizing disk space is important (and I'm not sure it is), I
> think reading from an (compresed) archive file would be the way to go.

My plan is to store PNG images inside a libdb database or an RDBMS.

   Simon

---

From: Brian E Gallew <[email-masked]>
Date: Mon, 19 Nov 2001 10:59:57 -0500

> > the file system block size.

On-disk savings isn't everything.  Network traffic is kind of
important, too.