[gaim-migrate @ 2942]
[pidgin-git.git] / TODO
blobb2b9437ac49947fd6751d8b3870e82b4a6049171
1 THE CORE:
2         GPG Encryption of messages
3         Have plugin_event use varargs instead of void*
4         Separate core functions from UI stuff.
5                 about.c, applet.[ch], away.c, browser.c, buddy.c, conversation.c,
6                 convo.h, dialogs.c, gtk*, plugins.c, prefs.c, prpl.c, sound.c,
7                 ticker.c, ui.h
8                         little to no work (mostly GTK)
10                 core.[ch], html.c, list.c, module.c, multi.h, proxy.[ch], perl.c,
11                 prpl.h, util.c
12                         little to no work (mostly CORE)
14                 buddy_chat.c, gaim.h, idle.c, multi.c, server.c
15                         standard splitting (for idleness, core needs to be in
16                         charge of gaim-use idleness)
18                 aim.c - need to redo main() completely
19                         - current main should be moved mostly to core
20                         - GTK main should connect to core
21                 gaimrc.c - Need to figure out how to save UI preferences
23                 Ideally at the end of this the prpls should only need to include
24                 prpl.h and they'll get everything they need without anything
25                 *cough*GTK*cough* that they don't.
27         Need to write the core side of the core-ui protocol
28         Non-blocking gethostbyname()
29         Cancelable proxy_connect
31 ----
32 THE PROTOCOLS:
34 TOC:
35         Other RVOUS Actions
37 Oscar:
38         File Transfer
39         Other RVOUS Actions
41 Yahoo:
42         Chat
43         File Transfer
45 ICQ:
46         Chat
47         File Transfer
48         New User Registration
50 MSN:
51         Need some way of indicating "invite" in IM window
52         File Transfer
54 IRC:
55         /whois, /ban, /kickban, /list, /names
56         DCC
57         CTCP
59 Jabber:
60         Jabber Transports (having them show up on the buddy list should be
61                 fairly easy; having an appropriate right-click menu for
62                 them should also be somewhat easy. Providing a UI for adding
63                 transports should be rather difficult.)
64         Rework how subscriptions are handled
65         Browsing
66         New User Registration
68 Napster:
69         File Transfer
70         New User Registration
72 Zephyr:
73         God help us.
75 Gadu-Gadu:
76         New User Registration
77         There's probably 100 other things but since I've hardly used the Windows
78                 client before I'm not sure what any of them are
80 ----
81 THE UIS:
83 GTK:
84         Transparency for GtkIMHtml
85         Rewrite the HTML parser in GtkIMHtml
86         Moving GTK/GDK and related things out of the prpls
87                 TOC: file transfer (move into the core)
88         Status labels in buddy list (mostly just for yahoo/msn)
89         Better way of showing away state - and possibly in main window
90         Away needs to be modified to include "show" and "status", i.e. you can have
91                 an away state, and an away message. This is exactly what ICQ does -
92                 you're "N/A" (show in Jabber) and your away message is "I'm gone."
93                 (status in Jabber). Since it only applies to ICQ and Jabber (and
94                 actually, currently only Jabber, since icqlib doesn't handle away
95                 messages yet), there should be some way of indicating that it can
96                 do both without breaking the others. My suggestion is to put "/" at
97                 the end of the "state", and when that's there, have it be a menu with
98                 all of the custom messages, e.g. in Jabber it'd return "Away/" as one
99                 of the states, and you'd see "Away" with a menu of all the away
100                 messages you have.
102         Need to write the ui side of the core-ui protocol
104         Syd is cool and gave all of these ideas:
105                 Have multiple tickers in the same window, one for buddies
106                         like it is now, one for who just came online/offline
107                         (scrolled faster possibly because that doesn't
108                         happen very often), etc.
109                 Have tooltips on the passing buddies on the ticker
110                 Have a stock ticker (a plugin could easily make use of
111                         GtkTicker)
113         Buddy Icons need to be converted to use new gdk-pixbuf (GTK2)
116 Then, of course, are all the Bugs that need to be fixed
117         http://sourceforge.net/tracker/?atid=100235&group_id=235&func=broswe
118 and the Feature Requests. SourceForge should really allow users
119 to vote on feature requests and bugs.....
120         http://sourceforge.net/tracker/?atid=350235&group_id=235&func=browse