Tasks for the GNOME project:

	- The gnome-dns functions should use an external helper
	  program, instead of forking off. This is to reduce
	  memory usage (i.e. four little server programs take
	  up less memory than four copies of the same program,
	  even with copy-on-write taken into consideration)

	- Someone has started on a Calendar kind of thing.  The
	  interface to the internals of the calendar should be
	  exported with CORBA.

	  See: http://www.triode.net.au/~csmall/gnome.html

	  I want to see something like ical as shipped with Red hat
	  with gnome, and to export the calendar interface. 

	- We need a gnome_about function that would display an about
	  box for applications.  Something like:
	
		gnome_about (char *author_stuff, *bug_report_stuff)

	  This is just an idea.
		*update* Use the GnomeMessageBox widget.

	- A font selector program or a library routine.

	  To let the users choose a font with a nice dialog box.
		*update* need to snarf it from the gimp, perhaps.
		*update* Done... Need to make a config app
		to let users make typeface suitcases (i.e. "Headlines",
		"sans serifs", "serifs"), and then have this dialog
		allow users to choose from typefaces in suitcases.

keycaps:
	
	- Port the XKeycaps to Gtk.

Panel:

	- Very important: a docking applet that would allow regular
	  programs to be docket into the panel, here is what KDE is
	  doing on this regard: http://www.gnome.org/kde-dock.txt

    *update* you already had the "swallow" applet here,
     and it is exactly the same thing (I think):
	- Swallow applet.  We need something to swallow running X
	  applications into the panel.  It should be easy to do.

     We could have applications dock via either title (the
     traditional fvwm way of doing it) or via setting the property
     (the KDE way of doing it).

	- If the panel is started for the first time, it should load a
	  couple of applets in default locations.  Currently, it just
	  sticks them all at 0,0 (making people complain about this).

	- The panel needs some ways to configure its behaviour.  The
	  code for the behaviour is there, the dialog box is not.

	- The panel should provide other ways of hiding it, not just
	  moving down like it is doing right now.  It should also
	  allow something like the MacOS8 thing that
	  collapses/minimizes itself.

	- An applet that would talk to some existing window managers
	  for controlling the virtual desktop.  

	  This applet should at least be able to talk to fvwm (we can
	  write an fvwm module that would talk to our panel in this
	  case).  Supporting WindowMaker and supporting E is also
	  important.

	- A talk notification program (see Gnome/Talk below)

	- Caldendar applet.  Should talk corba with the real
	  calendar.

	- The Panel could use an applet that contacts the session
	  manager and requests a logout.  (I think this would be easy to do. -tom)

	- CPUload applet.

Window manager:

	- The window managers should be patches to support the following:

	- Some kind of hint for having windows without much decoration
	  (for the floating menus/toolbars).

CORBA:

	- We need an ORB. It must support C bindings at least,
	  and have a license that is compatible with Gnome (i.e.
	  it must be BSD-style or GPL-style).

	- We need to figure out some way to start corba services.  At
	  this point.

	  Ie, have some way for applications to start up servers on
	  demand (the BOA thing), at this point we can just assume
	  that everything will be running on the local host.

	  I have completely ignored this, as I am working
	  on getting the XmHTML engine working on Gtk.  We are just 1
	  file away from getting it to link.  Then we will need to get
	  it working.

	- An interface to talk to the calendar through corba and
	  display a nice calendar with things marked of when you have
	  somehting to do.  

Same-Gnome:
	- It doesn't work - it needs left & right buttons pressed together
	  to get rid of balls, and changing pixmaps doesn't work

        - Colors should be fixed.

        - Add code to figure out when the game is over.
	  and
        - Give extra points for cleaing the whole field (1000 points).

        - disable resize

        - preferences

	- same-gnome needs to have an end-of-game state where it logs the
	  score using gnome-score system, shows the list to the player, etc.

Gulp:

	- GULP is horrible right now. 

	- We need to fix the look of GULP to look -at least- like
	  KDE's klpd program.

	- GULP needs to talk the LPD protocol instead of relying on
	  the lpc/lpq commands.
		*psst* *hint* I'm waiting for GtkCList
		*psst* Jay is busy changing this widget, we'll have to
		wait.

