Ethereal-dev: Re: [ethereal-dev] Colors

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxx>
Date: Thu, 3 Jun 1999 16:45:50 -0700 (PDT)
> I have rarely used Network Monitor.  I have used LanWatch a lot and it has 
> default colors.  They may not even be changable. 

I wouldn't like that.  Sometimes I may want to single out DNS packets;
sometimes I may want to single out NFS packets; sometimes I may want to
single out SMB packets; sometimes I may want to single out HTTP packets;
etc..  Giving every protocol, by default, its own color would probably
burn out the cones in my retina; I'd want "black" as the default for
everything, and the ability to choose, for a particular protocol, what
color to use (that's what NetMon gives you).

> So.  Is there some non-Xrm resource scheme you (or anyone else reading this) 
> has used which has these features?  I guess the real features we need are some 
> sort of heirachry of files, persistance available from the API, and readable 
> configuration files.

"prefs.c" - i.e., the code in Ethereal that manages the
".ethereal/preferences" file - has much of that.

It doesn't have a hierarchy of files, but I'm not sure it's necessary -
"Ethereal default" (which I'd want to be "black for everything") and
"user preference" to override that seems like enough to me. 

It does have persistence - you can set preferences, and if you click the
"Save" button, they get written out.

The configuration file is a text file:

	tooting$ cat ~/.ethereal.preferences
	# Configuration file for Ethereal 0.4.1.
	#
	# This file is regenerated each time preferences are saved within
	# Ethereal.  Making manual changes should be safe, however.
 
	######## Printing ########
 
	# Can be one of "text" or "postscript".
	print.format: text
 
	# Can be one of "command" or "file".
	print.destination: command
 
	# This is the file that gets written to when the destination is set to "file"
	print.file: ethereal.out
 
	# Output gets piped to this command when the destination is set to "command"
	print.command: lpr