				SHORT TERM TODOS

1. libTT

        FIXME test null_CacheThemeShape_ttprogressbar() and
	      test drawing widgets with non-zero xl, yl

        write ttscrollpane scrollbar policy: always/auto
	
        write ttfn_*->FN_super field and recode TTGetSuper_ttfn()
	
        write utility to prepend/append components to parents
	
	write TTSetField_ttobj() wrapper for TTSet* methods
	      and also for other set-like operations
	      (note: ALL operations are either get-like, set-like,
	      constructors or destructors, so that just using
	      TTNew, TTDel, TTSetField_ttobj, TTGetField_ttobj
	      you should be able to perform ANY operation)
	      and document it detailing what just said in (...)
	
	write more widgets: menus, tttabpanel
	      (see Java JTabbedPane and other Java swing components)
	
	problem how to draw a ttscrollframe (ttframe plus scrollbars)?
	      libTw twindow scrollbars are not powerful enough, they
	      miss "change event" support.
	      



				LONG TERM TODOS

1.writing (and documenting) a gtk-like toolkit on top of libTw.

  DIFFICULTY: don't ask
  STATUS: assigned (I am currently doing this myself)
  NOTES: need theme file parser, finish object methods, TTReopen()

2.task posted on SourceForge as 'C developer with Unicode knowledge':
  add more charsets to libTutf, a small unicode translation library that can
  convert between unicode and various other charsets.

  Two people already offered for this... but noone said the final
  'ok, starting to work' yet.

  DIFFICULTY: beginner
  STATUS: probably assigned

3.finish writing 'twdialog' (libTw equivalent of 'dialog'). Does not
  require a lot of Unix knowledge, but libTw API has almost no documentation
  yet.

  DIFFICULTY: intermediate (no docs)
  STATUS: probably assigned

4.writing a libTw screensaver. Quite easy, as really few libTw functions
  are needed (create a fullscreen window, write in it, quit on keypress);

  DIFFICULTY: beginner
  STATUS: available

5.writing whatever libTw client comes to anyone's mind.
  (more a hope than a TODO);

  DIFFICULTY: ymmv (Your Mileage May Vary)
  STATUS: available

6.writing down libTw API documentation. Would be *VERY* useful too, but it's
  not a trivial task as in many cases one would need to figure out by himself
  (of course can ask me if he doesn't understand something) what the various
  functions do. Suggested format for documentation: doxygen javadoc-style
  comments (i.e. /** comment */ ) inserted in twin/libs/libTw/libTw.c and in
  include/m4/sockproto.m4h;

  DIFFICULTY: intermediate (many things are obscure)
  STATUS: available

7.writing wtmp logging. Requires some knowledge of programming under Unix;

  DIFFICULTY: beginner
  STATUS: available

8.random thoughts:

   "paste" command in menu
   twclip - show clipboard
   twdisplay on win32
   ?-geometry option to tw* clients

   keyboard hotkeys for screen scroll

   cleanup overflows with shadows at window [xy]width = almost max, move arithmetic to [ul]dat
   finish libGGI keyboard support

   Flame libgpm people for /tmp/gpm* sockets, gpm_tried, syslogging, ncurses

   ### tell GTK people to write a gtk_quit() function that shuts down gtk
   ### but does NOT call system exit()