Gnome/Talk:

	- We should probably drop Gnome/Talk in favor of the GNU/Talk.

	  GNU/Talk has a bunch of frontends (Motif, Xaw, and ncurses
	  are supported).  So, doing a Gtk version should be easy
	  according to the author.

	  GNU/Talk comes with an enhanced daemon that knows how to
	  talk to an X application if the user is running X to notify
	  him.  This guy did the work for us :-).
	
	  So, we probably want to port his code and probably reuse
	  some of the work we have (mainly using GtkTerm widget for
	  this).

	  More details here:

		http://www.ultranet.com/~zappo/gtalk.shtml
	  *update* I couldn't get it to run. Anyone else want to try?
		- Elliot

Games:
	- We need a general gnome-score program that would take care
	  of all the scoring issues: displaying player names, scores
	  and so on.

	  This can be made a shared library, I do not really care that
	  much.
	  * Written. It's part of libgnome.

        - keep scores (the score keeping facility should be using
	  gnome-config routines to access the information, and not a
 	  hand crafted routine).
	  * Written. However, I don't think it should use gnome_config
	    - we don't want to turn gnome_config into a catch-all
	    database. Any other ideas?

GMIX:
	- Add nice icons and update the interface to make it look
	  sexy.
	- Allow user to show only a subset of the available sliders.

	- Export functionality via CORBA or whatever to allow other
	  multimedia programs to access the mixer.

