
Todo For Release 1.1 ( Linux First, others as 1.1.x )
======================

	Ready to go!

Todo for 1.1.1
==============

    	Regression Test on UnixWare 2.01

    	Regression testing on Solaris

    	Construct UnixWare/Solaris Packages

	32/64 HiColor icon set 

Todo For Release 1.2
====================

	Object oriented class hierarchy for per process actions,
	settings. Branch actions.

	Preferences, use of opStore

	Install kit for KDE, 
		Session management
		Internationalization

	Process classification with methods

	QT front end, KDE Integration?

	Fix - Setting resource to No menu causes many buttons to break!!!

	Ensure startup menu and toolbar buttons are in sync and set from
	resources if specified. - Replace with preferences

	Core dumps on lesstif without resource file?

	Update color range average code, i.e needs to be updated and tested,
	but it's no longer used by default.

	Key shorcuts are broken, Scrollwindow? ProcessTip?

	allow display of tty/pty name  i.e   0,1,A,B or p0 q1 ...

	Create dynamic colors for users/groups without one?

	Max Size before Activating Scroll Bars

	Simple, safe configurable user action menu items

	Somehow show if swapped out? Already done -> color is black
	Could be better, perhaps a glyph.

	Look at Configure for Source bundle configuration

	Better Handling of out of memory conditions

	Flash process box when it's had activity.

	New signal menus for UnixWare - replace with external methods
	Core dump on Solaris when not setuid
	Create resources for Solaris/UnixWare?

	BSD support


Todo For Release 1.3
====================

	Generic mechanism to drill down/extract, with platform
	specific libraries. i.e on Linux drill fown of fd's and
	allow filename/path to be pulled to tree display.

	GTK front end, GNOME Integration

Todo For Release 1.4
====================

	Table View, other colapsable subpanels(log panel)

------------------------- Newer Ideas ------------------------


Radial Pulse Graphs, shown as circular areas. Activty shows as
a circle, most recent is closest to center. Show amount of
activity by making circle thicker. As time passes the "activity
impulse" moves logarthmicly(sp?) outwards towards the edge of the area.
Fade impulse over time, make size of area a function of overall
usage. Use different colors for different kinds of activity,
i.e. green=cpu, red=mem, blue=io (perhaps use more muted colors).
Be able to turn these on/off and also only display for recent
activity then for a number of long tics(Rain Drop effect).
Could draw these on treewidgets window, and perhaps even in node
widget. Would be nice to use alpha blending. Really cool would be to
allow the waves to interact a little( like ripples in a pond ).

Perhaps allow area size to be based on resident set size but waves
are cpu impulses.

Along the same lines, alow process nodes to fade with lack of activity,
this could literally fade the colors and then eventually hide them or
outline them.

Allow a delta only mode, program only shows processes that
have values changing, keep them arround for a while
then shrink them.

Allow preset display lists per node

capture/replay


Really large trees don't draw properly. Looks like a
variable type overflow problem, perhaps a signed 16 bit value.
Develop some kind of large tree management strategy.


------------------------  Older ideas  -------------------------

In no specific order:


Linux 	Add more linux values to the displayable output. Perhaps
	drilling down no mmaps, fd's, ...


Per Process Actions:

	Define internal actions that the program can perform directly
	on processes, i.e. signal, play sound, ...

	Define generalized shell out action, passing parameters

	Allow program detected triggers to spawn action:

		i.e program starts -> play sound
		    program waiting on disk io > 1 min -> stop net service

	Allow program specific user driven actions to be associated
	with each process. Develop classes and allow inheritance of
	classes. i.e.

		GNU class processes can have info run on them so
		a menu item called "info" is added to right click
		action menu.


	Allow association of normal/mini icons per process, then
	optionally show these in the tree. Use in detail dialog popup title.

	Perhaps add per-process data gathering controls and display
	controls as well. i.e.

		Never gather data on process mingetty, cause it's
		not used.

		Or always display time usage of httpd, cause 
		your running a web server and you always want to
		see that value.

	This info could be modeled on fvwm2 wmconfig mechanism. i.e
	each process has a file to describe these values. This could
	be extended to allow derived classes.


Finish Linting code (>75% complete)

