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

xxx 2) notebook - need show / hide

xxx 3) clicking on tabs to select tab

xxx 4) drag & drop tabs

xxx 5) deleting last tab

xxx 6) color tabs on incoming PM

xxx 7) tab label to include icon
xxx 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:
xxx
xxx	Click on "Online" to only display the online buddies
xxx	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.

xxx 26) control PageUp/Down 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.


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

xxx 35) as cleanup. add 3rd arg to set_tooltip().
xxx     0 --> use common tooltip_group
xxx     1 --> use private tooltip_group (and store in widget).
xxx 
xxx     also, update: setupwindow2.c, util.c, yahoophshare.c to use common set_tooltip
xxx     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' **]

xxx 41) SEGMENT FAULT - REPRODUCEABLE
xxx 
xxx 	- share photo album
xxx 	- click [ close ]
xxx 	*crash*
xxx 
xxx 		(gyachi:31830): GLib-GObject-WARNING **: invalid unclassed
xxx 		pointer in cast to `GtkWidget'
xxx 		Segmentation fault (core dumped)
xxx 
xxx 	(crash 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.

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

xxx 54) It would be good to make the 3 or 4 optional plugin's Configurable.
xxx     i.e. --disable then in Configure would disable then in the respective
xxx     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)

xxx 56) For file transfers, consider a "download manager", a. la. firefox or
xxx     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

xxx 58) file transfers: receiving a file does not check for overwritting existing
xxx     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!

xxx 61) when you log out, and did not properly leave the chat
xxx     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:

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

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

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

xxx    4) should do run time check for the dll files in the common codec
xxx       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.

xxx 68) need to fix the encryprion icon in the "Select an Encryption Method"
xxx     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.

71) should change my_system() to do a fork/execvp(). Need to change
    the call to my_system to include an array of argv[]'s. Probably
    need a 2nd callable routine to freeup (and possibly allocate) that
    argv[] array... (This will fix all references to filenames that
    contain spaces...)

xxx 72) Set the pm notebook icon to be the miniturized buddy image.

73) bug: if you change the buddy image, e.g. in pidgin, or in one
    linux account, and then use another linux account to access
    yahoo, gyachi does not see the previously uploaded image.

xxx 74) need more testing on libnotify to see if it leaks memory or not.

xxx 75) seven new smileys   
xxx     http://www.helpbytes.co.uk/smileys.php 
xxx     at the bottom, in yahoo messenger 9 

xxx 76) look at sound issue. When gyachi is running, other sound programs will
xxx     hang/delay until gyachi exits.
xxx
xxx     added pulseaudio plugin.

xxx 77) look at why gyachi cannot enter the voice chat rooms.

78) better support of sound & video devices a.la. skype/xmms
xxx     pull down selectors for voice devices
xxx 	with support for various, e.g. alsa, esd, etc.
      pull down selectors for video devices

xxx 79) change all GtkCombo to GtkComboBox
xxx 	GtkCombo has been deprecated in favor of GtkComboBox

80) fix the pm icon to be a status icon.
    means that we have to save off the user's status when they log on
    and/or change status, and then reference that when we update the
    buddy list.

xxx 81) cleanup's
xxx     - make common use of new socket connect code
xxx     - make common use of new ymsg_field_pair code

xxx 82) Check about caching the "partnerid" from the ssl login, and
xxx     using it for the next login (if same username/id).

83) spellchecker...

xxx 84) make popup attachment to systray a setup option.

xxx 85) Have as file download manager, an expand panel in the pm window. a la
xxx     gedit (edit a file in gedit, and change it outside of gedit while
xxx     still in gedit).

xxx 86) apparently there used to be a edit field for selecting a voice server.
xxx 
xxx 	Yes there was an option in the Pyvoice and in the
xxx 	first fork you guys made check the differences in the
xxx 	cvs code of /gyachi/gyvoice/interface.c revision 1.1
xxx 	and revision 1.5 you'll see the deleted lines of the
xxx 	menu options.
xxx 
xxx 	Well the way it worked before it was like a default
xxx 	voice server but if you had problems you just selected
xxx 	it from the menu drop-down list and click conect I
xxx 	remember there were like 8 server (not sure tho long
xxx 	time I haven't used that) but if you gimme a lil time
xxx 	I'll look how many voice servers there is. Heres a
xxx 	screenshot of the old dropdown menu 
xxx 
xxx 	http://www.phrozensmoke.com/projects/pyvoicechat/pyvoice3.png
xxx 
xxx     need to add this back in.

87) Need to look at saving/restoring the buddy list position when
    the buddy list is refreshed, so that, e.g. when the buddy list refreshes,
    it doesn't scroll back to the top of the list.

    Might want to make this a configurable setup option, so that those
    who want the old behaviour can still have it.

xxx 88) need to investigate crash on startup, when there is no default gyachirc
xxx     file...

xxx 89) Add setup option tick box to "not auto open the d/l manager"

xxx 90) During Photosharing as well as file transfer (sender side), file open dialog could
xxx     show some more info like size of the file etc and may be allow sorting on fields.
xxx
xxx     *NOT POSSIBLE* GtkFIleChooser is what it is. Cannot add new columns.

xxx 91) During photosharing if we use right mouse button on a thumbnail, it
xxx     should open up tool menu (remove/save is useful).

92) If we change window size, photos being shown does not automatically get
    enlarged/shrink to the new window size

xxx 93) YM has a pointer facility for photo to point out to some portion of the
xxx     image - useful for discussions

xxx 94) For UI consistency, should replace file selector with gtk_file_chooser
xxx     in file transfer, for selecting file to send.

xxx 95) perhaps replace the voice chat button on the pm window for a photos
xxx     button.

xxx 96) Found a bug in photosharing - does not work when file name contains a
xxx     space.

xxx 97) cancel of a transfer needs to clean up the .yahoo/gyachi/photo
xxx     directory...

98) check out possible of a retry if a file d/l attempt fails.

xxx 99) when one inititiates a photoshare session, it would be nice to append a
xxx     text in the pm window text area , like "Sending photo session invitation"
xxx     before the other side accepts the invitation. 

100) check to see if there is a protocol sent by YM on a file transfer cancel.

101) Gyachi crashed when I was chatting with an user and clicked on the "view
     profile button"

xxx 102) when redrawing a photo, see about auto-scrolling to where the scrollbars
xxx      previously were.

103) when file transfers are initiated, and before started, display a message
     to the pm window about "initiating file transfer" or something...

104) consider DnD for file transfers...

105) separate the pm_tux icon into two icons? because currently its been used
     as a tux-environemnt icon and also as the main icon. if a themer would like to
     use a custume tux-environment icon it will also become gyachi's main icon in
     the systray, hope you could separate it, just duplicate the icon with
     different names. 

xxx 106) full screen on a pic that is not big will go to the left side, instead of
xxx      centered.

xxx 107) Main UI: 1) setup option to remember last selected tab or not.
xxx      2) drag/drop tabs ? might not be possible. There are places in the code
xxx      that expect certain panels to be at certain tab positions.

108) a setup option to select the buddy image instead of the avatar for the
     buddy list. -- need to see where else the avatar is used, if at all.
     --> should see what ym uses in the buddy list also.

     also, the tool tip on the buddy item in the buddy list could be the
     buddy's buddy image...

109) extend the plugin architechure, to allow for arbitrary plugins.

xxx 110) doneload manager keeps showing itself even when i close it after a
xxx      photosharing session and a new chat window opens in a new tab (from
xxx      another user) and i click on the tab where the photosharing had
xxx      happened earlier.
xxx 
xxx      Steps to reproduce:
xxx      1)Open a chat window and start photosharing, share a photo and then close it
xxx      (after the file has been transferred successfully) and also gyachi download
xxx      manager.
xxx      2)Open a new chat window with another user (tabbed)
xxx      3)Click on the first chat window and the gyachi download manager reappears.  

xxx 111) webcam invite uses the buddy list as the parent, *not* the pm window...

xxx 112) something about a 2nd login doesn't notify the 1st one ?

xxx 113) yahoophshare.c -- change all gtk_widget_set_tooltip_text() to set_tooltip()
xxx      util.c -- set_tooltip() conditionalize to use old style tool tip, or new
xxx      style, based upon new HAS_GTK_WIDGET_TOOLTIP conditional set at configure time.
xxx      configure -- set HAS_GTK_WIDGET_TOOLTIP based upon 2.12 or lower/higher.

114) put the upload/download of the buddy image into a g_idle() loop...

115) convert all the audible files to something that the sound system can play
     and then purge gyachi of the mp3 player...

116) if a status message like busy is
     set, then you clicked on the the "Here" status, the busy status isn't changed.
     from what i tried, display image can't be seen by pidgin, YM, ebuddy, ...
     (every
     client i tried)

117) Each friend display pic is saved into gyachi/bimages which is nice on its
     own, but doesn't allow you to keep track of each image. 
 
     It would be very cool if when I open a message window with a friend (doesn't
     matter if offline or not) it had an option in the menu button to "see display
     pics". By clicking there a window (resizable and with scrollbars) would show
     up where every display pic she ever had is shown. 

Using the same logic, what would be the purpose of saving all display pics in
the bimages dir? Not even knowing to which user they belong (lets keep in mind
that not all pics are face pics; e.g. funny pics) :p

Another purpose would be that when yahoo returns an error when fetching the
current display pic (*), one could see their (previous) display pics.
Or when someone is using something different than their face, one could always
"remember" the person by looking at past display pics (assuming they had face
pics in the past).

(*) sometimes when I open an IM window for a friend yahoo returns me an error
and I never get to see that persons display pic, so I believe this is the case
here.

xxx 118) webcam invites in yahoo b9 ? Check if they still work...

xxx 119) See if we can cache captcha on a pre-room bais.

xxx 120) From 1.1.35, the chat_window size minimum is locked at chat_window_width
xxx      & chat_window_height. This needs to be corrected...

121) look at auto-rejoin chat rooms after 2 hrs 45 minutes...

122) Need to merge the cam-upload back into gyachi-main. reason. The upload
     REALLY needs to be able to communicate w/ yahoo re: when it is
     online (broadcasting), and when it is not. This cannot be done with
     the current setup.

123) look at "auto-away" -- seems to always be on auto-away. is this how it
     is supposed to be ? and then away when actually away ?


124) https://sourceforge.net/forum/message.php?msg_id=5125616
     convert the status icon code to GtkStatusIcon