GemVT:

	- We need to add dingus support to it (http://dingus.mit.edu).
	  * Nat will do this soon.

	- Use the terminal widget to implement a decent terminal:
	  with menus for doing all of the relevant tasks.
	
	- Add some way to change the color scheme: xterm colors; rxvt
	  colors; Linux console colors (just like KDE has).

	- Support for changing the font.  Use the font selector.

	- Check gnome/programs/gemvt/TODO for more information on what
	  is missing on it.

GTop:

	- Integrate into the Gnome tree.

	- Use Jay Painters's GtkCList widget for displaying the
	  information

	- Either do it, or help out Radek finishing this.

Logging:

 	- Write either an panel applet or a program  that would let
	  you  quickly review the system logs.  Many good idesa on
	  this subject were presented on the Gnome mailing lists.

	  This has been done by Cesar (miquel@dfuba.df.uba.ar)
	  Look here: 
		http://www.df.uba.ar/~hprel/miquel/logview.html
	  
Desktop-Properties:
	
	- bug in gtk - when rc changes font => improper geometry management
	  background screensaver

	- position of xlock parent window - something is wrong
	  
	- special handling for random mode - maybe make own

	- xlock global settings
	  xlock settings window buttons don't work (except Cancel)
	  xlock Apply button should ghost
	  xlock settings window should probably do local grab

	- change double-click speed on mouse page
	  this requires changes to gtk

	- need configurator to change language and other locale things

	- Preview of the background image should be scaled

	- An application that would you configure the current
	  resolution (this is already on some KDE conrtol panel).

	- xlock could use a way to contact the session manager and request a
	  logout.

Gtk/Gdk improvements:

	- We need a routine that would scale a bitmap.

	  Rasterman's IMBLIb comes to mind.  If we can put this to use
	  under the Gdk framework (or merge it there, the better).

	- At this point the code is consuming a lot of colors while
	  displaying pixmaps.  We need this to be corrected.  The last
	  version of gdk as found on the cvs tree include the color
	  context code (gdkcc.c) that can be used to some extent.
	  This code is from the guy that did the Mathematica/Motif
	  code, and is used by XmHTML.  It greatly simplifies X color
	  allocation.

	  Anyways, we need someone that understands colors to look at
	  this and to look at some decent way to not steal the whole
	  palette from X.

	- We should provide some way of reconfiguring the look of the
	  Gtk widgets (only their colors for now).  

	  This will be used to provide the color schemes for the
	  currently running Gnome applications.

	- The color selector needs a list of system colors and custom
	  colors (allow users to have their own set of predefined
	  colors, like the Next color selector).

	- Extra modes for the color selector (like the next has).

	- A drop down list widget (combobox).

	- Notebook widgets at some point should start stacking instead
	  of making the window bigger.

	- Gdk pixmap loading performance is pretty bad.  We should change
	  the code to use the libXpm if it is found on the system at
	  compile time in the worst case.  Right now, loading a 48x48 xpm
	  takes around 1 sec on an 486/66mhz.

Web/FTP site:

	- Move them to redhat.

	- Make daily snapshots of the CVS tree.
	
	- Update the Web pages to reflect the project status.

Oleo (a spreadsheet):

	- Someone at GNU is working on getting this working with Gtk.

	  We need to help him with the Gtk stuff.  We do not want a
	  crappy Spreadsheet for Gnome, we want something that is
	  equivalent to Excel.  So, he may use some help.

	- I can provide his email address to anyone interested in
   	  helping him. 

ICQ:

	- People like this thing.  It is horrible, but they love it.

	- Someone in LinuxNet has reverse enginered the protocol (name
	  withheld until I figure out if he does not mind to put his
	  name here).

CD-Player:

	- This should be allowed to run as an applet I think.

	- Actually, provide a GnomeCDPlayer widget.  Thus, the applet
	  and the main program can just use this widget.

	- It should provide all the cool features on other cd players,
	  like using a database of cds to recognize the cd name and
	  the songs.

	Pista, Ching Hui and tc have both implemented some of this.
        Sigh, what a shame.

Session Management:

	- We have some code contributed by Tom Tromey and Elliot Lee,
	  they are working on this.

XDM:

	- We want an XDM replacement or at least an XDM that is as
	  cute as the SGI one.  This lists all the users on the system
	  with icons.  

	- Users can override the default icon for themselves.

 	  Apparently the XDM-photo program does something like this,
	  it is rumoured that the code is available in sunsite. 

File Manager:
	
	- the port is being worked on.

Gnome/IRC:

	- Pista has intentions of working on this.  Anyoen else?

PPP dialer:

	- Use Jay Painter's Gtk version of his EzPPP program 

	- This program should support defining a provider as a set of
	  phone numbers, so that they are tried one after the other
	  (like XISP does).

Mail program:
	
	- Jay painter has Balsa, it needs to be finished.

	  (http://www.serv.net/~jpaint/balsa)
	
	- Lars Wirzenius has this one written in Python, some ideas
	  must definetly be incorporated into our mailer:

  	  http://www.iki.fi/liw/Slime

	- Another existing Gtk-based mail reader is GMail: 
	  http://cc1000916-a.avnl1.nj.home.com/gmail/gmail.html

Ghostscript frontend:

	- We have some code on the CVS repository that talks to
	  ghostscript (this was taken from gv and ghostview).  We need
	  to finish the Gnome version of this.

News program:

	- Port some existing code to Gtk.  Slrn is a good candidate.
	  
	- I personally would like to see Gnus ported, but it may be
	  a difficult task.

FAX send/receive program:
	
	- This is being worked on (http://www.bowtie.nl/gnfax).


Calculator:
	
	- We have a calculator from Marius, it needs to be made nicer.
	- George Lebl has written GNOME Genius, look here for
	  more information: http://www.5z.com/jirka/linux.html

Calendar/Rolodex/Appointment:

	- This is being worked on by csmall@scooter.o.i.net
	  (http://www.triode.net.au/~csmall/gnome.html).

	- We want to make it interoperable with the existing
	  standards.  draft-ietf-calsch-ical-01.txt is available
	  on your favorite internet drafts repository
	  (ftp://ds.internic.net/internet-drafts is a good starting point).

Cromagnon:

	- It needs to use the GtkCList widget.

	- It needs to be made prettier.

PDF viewer:

	- A Gnome interface to xpdf

Tasks that are partially done now:

	- A GnomeToolbar widget.

		This should provide a Toolbar like those that are
		found on Excel and Word.

		*update* Federico has done this GtkToolbar

	- A GnomeApp widget that would create a menubar, a toolbar, a
	  status bar and a region for the program to display its
	  information.

		*update* This has been done by Elliot Lee.
		*update* Miguel is going to update the API a little.

	  This would take care of connecting the toolbar signals to
	  allow the toolbar to be dragged outside of the main
	  application and to allow it to redock itself.

		*update* GtkHandleBox has been written by Elliot Lee.

	  I believe this can be done quickly by having this widget
	  have a GtkTable inside that would be used to stick all of
	  these elements inside.

	- Recently Used documents api:

	  Provide an API for programs to register when a document has
	  been visited.  This puts a file in ~/.gnome/recent-docs with
	  some information: creator, string describing what this is
	  and the document name:

	gnome_recently_used (char *creator, char *desc, char *name)

	  example:

		gnome_recently_used ("Word", "Word document", "/home/mydoc") 
		gnome_recently_used ("GnomeTalk", "Talk session", "miguel@gnu.org") 

	  *update* Mostly implemented in gnome-history.[ch] by Elliot

	- File conversion code. Partially done in
	  libgnome/gnome-fileconvert.[ch], but need to change
	  gfc_get_path() to allow indirect conversion paths
	  through multiple filters. (Anyone know of a good algorithm
	  for this?)