LWP's

	Hide the actual structure of the process info structure and
	provide compile time dependent access macros. (Mostly done)
	Long term - encasulate this in a "object" and use access methods,
	perhaps even run time switching to support accessing different
	systems from one executable. Or simply make it data driven from

			type, name, ptr, format
	
	Could also move data gathering code to a run time library.
	(Started this by having seperate lib for data gathering, needs
	 to e more dynamic though).

	This might make graphic representation more difficult.

	Show Light Weight Processes

		Perhaps as different shape  Oval, rounded box, different
		font(smaller)

		Or inside the process box(Kinda implies it's a thread, which 
		it's not)

		stack of ovals(dynamically cycle through stack as threads
		activate?)


Resources

	More resource files, with better examples ...

	Migrate towards run time editable preferences


Multi-processor Machines, I need one of these to test on

	Color code by processor

	On multi-processor system could show trees for each processor and or
	an activity graph for each processor

	On these systems dynamically add processor fields to detail display,
	display list  ...

	Perhaps use connection color to indicate processor(Could also use
	connection color to indicate process group, session ...)


Multiple Machines

	Add a seperate gather process and use IPC to transfer info(i.e. RMON)

	Use MIB's???

	Provide graphical front end to select which machine

X Protocol messages - i.e. closing the window via window manager

	Deletes of user_group tree, color_bar, other popups?

		Details, Help, Alert, Timer dialog, Display list,

Persistant Objects

	Generalize color bars, help dialogs, icons, button bars ... to
	persistant objects which are retrieved via a common set of
	routines. These routines could then use a OBJECT_PATH variable
	to determin where to find the objects. i.e.

		Users_dir/tps_obj:Group_dir/tps_obj:Sys_dir/tps_obj

	Perhaps allow for remote system spec, object type URL

	Hmm beginning to sound like Java!!!
Help
	- User/Group tree help, or use help menu

	- Help for color bar,

	- Hierarchical help for help menu

	- Help text with hypertext links.

	- Provide an external help database(perhaps for multiple languages)
	  put this in a hierarchical directory structure. Bind into executable
	  simple english text by default.

Color bar

	- Make it a popup?

+ statistical color coding

	    Range selection for users/groups, only works when in count mode

	    Colors don't change when tree nodes updating on short tic

	    Should only update color map when changes.

	    Color map doesn't show multiple users/groups with same id.

		Would be nice to allow, either all, active or displayed
		user/group's. 

	Use better color's for examples

	Define color maps for various screen color depths, put these in a
	hierarchical directory structure and allow these to be bound at
	and during run time. Provide menu selection of these. Also provide
	color schemes and allow user to select/modify/save color schemes.
	Use X resources to define a default color scheme in case of absense
	of color map database.

+ Event->Actions

	+ menu toggles track button and key event changes

	Would be better to provide a more generic scheme, perhaps have menu
	and or button callback's invoke the Action procedure with the label,
	register translations with menu labels. The string's shouldn't be so 
	hard coded into the program!!!

	Should allow for menu items with no buttons( i.e. Color by load )
	currently balk's

	Should provide all menu/button settings from resource file(slowwww)

Button Work

	Buttons for other functions

	User control over which buttons shown
		from button bar config

	Show more buttons if more space?

	Perhaps if not enough space to show all buttons, display scroll left
	right arrows to pan over button space.

	Color buttons? Ray Traced buttons?

	Allow buttons size/color to be dynamically configured 

		Button Size		16/32 pixels
		Button Color Depth	2(Monochrome), 4(16 colors) or 8(256)
		Button name?

	Specify button directory hierarchy, use mono/16 as builtin's

	Button bar as a either a package or as a widget

- Scrolled window testing

- Show/no show sched, init ?

- Color icons

- Controlling terminal hierarchy

      Process Groups

           session 1

           session n

-   Reflect above hierarchy by box'ing the sessions, processes group,
    controlling terminal.

-   Visually distinquish the controlling terminal process, group and session
    leader's.  

-   Show foreground processes in the foreground and background processes in
    the background(psuedo 3d, real 3d? and/or VR?)

-   Allow  user to add a one line comment bar at bottom of main window, on
    cursor entry into a node, display process info.

-   Support all ps arg's, including list of process's ...

-	Perhaps a table view for old die hard's

-   More graphics to represent various state's value's ...

-   pixmaps for user's, groups in user_group tree.


- Widget work

	- Get node colors from node widget

		requires breaking up array's of arc's, rect's

		Perhaps keep current scheme and add lists of rect's and
		arc's for non default colors. Do array's first then if
		lists, do them.

	- Connection color, style, thickness ... 
		
		Again have a default gc and if in default gc, use array's
		of lines. Otherwise have a list of linesegments and gc's.

