xxx 1) frame - need no border, and no label

xxx 2) notebook - need show / hide

xxx 3) clicking on tabs to select tab

4) drag & drop tabs

xxx 5) deleting last tab

xxx 6) color tabs on incoming PM

7) tab label to include icon
14) icon on label

xxx 8) on incoming tab, need to select tab.

xxx 9) handle tab arrows when there are too many buddies in the
xxx    conversation panel. (this might already work. Need to test
xxx    and confirm). Confirmed to already work, and not be an issue.

10) update title with # of unread messages so far.
    e.g. <name of selected tab> [# of overall messages not read]

xxx 11) a unseen BUZZ turns the tab to a light bluish color

12) orange header for unseen text from a friend not on server.

xxx 13) fix webcam capture so that it does not always use cap01 and
xxx     overwrite a previous capture! 

xxx 15) NEW incoming pm (not focused) will set label as BLACK instead
xxx     of orange

xxx 16) Creation of a new PM from incoming text switchs tabs. Should not
xxx     (but SHOULD for double click on buddy)

17) fix the pre-emptive strike to not get us kicked off!!!

18) fix emicons in PM --> they display ok in the chat window, but not in the
    text window.

xxx 19) in the buddy pain:

	Click on "Online" to only display the online buddies
	and Click on "Friends" to display everyone.

xxx 20) closing main window should not kill the application.
xxx    - there will need to be a item in the tray icon to bring it back :)

xxx 21) fix the location of log files. forget the log file name popup.

xxx 21a) Connection --> "Save to File"

22) log file viewer

xxx 23) change logging / setup --> preselect log directory, or base log directory
xxx     in setup. allow for logname to be %a-%d.log;%t (a==aliase, d==date,
xxx     t==time)

24) ditto for path to webcam capture (allowing for it to be in a completely
    different base directory)

xxx 24a) Need a button to enable webcam capture to be default to on/off instead of
xxx      always off.

xxx 25) fix path of default packet logging log file.

26) control tab in the PM text entry to switch thru the pm tabs.

27) Need to re-examine the handling of the following input / output messages:

	8K|Sv49��TYPING��1��greghosler��14����13��1��5��josiehosler��]G

	8K|Sv49��TYPING��1��greghosler��14����13��0��5��josiehosler��]G

    Need to look at how yahoo chat does this, and how gaim does this.

    And how gyachi should do it.

    In particular, the following condition we do wrongly.

    user starts typing, and then erases all the text.

    If sender user is gaim/yahoo and receiver is gaim, it works.
    If sender is gyachio, it doesn't. (we don't send the '0' packet).

xxx 28) another notebook focus one:
xxx     incoming "offline messages" should be treated like live messages, from a
xxx     tab colour perspective. The path:
xxx 
xxx 	[08/07/2006 17:02:21] show_incoming_pm() --> mesg: 6, sms: 0,

xxx 29) chat window messages that need fixing:
xxx 
xxx     extra internal carriage return:
xxx 
xxx 	[08/25/2006 21:51:06]    
xxx   ** Buddy: xxxxxxxxxx  has logged OFF. **
xxx 
xxx     missing timestamp:
xxx 
xxx 	** User: 'xxxxxxxxxxxxxxx' peer-to-peer capability check. **
xxx 
xxx 	** 'greghosler' ( greghosler )  has declined your webcam invitation ** 
xxx 
xxx     both:
xxx 
xxx 	  ** webcam invitation from :  'xxxxxxxxxxxxx'
xxx (xxxxxxxxxxxxxxx)  **
xxx 
xxx 
xxx    ** 'greghosler' ( greghosler )  has declined your webcam invitation ** 

xxx 30) tab focus problem.
xxx 
xxx 	auto-raise PM window when message received
xxx 
xxx 	- problem: If PM is iconified, it should STAY iconified
xxx 
xxx 	- problem: If another tab is already focused, you should NOT
xxx 		   claim focus.
xxx 
xxx 		   The only action(s) that should change focus is:
xxx 
xxx 			- clicking on a tab
xxx 
xxx 			- Highlighting a row in the buddy panel, and clicking
xxx 			  the IM icon
xxx 
xxx 			- double clicking on a buddy row (activating a buddy
xxx 			  row)
xxx 
xxx 			- new incoming, and no notebook created, should create
xxx 			  notebook, and it should be the focused tab.
xxx 

xxx 31) There should be a way to keep the smiley panel open, and allow for
xxx     clicking on multiple smiley's before closing the panel.

xxx 32) Sharing file. Need to look at this. Frequently hangs with 100% cpu usage.
xxx     There is a tight loop somewhere.

xxx 33) If a non-friend attempt to send a  file, you see the prompt to accept.
xxx     This should not be the case. (look into how non-friend offering of webcam,
xxx     or buzzes, or pm's is handled...

xxx --> sharing files allowd for someone not in the room, even if they not friend, and you only allow from friends.


34) Move all config file variables into a separate file (gyachi_config.c ?)
    and all associated extern's into a separate header file. At present
    these are spreas throughout several files. At the same time, separate /
    organize the variables according to ui widget / page.

35) as cleanup. add 3rd arg to set_tooltip().
    0 --> use common tooltip_group
    1 --> use private tooltip_group (and store in widget).

    also, update: setupwindow2.c, util.c, yahoophshare.c to use common set_tooltip
    call.

36) The following chat window messages to but have icons. Suggest the stop sign
	[02/27/2007 23:41:04]    ** 'ramonakaizer'  is now designated as a FLOODER.
	This person is trying to BOOT you. **
	[02/27/2007 23:41:04]   *** ignoring  ramonakaizer  ( ramonakaizer )  ***

