summaryrefslogtreecommitdiff
path: root/TODO
blob: edc15389e975e1fa371b57d6639d42f913b67a88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
 *** sorry for the finnish items, they're just too many to translate and 
 *** I've kept writing them in finnish usually... They also don't always
 *** tell very well about the problem, just some note to myself that I'd
 *** remember myself..

 - /sb redraw doesn't do anything to non-format lines (should redraw 
   timestamp, etc.)
 - autorename query when msg is received from another nick in same host
 - /formatabstract & /formatreplace to update abstracts & replaces in themes
 - queries don't work properly in waiting channels .. because the server tag
   verifying fails, we should just create the query and give the server tag
   to it without checking if the server tag is really found at that time.
 - autologissa tulee ongelmia jos printataan targettiin ilman serveriä ..
   tapahtuu esim. "starting query with xxx" kun restoretaan ikkunoita
   jos query oli savetettu. sitten huono kun se ei katoa koskaan itsekseen..
 - perl:
   - joku tapa että perlilläkin voisi muuttaa kokonaan inputtiriviä
   - perliin: CHATNET_REC, MODULE_REC, THEME_REC, KEYINFO_REC,
     "complete word" signaali, haluaa GSList **:n .. tuon muuttaminen,
     listan alkuun tai loppuun kaman lisäys..

 - joku printnickmsg() jolla voisi printata nuo nickin vaihdot ja quitit
   ..ja killit skriptissä..
 - /bind -delete?
 - <tommik> hmm, I just did /notify nick, /unnotify nick, /notify nick OPN...
   and now /notify shows the nick in all networks I'm connected to -
   /notify -idle and you make /whois nick nick ei toimi
 - redirectiot sotkee jotenkin jos on notify idlessä xmunkki ja tekee
   /wii xmunkki .. kun se laittaa "event empty"yn channelit ja muut, ei
   realname/endofwhoisiä
 - jos serveri ei löydä mun dns:ää niin voi tulla i-linen puute.. irssi ei
   saisi lopettaa tossa kohtaa serveriin yhdistämistä... voisi jotenkin
   säätää että bannin tullessa jos on ircnet asetettu niin ei lopettaisi
   koskaan..
 - serveri jos asettaa +r:n niin siitä ei sen jälkeen pääse eroon millään
   muulla kuin /disconnectilla.. voisi pitää muistissa vaan itse annettuja
   modeja eikä niitä mitä serverillä oli disconnectin aikana.
 - se komentojuttu.. vois tehdä command_bind()iin suoraan parametrit ja optiot
   optioistakin vois pitää sen historyn jos core ja fe-common tms. on eri
   niin sitten fe-comon unloadattaessa tulis se coren takaisin voimaan.
   mutta kuitenkin se merge juttu olis kokoajan että olis nopea..
 - <fuchs> when i am called _` or just ] or { or something like that
   every incomming msg is hilighted :/
 - proxyyn tuki sille että kirjoittaa proxyssä msg:n niin clientitkin saa sen
 - moduuleilta vois ottaa automaagisesti pois unloadissa niiden settingsit 
   myös. ja otetaanko niiltä commandeja/signeeleja edes vielä?
 - valita jos yritetään käyttää disable-staticcia configuressa.

 - /mark .. ja automarkki että näkyy joku ------------ uuden tekstin kohdassa.
 - /server -ircnet EFNet -next to cycle to the next server (or /reconnect
   ircnet actually..).
 - laita se splittaamaan automaagisesti msg:t ja noticet
 - kommentit configgifilessä blockeissa bugaa. tee kunnon tarkistukset
   kaikkialle noita ja virheellisiä juttuja varten.
   is_node_list() uppercaseksi ja tee IS_NODE_BLOCK
 - silc käskyt gruuppiin

 - irc-nicklist.c: move nick change to core.
 - irc-queries.c:  - '' -

 - logausta vois tutkia vähän.. manuaalisesti ei voi nyt esim. logittaa
   joko efnetin tai ircnetin #irssiä.

 - --more-- tulee jotenkin splitikkunoihin vaikkei pitäisi.
   window show, window hiden jälkeen ehkä ..eivaan ton jälkeen rivit ei
   vaihdu enää vaan pitää itse pgdownia painaa ja shown jälkeen tuli
   joku outo tyhjiä rivejä vaan jotain corruptiota.. 2 ikkunaa oli vaan.

 - hilightit + window activityt koodi on ihan sekasotkua. privamsg hilightit
   vois tehdä pubmsg hilightien tyyliin
 - /notify -away ja -idlessä olis kiva jos nickissä voisi olla wildcardeja
 - completio vois hyppiä niiden -optioiden ohi. vois myös täydennellä
   erikseen option parametrejä? ja se conffattava completio.. alias completio
 - ignore -pattern:n arvo pitäisi näyttää
 - näytä /hilight:n ulostuksessa värit
 - autoignore korjaa.
 - /save -all, tallentais kaikki configin asetukset ja teeman koko teeman
 - haluis et teksti alkais ruudun alhaalta eikä ylhäältä
 - autoresume dcc autogetissä
 - dcc time left
 - dcc chatissa ei vaihdu nickki vaikka muualla vaihtuu.. oma ja toisen.
 - dcc filet välilyönneillä vois pelata
 - plugin.h API
 - fserver
 - settingssit moduuleittain omiin blokkeihin niin sitten vois valittaa
   tuntemattomista jos on typoja ja sellasta
 - pitäis pakottaa ircnet asettamaan setupserverissä .. ja jos poistaa
   ircnetin? "chat network xxx not found, assuming standard IRC network"..
 - editorimainen rivin editointimahdollisuus pitkille riveille :)
 - /window scroll off
 - vertically split windows
 - /set prompt $N etc.
 - try profiling the code with /cat filewith10000lines
 - when pasting text, irssi could notice it and ask 
   "pasting 30 lines of text, ok?"
 - wait 1 sec before sending the text, if arrow up key is pressed abort
   sending the text. also really remove the line from screen and maybe
   put some notice?

 - ircnetin nimen voisi napata sieltä /ircnet:stä .. että se case menee
   oikein. /server, /server list, /channel list, status ikkuna, [ircnet] ..
 - optio käyttää sitä VALKOISTA tai määrättyä väriä eikä "default" väriä

 - skriptejä:
   - nappula status window/takaisin hyppimiseen
   - xtermin titlen asettelija


*** New stuff in TODO, try to get rid of these :)

( - translate all those TODO items I have in finnish to english ;) )
 - /ignore -activity .. would ignore it just in window activity list,
   not hide the text.
 - autoignoring:
     - it shouldn't save them to config file
     - it could be merged with /ignore -time
 - /server <number> would connect to n'th server in list. show the numbers
   with /server list
 - when dcc chat is accepted and query exists from the same nick, replace
   the query window with the dcc chat window.
 - autoload specified modules. /load xx could also try to load fe-common/xx
   and fe-text/xx modules automatically.
 - all options that want time as argument, allow to use s|m|h|d, default to
   seconds. when sending reply to user, use the time formatting too, not
   just x seconds or minutes ..
 - /savewindows: save split windows, save window logs. window log names
   should be moved to WINDOW_REC...
 - automatically add queried nicks to notify list temporarily .. display
   the notifys for the nick in the query window
 - Some problems with idle notify lists, "cras [IRCNet] [@] [] just stopped
   idling" was print to screen with some NULL arguments in text..

 - /BIND: key definitions should be changed to be more epic-like.. :
     /bind ^[ key meta, /bind meta-O key meta2, /bind meta-[ key meta2
     /bind meta2-c echo Ctrl-Left pressed
   and maybe
     /bind meta2-C key left, /bind meta-left echo meta-left pressed
 - automatically switch to status window when using commands that always
   print their output to status window, like /whois.
 - automatic whowas if whois wasn't found should be moved to fe-common.
   it could also print something like "nick $0 not in IRC, but this user
   WAS in IRC:"
 - Add command for changing automatic replaces (/replace)
 - bash-style (or whatever it shoulda be called) tab-completion
 - /last 05032 ... didn't really do what I wanted :) maybe I should change
   the syntax to have -max parameter instead?
 - commands to move channels and servers in the config list, to set the
   join/connect order of them.
 - statusbar:
     - you can't configure it in any way!
     - move it to fe-common, make some "statusbar" signal .. maybe
       statusbar items could be printed with printformat() and statusbar
       would be just another small window? .. or maybe not exactly, but
       something like that :)
     - when starting to run out of space some items could be made smaller,
       activity for example .. make some generic flag for items to use.
     - add user counts (ops/voices/normal/total)
 - themes:
    - document the different formats briefly :)
 - Make /SET HOLD_MODE
 - /CAT should pause on every screenful of text, this should be some kind of
   printtext_multiline_paused() function which would use some callback to
   ask for new text.
 - /msg =dcc_chatti,#kanava doesn't work - fix it somehow that also different
   chat plugins could use the same /msg command. /CTCP too.
 - /NOTIFY -once - notify only once when the user comes to IRC, forget this
   after it.
 - /NOTIFY -comment xxx - add a comment to notify. print the comment when
   user comes to irc.
 - "Should we check people in notify list when you're away" option
 - Implement /EXEC (steal all options from epic, make shell window somehow
   with query), /ON and /TIMER commands
 - All those options to /WHO and /LIST commands that EPIC has
 - /SCROLLBACK FIND ?
 - nick/channel lists at right side of the text version of irssi. Ctrl-N
   for example could hide/show them. add mouse support for it.
 - /password command that asks you to type the password to entry line and
   would hide it with asterisks, good if people spy on you :)
 - CTCP #channel HISTORY # - give # last lines of history from channel

*** Bugs

 - netsplits don't work right if quits/joins happen fast multiple times..
   maybe some other bugs too
 - still some problems in detecting floods right? not sure, couldn't
   reproduce the problem again..
 - match_wildcards(), mask="*a?c*", data="abdabc"
 - multiple dcc connections from different irc networks from same nick
   doesn't work. Maybe create "server nick" and "refer nick" variables to
   DCC_REC?

*** GTK UI

 - %| doesn't work with irssi text widget
 - some problems when using multiple windows with focus being all the time in
   one of the windows and it can't be changed to different window?! Probably
   has something to do with click to focus.
 - split windows are buggy, destroying them doesn't really work well..
 - mirc ctcp togglemenuitem isn't updated right

*** Big things

 - some sort of address book? our own irssi ctcp to ask for other irssi users
   for their information (of course not without asking (except optionally))..
   could be nice also to automatically update it, keep track of all seen
   users gathered when joining channels, whois, who, etc. commands.
   automatically updating information could be host masks, nicks, ips, seen in
   channels, operator in channels, .. user specified checks like last topic or
   mode changes or even msgs to you/some channel/with some keyword. great for
   spying people ;) maybe even useful sometimes..

   .. but what database would be best for this?

 - GTK (non-GNOME) version: icons to toolbars, accelerators to menus
 - Windows style MDI windows are possible with GtkFixed .. Some people would
   like this.. too much job for me, it would need building the MDI windows
   ourself (title bar, borders, resizing, etc.)

 - online help, documentation, ...
 - plugins:
     - scheme, tcl, python scripting? eggdrop/epic compatible scripting?
     - IRC bot, eggdrop is too old, needs a replacement ;) (started)
     - DCC file server, I'm not too excited about this, maybe someone else
       wants to do it..
     - Multiplayer games! :) Chess, tic-tac-toe, othello, battleship, tetris,
       etc. Existing games should probably be used .. though there doesn't
       seem to be any of these (except tetris) for gnome right now..
     - audio / video chat :)

*** Needs rethinking ..

 * Notify list GUI
 - _one_ popup dialog could open which lists all nicks in notifylist, maybe
   sorted by arrival time, display the dates, latest joined could be with
   different color? etc.
 - nick-specific options:
    - pop up the dialog
    - run some command (like /exec as soon as I get that done :)

 * common api for statusbar handling
 - it should work just as well in text mode and gui, colors could be done
   with the normal % formats. GUI just ignores the colors..
 - display number of ops, voices, normals and ircops in statusbar

 * API for creating/modifying menus and toolbar, especially from plugins
 - at least one configurable menu ("usermenu"), or maybe make the whole
   menubar user configurable


*** Stuff to do

 - you could configure which events (whois, notify, etc.) to show in what
   windows (all, current, status, msgs)
 - autoaway when idling
 - implement requesting files with DCC GET from remote client for dcc file
   servers. good for people behind firewalls.
 - /CLONES command (with script)
 - {}|~ are same as []\^ (not in all irc networks) - does this really affect
   irssi at all..?

*** ..in GTK UI

 - itext:
     - save/find text
     - text selection draws the entire selection every time you move the
       mouse...
     - if some other window has got much text, switching to it first time
       takes some time..?
 - editor in setup for ~/.irssi/startup
 - dcc floods could pop up lots of dialogs..
 - gui help
 - change signal handling in gui-gnome so that the actual drawing and
   functionality are in different signals, so that plugin could change the
   whole look and feel of irssi.
 - currently irssi sends USERHOST commands every now and then to find out
   who are away and who are not.. optionally it could instead just watch if
   someone hasn't written anything to channel in n minutes and mark it "away"
   to nicklist.
 - check new irssi versions with http rather than with irssibot..
 - gnome statubar:
    - clock?
    - dcc transfer meter (gtk progressbar)
 - dcc send: allow selection of multiple files to send (also for dnd from
   gmc!) Allow dropping files to anywhere in irssi.