37) For chat buddies, how about a "notes", than can be pulled up, editted,
    viewed. Used to maintain notes about buddies.

xxx 38) Fix the following message.
xxx 	- missing timestamp
xxx 	- extra carriage return
xxx     ** You have been disconnected from Yahoo! [ Error receiving from socket: 0
xxx     ] **

39) Fix the following message.
	- missing timestamp
	- icon is on separate line.

     You are now in the conference named 'greghosler-129' 

40) Fix the following message.
	- missing timestamp
	- missing timestamp
       [** You have left the conference. 'greghosler-129' **]

41) SEGMENT FAULT - REPRODUCEABLE

	- share photo album
	- click [ close ]
	*crash*

		(gyachi:31830): GLib-GObject-WARNING **: invalid unclassed
		pointer in cast to `GtkWidget'
		Segmentation fault (core dumped)

	(crach within on_yphoto_session_close())

42) remember the last sorted column in the alias panel.

xxx 43) fix "view webcam" popup to be GTK_WIN_POS_CENTER_ON_PARENT , 
xxx     instead of " GTK_WIN_POS_MOUSE ".

xxx 44) fix "view webcam" in chat panel.
xxx 
xxx 	- right click on the alias name does not work. 
xxx 	- actions menu works, but the sorted friends list is displayed instead of the
xxx 	  highlighted chat room member. 

xxx 45) view webcam from PM needs to parent to the PM *not* the chat window. :)

xxx 46) From PM window, with "Show Buddy Images" enabled,
xxx 	- Click on "Edit My Display Image"
xxx 	- In "My Display Image", Browse to a jpg file (or at least browse to a
xxx 	  file that will not convery to a 96x96 PNG image
xxx 	- 1) Error message pops up (not parented)
xxx 	     ("The image could not be converted to a 96x96 .PNG image")
xxx 	- 2) The error popup will NOT go away *UNTIL* "My Display Image" is
xxx 	     dismissed!

xxx 47) In Setup panel, in the "Account, Rooms, Friends", tab, clicking ANY of the
xxx     plus signs give a popup for entering the account/room/friend to add.
xxx 
xxx 	It is NOT parented. Should be parented to the Setup Panel.
xxx 
xxx     Ditto for the insert pop ups from the Ignored Users Panel.

48) Chat room dialog doesn't set timestamp (if setup option is set).

49) Linked screen-names is dropping the 1st character.

	Linked screen-names (Profile names):  [maddie1701e addie1701e ]

50) Yahoo! Privacy Settings --> the dropdown list for remove should come from
    the list of ignored users

51) the 4 ignore screens --> we ought to be able to not force modal on them.
    but there are issues with the model tree being shared. need to look at
    that.

xxx 52) Photo editor. interface is complete broken.

53) the gpgme plugin needs to be updates to the newer api.

54) It would be good to make the 3 or 4 optional plugin's Configurable.
    i.e. --disable then in Configure would disable then in the respective
    Makefiles...

xxx 55) Save geometry of Emotes pane
xxx     remember the emotes size (for when a user resizes emotes)
xxx     *or* have a hide emotes button (for those that do not use)
xxx     (and remember the setting). (see also 42)

56) For file transfers, consider a "download manager", a. la. firefox or
    pidgin.

57) The different states of file transfer should be logged:
	- offering file
	- starting transfer
    log to both the pm window and the chat window

58) file transfers: receiving a file does not check for overwritting existing
    copy.

59) look at g_idle_add() as an alternate to the work done. might be cleaner.

xxx 60) login, and then disconnect. There is a empty "Login" window left on the
xxx     screen!

61) when you log out, and did not properly leave the chat
    room , and when you log back in, you room messages will resume  

62) Join chat room maybe should always use the current buddy list ?

xxx 63) Rooms -> Rejoin Current Room should be desensitized when we're not in a
xxx     chat room

xxx 64) in the chat room, the following is missing timestamp support:
xxx 	  [** You have left the Yahoo chat area. **]

65) look at auto completing the alias in the chat room (already completes the
    user name).

xxx 66) convert_buddy_image() & esp ymsg_upload_bimage() are slow.
xxx     should investigate turning ymsg_upload_bimage into a g_idle_add. Looks
xxx     like a good candidate... At The Moment, have written a read_sock/write_sock
xxx	that will use non-blocking i/o and loop on gtk_events_pending()

67) gyvoice issues:

    1) upon startup, if the window dll files are not present then 
       gyachi should make note of that in the startup pane, and
       set a flag to disable gyvoice.

    2) gyvoice seg faults when the windows dll files are not present.
       The launcher should pop up a dialog to inform that dll's need
       to be installed.

    3) possible/probable bug. gyvoice. click on, then off, then on.
       the 2nd time, cannot connect to the audio. feels like the
       off is not freeing up the resource.

    4) should do run time check for the dll files in the common codec
       directories.

    5) need to update the wine support. Probably the best way is to make
       gyvoice a plugin that links against wine. That way gyachi does not
       have a wine dependency if you're not running gyvoice.

68) need to fix the encryprion icon in the "Select an Encryption Method"
    popup.

69) change the buzz icon to GTK_STOCK_DIALOG_WARNING
	- pm window
	- chat window when we receive a buzz
	- the popup when we're buzzed
	- the pm window when we're buzzed
	- the buddy panel right pop-up

xxx 70) on the login dialog panel, entering <RETURN> should
xxx     be the same as clicking on the [OK] button.

