]>
Commit | Line | Data |
---|---|---|
da1f993e EG |
1 | 19:36 [IRCNet] [muzzy] more bugs in irssi, apparently the new version: foo splits out, |
2 | bar joins, bar changes his nick to foo, foo splits again -> | |
3 | Glib warning "is already in split list (how?)" .. :) | |
4 | 22:51 [IRCNet] [zhafte] irssi bugs if you put ACT to the right, or maybe it is my terminal? | |
5 | 22:52 [IRCNet] [zhafte] the numbers tend to go on top of eachother | |
d4c46337 | 6 | |
74cdeb0a TS |
7 | 02:46 <@fuchs> cras, /server foonet.foo.xy and (recognizing it doesn't connect |
8 | fast enough), and so doing /server barnet.foo.xy (both in the | |
9 | same chatnet) makes irssi joining the net but not rejoining the | |
10 | channels | |
11 | ||
12 | ||
74cdeb0a TS |
13 | 21:55 <@L> 17:04.11 <L> /eval /last quit;/clear;/sb goto 10:00;/last -clear;/sb end |
14 | 21:55 <@L> 17:04.27 <L> wait after it scrolls and press page up :) | |
15 | 21:55 <@L> 17:04.48 <L> oh, you can make Irssi behave correctly with /clear | |
16 | again | |
17 | ||
be82733a TS |
18 | 20:45 < Juerd> 19:44 -!- Irssi: critical file channels.c: line 122 |
19 | (channel_find): assertion | |
20 | 20:45 < Juerd> `name != NULL' failed. | |
be82733a TS |
21 | 20:45 < Juerd> this happens three times |
22 | 20:46 < Juerd> and it happens in a _query_ | |
23 | 20:47 <@Juerd> cras: for some reason irssi doesn't know this happens in a | |
24 | query, and displays "< Juerd:> foo" in the status window | |
be82733a TS |
25 | 04.06.2002 08:54 #irssi: <@Garion> cras: i've seen it several times now - a |
26 | line of 79 or 80 chars (my win is 80 wide) | |
27 | which has an empty line below it, and that | |
28 | line is not refreshed when I switch to the | |
29 | window with that line in it, thus keeping 1 | |
30 | line from the old window in the current | |
31 | window. Very confusing | |
be82733a | 32 | |
dd05ac73 TS |
33 | 16:39 <@Qrczak> cras: I'm not sure how exactly to reproduce it but it happens |
34 | often. When I jump to the window with a query using Alt-a | |
35 | (after the other person said something), and close the window | |
36 | (being brought to the last used window), and don't switch | |
37 | windows, and then that person says something again, I'm brought | |
38 | to the new query window automatically (that's of course bad). | |
39 | ||
23459ac9 EG |
40 | - import libsoup GnuTLS driver |
41 | http://svn.gnome.org/viewvc/libsoup/trunk/libsoup/soup-gnutls.c?view=log | |
d42073c5 EG |
42 | - lastlog, ignore, hilight and sb levelclear take a list of levels |
43 | argument in different ways, a uniform way would be better. | |
da1f993e EG |
44 | - /exec - -out cat file does not send the whole file |
45 | - %n%_ won't show at lastlog.. | |
46 | - use_status_window, use_msgs_window should work instantly.. | |
da1f993e EG |
47 | - /set show_server_tags or something to always show (combine with hide_server_tagsin ?).. |
48 | - /SBAR topic placement bottom won't work??.. | |
49 | - /op * complaining could be better than "not a good idea".. | |
50 | - how did tab completion complete your own nick..? | |
da1f993e EG |
51 | - /win hide could work even though there are sticky things in that window.. |
52 | - /window server -sticky windows doesn't always realize when a server connects?.. | |
53 | - tab completion doesn't work properly if I add utf8 things?.. | |
54 | - utf8-texts tend to bug in statusbar (prompt).. | |
55 | - if /set reuse_unused_windows off, and the window seems to be empty, | |
56 | and there would be only one of them it could still be used (?).. | |
1bde26eb | 57 | - /foreach server /disconnect $tag n8 does not work |
1bde26eb EG |
58 | - /whowas server nick does not work |
59 | - /msg nick@server or nick%host is fully treated as nickname (log, query) | |
60 | - max_whois won't stay with reconnects? | |
61 | - separate format for privmsg/notice massmessages (anything non-yournick) | |
62 | - set TOS field for all connections (DCC especially) | |
63 | - "show statusbar in empty windows" flag? | |
64 | - statusbar_item_redraw() should just set the size as dirty and calculate | |
65 | it only when really needed. | |
66 | - possible to cache sbar_item->size when nothing else has changed in sbar? | |
67 | ie. mostly when redrawing. | |
68 | - /msg @#chan<tab> | |
dd05ac73 | 69 | - /SB GOTO -<days> <ts> |
1bde26eb EG |
70 | - /query -immortal so autoclose_query wouldn't touch them |
71 | - autoclose_query is also closing (and finishing) dcc chats (bug #59 ?) | |
dd05ac73 TS |
72 | - write about %[-s] etc. to default.theme |
73 | - away handling is a bit buggy. you do /away;/away reason, irssi remembers | |
74 | the away reason only until it receives "you're no longer away" from the | |
75 | first command.. setting it back to away has then lost the reason. | |
dd05ac73 | 76 | - nick_ nick- _nick nick2 nick3 ... |
dd05ac73 | 77 | - /SAVE -all? |
54e184dc TS |
78 | - /STATUSBAR xx ENABLE|DISABLE recreates all statusbars which is a bit |
79 | annoying because some scripts want to do it and input line is cleared | |
80 | because of this.. | |
54e184dc TS |
81 | - /SET disconnect_timeout - default 2min, 0 = immediately |
82 | - reconnecting messages are a bit confusing. it prints "removed reconnection" | |
83 | to the server which it's connecting to next.. maybe the whole reconnecting | |
84 | thing should work so that the record stays there until it's connected | |
85 | successfully. | |
1bde26eb EG |
86 | - /set beep_msg_level hilight won't work if I have /hilight -word |
87 | - /hilight -priority is broken | |
1bde26eb | 88 | - move /SET hilight_*color to theme |
54e184dc TS |
89 | - /ignore, /hilight and /lastlog could complain immediately if used |
90 | regexp is broken. /hilight list could show also if it's broken like | |
91 | /ignore does. | |
92 | ||
7bdd3beb TS |
93 | - /UPGRADE: |
94 | - support DCCs | |
7bdd3beb TS |
95 | - rewrite to work by fork()ing a new process and transfer file handles |
96 | with unix sockets. this would allow the scrollback buffers to be | |
97 | transferred with them as well. | |
98 | - current window layout needs to transferred | |
99 | - reconnections aren't transferred(?) | |
100 | ||
101 | - Logging: | |
7bdd3beb TS |
102 | - /LOG OPEN -targets *!*cras@*.fi |
103 | - /SET autolog -> /LOG OPEN -targets * (internally, at least) | |
104 | - /LOG OPEN shouldn't really open the file until first line is | |
105 | written in it | |
7bdd3beb TS |
106 | - autoclosing logs doesn't work too well. Problems are: |
107 | - after certain inactivity private message logs should be closed | |
108 | - but DCC chats shouldn't be closed until the chat itself is closed | |
109 | - which we can't know really currently, since they don't need | |
110 | to be in queries | |
74cdeb0a | 111 | - channels should be closed when they're left (they are now, but) |
7bdd3beb TS |
112 | - /WINDOW CLOSE shouldn't close it immediately, since we'll still |
113 | receive at least the PART message | |
114 | - so, log items should know more about what they are exactly, and when | |
115 | they should be closed. private messages could have the same timeout | |
116 | as now, time_t closetime field updated every time msg is received. | |
117 | channels could do the same when receiving "window item destroy" signal, | |
118 | except with a small timeout. DCC chats are more problematic... | |
119 | - support for mirc/ansi color logging | |
120 | - people want to show ignored stuff in logs.. how? | |
121 | - private messages could show mirc-style "Session Ident: nick (host)" | |
122 | which would update when nick's host changes. Then you wouldn't need to | |
123 | print the host before each msg. | |
bd5f40a1 | 124 | - support for logging channel messages from specific people |
7bdd3beb TS |
125 | |
126 | - Awaylogs: | |
127 | - either fully support logging only in servers you're away, or change the | |
128 | awaylog to open immediately after /AWAY command, not based on any | |
129 | away replies from server. Maybe the later would be better, since you | |
130 | would want to set yourself away when connections to all servers were | |
131 | disconnected at the time.. Maybe /AWAY should update status in | |
132 | reconnection records as well?.. | |
133 | - /SET awaylog_auto_delete, after setting yourself unaway | |
134 | - support for using strftime() formats (and $tag etc). only problem with | |
135 | this is that all the different awaylogs would need to be tracked and | |
136 | /CATed when setting yourself unaway | |
dd05ac73 TS |
137 | - /AWAYLOG could show the current awaylog and optionally reset it |
138 | - The channel name should be optional there | |
d42073c5 | 139 | - after /upgrade when being away the awaylog is not being written to. |
7bdd3beb TS |
140 | |
141 | - Window item placing: | |
142 | - !channel vs. !12345channel. it's layout saved with full name, but joined | |
143 | with either one | |
144 | - when dcc chat is accepted and query exists from the same nick, replace | |
145 | the query window with the dcc chat window. | |
bd5f40a1 TS |
146 | - closed DCC chats should add temporary window bind to the dcc chat so |
147 | future chats for same nick would use the same window | |
7bdd3beb TS |
148 | |
149 | - DCC | |
150 | - /DCC SEND wildcard support | |
151 | - /DCC GET -4 / -6 with autodetection | |
152 | - When we receive a DCC SEND request, irssi could warn if the file | |
153 | already exists | |
154 | - show estimated time left and kB/s in /DCC list. | |
155 | - implement requesting files with DCC GET from remote client for dcc file | |
156 | servers. good for people behind firewalls. Does this feature exist | |
157 | in other clients, or should I create DCC REQUEST? Same for DCC CHAT.. | |
158 | Maybe it could be just that the port was specified as 0, so the other | |
159 | side would know that it needs to be the one to do listening. | |
160 | - /SET dcc_autoresume ON, and sending the same file again while it's | |
161 | already being downloaded doesn't work too well.. Even autorename doesn't | |
162 | work. | |
163 | - With fast DCC SENDs (90kB/s, FreeBSD) typing get laggy (really?) | |
164 | - /DCC CLOSE #, /DCC would print the IDs | |
bd5f40a1 TS |
165 | - /SET dcc_use_proxy to use IRC proxy for DCC connects as well |
166 | - support for special vars in /SET dcc_download_path, so $N could be used | |
be82733a TS |
167 | - No way to autoclose dcc chat windows which have been closed by another |
168 | side. | |
7bdd3beb TS |
169 | |
170 | - Generic chat commands: | |
171 | - /MSG /CTCP /ACTION =dcc_chat,#channel | |
172 | - /ACTION -ircnet with good tab support like in /MSG | |
173 | - -nick -channel parameters to /ACTION | |
174 | - /MSG a,b,#c,#d - it should print the message to #c and #d channel | |
175 | windows and show only "a,b" as target when printing it to msg window.. | |
176 | Or if autoquery is set, it should print them to those windows. Hmm. | |
177 | maybe some multipeople query support? :) /query nick1,nick2 and sending | |
178 | text there would send it to both. Seems to work already but receiving | |
179 | messages from either nick1 or nick2 don't go to that window.. | |
bd5f40a1 | 180 | - /BAN: setting of what netmask to use for banning with IPv6 addresses |
7bdd3beb TS |
181 | |
182 | - Netsplits | |
183 | - BUG: said "+1 more", while the /SETs to control that were set properly, | |
184 | with one guy it only said that +1 more.. | |
185 | - BUG: netsplit quit isn't printed if quit -> join -> quit -> join | |
186 | happens fast (really?) | |
187 | - maybe the "+x more" should be configured in theme file instead in | |
188 | future with the embedded scripting.. At least I'd want to print all | |
189 | the splitted nicks in log files. | |
190 | - per-window listing of splitted servers, it looks very stupid when | |
191 | you see 4 lines of servers splitting in each window but only a few | |
192 | nicks after them. | |
193 | - per-window listing of splitted nicks, so the split messages isn't shown | |
194 | multiple times for each channel with possibly same nicks | |
195 | - /NETSPLIT <server>|<#channel>|<nick wildcard> | |
196 | - SERVERMODE +ov nick nick is shown instead of just Netjoin @nick because | |
197 | code is stupid. fixed in irssi-rewrite.. | |
bd5f40a1 | 198 | - show in query windows |
7bdd3beb TS |
199 | |
200 | - Crashes: | |
7bdd3beb | 201 | - <dg> i've managed to reproduce the bug, if i make three split windows (/window show 3..5), then set the windows to not be sticky and go to one of the windows, then alt+number to another window then go back the other window the display prints two windows in the same window |
006add08 EG |
202 | - the old irssi's /upgrades to the new, before it changed to /set autolog_path |
203 | $1 and crashed?.. | |
204 | - active_mainwin was somehow NULL and crashed.. /window kill did it, | |
205 | probably something to do with window_close() switching to the same | |
206 | hidden window inside the split window, which I was about to kill | |
207 | anyways because it wasn't sticky.. | |
7bdd3beb TS |
208 | |
209 | - Scripts: | |
210 | - print whois in active window | |
211 | - some script to handle ctcp floods, like doing /IGNORE * CTCPS when it | |
212 | happens. | |
213 | - move into scripts: | |
214 | - /SET timestamp_timeout | |
006add08 | 215 | - /MSG completion list should be modifiable from scripts |
7bdd3beb TS |
216 | - script to remove nick from list after /IGNORE nick |
217 | - nick completion list should be modifyable afterwards: | |
218 | - /SET completion_nicks_lowercase (remove from irssi) | |
219 | - /SET completion_nicks_capitalize | |
220 | - /SET completion_nicks_strip (keep only alphanumeric chars) | |
221 | - irchat-like JOIN/PART/QUIT combiner (QUIT: nick1, nick2, nick3), would | |
222 | require the line replacing work properly which it doesn't.. | |
223 | ||
224 | - Irssi proxy: | |
225 | - doesn't propagate your own nickchanges to other clients | |
dd05ac73 TS |
226 | - list sessions, kill them |
227 | - /set irssi_proxy_ips <allow connections only from specified IPs> | |
7bdd3beb TS |
228 | |
229 | - Misc IRC related things: | |
230 | - support for mode +q in dancer - also same as +b %xxx modes.. | |
7bdd3beb TS |
231 | - /BAN -ip, -time [<time>] (/ALIAS knockout?) |
232 | - /KICKBAN to support same options than /BAN (would /ALIAS kickban work?) | |
233 | - ban list prints "x seconds ago" .. should be x days, mins, hours, .. | |
234 | ||
bd5f40a1 | 235 | - Windows: |
3c2347b1 | 236 | - /WINDOW SIZE -sticky, so f.e. /WINDOW BALANCE wouldn't affect it. |
3c2347b1 TS |
237 | - Check that /LAYOUT SAVE works properly with all the different /SETs, |
238 | like reuse_unsued_windows, windows_auto_renumber and autoclose_windows. | |
239 | What should it do if some channel is /PARTed with autoclose_windows | |
240 | set?.. | |
7bdd3beb TS |
241 | - /LAYOUT SAVE should ask if we want to save those window items that |
242 | are "bound sticky" but of which server is currently not connected. | |
3c2347b1 TS |
243 | - /WINDOW scrollback_lines /WINDOW scrollback_hours |
244 | - Optionally always start the lines from bottom of the screen when | |
245 | screen is empty (how would scrolling work?) | |
3c2347b1 | 246 | - Vertically split windows |
bd5f40a1 TS |
247 | - /SET use_msgs_window and /SET use_status_window should take effect |
248 | immediately | |
249 | - /WINDOW notify_level - would specify what window activity will be | |
250 | shown for the window | |
251 | - Some sort of autobalancing for split windows after terminal resize, | |
252 | maybe with window-specific options that "this window is n lines", | |
253 | "this is at least n% of available space", etc. | |
3c2347b1 TS |
254 | |
255 | - Keyboard handling: | |
3c2347b1 TS |
256 | - Some kind of state support for it, so it would be possible to make |
257 | support for vi keys easily. | |
258 | - Editor-like (or bash-like) line editor - it would wrap to next line | |
259 | instead of scrolling. | |
5b41c7f7 EG |
260 | - When pasting text, irssi could send some signal that sends the pasted |
261 | lines in GList which signal handlers could modify. | |
3c2347b1 TS |
262 | - Already existing / at start of line handler should use this |
263 | - Automatically remove empty space at the start/end of lines, | |
264 | from start of line it would work so that if each line begins with | |
265 | 4 spaces but some more, it would only remove those 4 spaces from | |
266 | each so pasting code wouldn't mess up indents etc. | |
267 | - Skip all autoreplaces and completions, so that f.e. tabs are | |
bd5f40a1 | 268 | printed as-is (a few /BINDs would do this but...) |
3c2347b1 | 269 | - Should empty lines be pasted too? Maybe optionally |
7bdd3beb | 270 | - /BIND -askkey command |
006add08 | 271 | - /BIND -delete should be saved in config |
7bdd3beb | 272 | - ^W (and some others) don't update cut buffer. |
c2b8d150 | 273 | - default binds: M-d, M-y |
7bdd3beb TS |
274 | - /PASSWORD command that asks you to type the password to entry line and |
275 | would hide it with asterisks, good if people spy on you :) | |
276 | - ^R-like history search | |
dd05ac73 TS |
277 | - Key to execute the command, but not place it in history |
278 | - Key to remove active entry from command history | |
74cdeb0a | 279 | - Optionally save command history between restarts |
006add08 | 280 | - clear_history |
3c2347b1 TS |
281 | |
282 | - Notify list: | |
7bdd3beb TS |
283 | - showing who's online and who's offline doesn't work properly. |
284 | - adding/removing people in notify list don't show in /NOTIFY immediately | |
285 | - when someone in notify list joins, should it be placed to start of | |
286 | /MSG completion list? | |
3c2347b1 TS |
287 | - /NOTIFY -away and -idle: support for wildcards in nicks (requires of |
288 | course that we're in same channel as nick) | |
289 | - Automatically add queried nicks to notify list temporarily .. display | |
290 | the notifys for the nick in the query window | |
291 | - /NOTIFY -once - notify only once when the user comes to IRC, forget | |
292 | this after it. | |
293 | - /NOTIFY -comment xxx - add a comment to notify. print the comment when | |
294 | user comes to irc. | |
295 | - "Should we check people in notify list when you're away" option | |
bd5f40a1 | 296 | - use /WATCH instead of /ISON in servers that support it |
dd05ac73 | 297 | - Show when the nick was last seen |
3c2347b1 | 298 | |
7bdd3beb | 299 | - Ignores: |
7bdd3beb TS |
300 | - /IGNORE <nick> -> use hostmasking (related to channel syncing problem, |
301 | see "bigger code changes") with support for -type and /SET ignore_type | |
302 | - /IGNORE -strip -pattern away * actions .. | |
303 | - can't have multiple ignore -patterns with same nick | |
304 | - /ignore -activity .. would ignore it just in window activity list, | |
305 | not hide the text. | |
306 | - The nick cache stuff just made it slower. Remove it or figure out how | |
307 | it could be faster. | |
54e184dc | 308 | - combined ignore/hilight thingy, see hilights |
7bdd3beb TS |
309 | |
310 | - Hilights: | |
311 | - /HILIGHT list doesn't print several options. Maybe some generic | |
312 | function which could be used for printing those options for all these | |
313 | /IRCNET, /SERVER ADD, etc. commands. | |
314 | - /HILIGHT -mask <mask> <word>: not possible use both. | |
315 | - case sensitive hilight checking. | |
316 | - ignore coloring in the words it matches, so eg. /hilight foo would | |
317 | match to f^Bo^Bo | |
318 | - BUG: it STILL sometimes creates hilight activity while there's no | |
319 | hilights, around mode changes (haven't heard for a while though, | |
320 | maybe it is anyway fixed? :) | |
321 | - change the colors of both the nick and the matched word. | |
322 | - /SET hide_text_style still breaks /HILIGHT -words | |
323 | - even if hilight_color is "", %n is printed after hilighted text. | |
324 | - /hilight -actcolor %M -color %w -regexp -level publics | |
325 | -channels #channel1,#channel2 .* | |
326 | removes the bold from /me actions of other users | |
327 | - people want to hilight their own nicks everywhere, eg. /HILIGHT $N | |
328 | - automatic nick hilighting at beginning of line should be optional, | |
329 | like some people would want -word hilighting in it.. | |
bd5f40a1 | 330 | - exceptions |
54e184dc TS |
331 | - Merged ignores/hilights thingy and maybe even something others .. |
332 | some first-match-wins table where you could easily add/move stuff. | |
7bdd3beb TS |
333 | |
334 | - Scrollback: | |
3c2347b1 TS |
335 | - Optionally show a "bookmark" (line mark actually, a line full of '-' |
336 | chars) in a window. It would be displayed at the position where you | |
337 | were when the window was active last time. /MARK command to force | |
338 | updating it to bottom of screen in active window. | |
3c2347b1 TS |
339 | - /SCROLLBACK REDRAW doesn't do anything to non-format lines (should |
340 | redraw timestamp, etc.) | |
3c2347b1 | 341 | - /LAST -since <timestamp> |
7bdd3beb | 342 | - /LAST : use /SET timestamp_format |
bd5f40a1 | 343 | - /LAST -allwindows would check the lastlog from all open windows |
3c2347b1 TS |
344 | |
345 | - Formats / themes: | |
7bdd3beb TS |
346 | - scripting for formats (see the themes.txt), and make the default.theme |
347 | so that you REALLY don't need to touch /FORMATs, unless you want to | |
348 | change english texts (eg. joins/parts/quits etc. are fully configurable | |
349 | in theme file) | |
3c2347b1 | 350 | - Possibility to modify abstracts and replaces in themes from irssi. |
7bdd3beb | 351 | (or maybe not, just makes it more difficult) |
3c2347b1 TS |
352 | - Document the different formats briefly :) |
353 | - /FORMATs don't have styling anymore, so translation to different | |
354 | languages should be possible with still the ability to use different | |
355 | themes easily. /SET formats <filename> could change the file where | |
356 | to read all /FORMATs, but formats in theme file would override them. | |
7bdd3beb TS |
357 | - terminfo/termcap supports changing palette. add support for themes |
358 | as well to specify it. | |
359 | - hilight formats. pubaction_hilight would be nice, but so would many | |
360 | others as well. something generic for all these would be nice .. would | |
361 | it be possible to do this in theme side with scripting without a | |
362 | format for each different thing? | |
3c2347b1 TS |
363 | |
364 | - Server commands: | |
365 | - Optionally wait for a while (0.5-1sec) before sending the message to | |
366 | server, if arrow up key is pressed abort it. Also remove the line from | |
367 | screen and put some notice about it being not sent. | |
3c2347b1 TS |
368 | - If we receive "cannot send to channel" from server or "you're not |
369 | chanop" events, remove the privmsgs/notices or modes/kicks/etc. from | |
370 | send queue automatically. Useful for aborting things when you get | |
371 | kicked after pasting lots of text or deopped after doing /OP * or | |
7bdd3beb | 372 | something ;) .. use /SERVER PURGE <target> for this.. |
3c2347b1 TS |
373 | - Split PRIVMSGs and NOTICEs automatically to multiple commands if |
374 | their length exceeds the 512 bytes (or it should be shorter actually | |
375 | so server won't split it when it adds your nick+host mask) | |
7bdd3beb TS |
376 | - Fix the flood protection to be aware of max. input buffer, which is |
377 | 1024 bytes by default (/STATS d, CF). Now irssi may excess flood when | |
378 | sending lots of lines longer than ~200 chars. | |
54e184dc TS |
379 | - IRCNET: Flood protection doesn't count the extra penalty for MODEs |
380 | and KICKs, also extra penalty should be given in messages (all | |
381 | commands?) for each 100 chars. | |
7bdd3beb TS |
382 | |
383 | - Text buffer: | |
384 | - support for printing ALL characters in text buffer, including ^B, ^C, | |
385 | etc. etc. so we could selectively decide what mirc colors to translate | |
386 | and what not. Like, we would want to show (or hide) it in normal | |
387 | messages, but we would want to show it as-is in user's ident and | |
388 | ban lists. This should fix /HILIGHT -word as well. | |
389 | - EPIC-like /SET mangle_inbound, maybe mangle_outbound? | |
390 | - %> should work in normal text lines | |
391 | - support for iso-2022-jp? does anyone even want this? ;) it works with | |
392 | esc$B..encoded text...esc(B - encoded text is in 7bit chars, not sure | |
393 | - fix the textbuffer code so that typofix.pl actually works | |
394 | - if you're in beginning of scrollback when lines are being removed, | |
395 | the screen is messed up (?). Also, after /SB END the --more-- is | |
396 | still there and you can't get rid of it (couldn't reproduce) | |
397 | - does /SB REFRESH work? Make it update the lines lazily, only when | |
398 | needed so it would be fast. | |
399 | - Make /SET HOLD_MODE | |
400 | - /CAT should pause on every screenful of text, this should be some kind | |
401 | of printtext_multiline_paused() function which would use some callback | |
402 | to ask for new text. | |
403 | - when scrolling, using pgup/down. it would be neat if the last/first | |
404 | overlapping line in the newly redrawn buffer would be colorized for a | |
405 | second or two, indicating where to continue reading | |
f1580a67 | 406 | |
bd5f40a1 TS |
407 | - Statusbar |
408 | - finish the support for multiple statusbar groups, and add | |
409 | /WINDOW STATUSBAR command. | |
410 | - finish the support for multiple input lines and a way to switch | |
411 | between them, so eg. each split window could have it's own input line. | |
412 | - padding char so instead of just spaces you could have ------ | |
c2b8d150 TS |
413 | - hide the whole statusbar if none of it's items use any space |
414 | (visible = "auto") | |
415 | - /SBAR # PLACEMENT top|bottom sometimes messes up the screen a bit, | |
416 | ^L helps though | |
417 | - /STATUSBAR prompt DISABLE hangs irssi because there's no input line. | |
418 | Add some check to not allow this. | |
419 | - /STATUSBAR could list also disabled bars | |
54e184dc | 420 | - command to list all available statusbar items |
bd5f40a1 TS |
421 | |
422 | - Server connecting: | |
7bdd3beb TS |
423 | - More verbose connecting |
424 | - show if we're using IPv4 or IPv6 | |
425 | - show hostname we're using | |
426 | - show the proxy settings we're using | |
427 | - Reconnecting shouldn't try to remember all those settings, especially | |
428 | /SET real_name xx + /RECONNECT should work. | |
02419703 TS |
429 | - DNS problems may cause removal of i-line, irssi shouldn't stop |
430 | trying to reconnect the server if it happens.. Maybe it never should | |
431 | stop reconnecting to servers that are in config. | |
bd5f40a1 TS |
432 | - Remember the previous IP while reconnecting, if DNS lookup fails use |
433 | it. Some DNS servers return "host not found" when their internet | |
434 | connection is broken and irssi stops reconnecting.. | |
02419703 TS |
435 | - /RECONNECT <servertag> - If <servertag> belongs to some IRC network, |
436 | reconnect to next server in that ircnet, otherwise just reconnect | |
437 | to the server. | |
438 | - /SERVER <number> would connect to n'th server in list. Show the | |
439 | numbers with /SERVER LIST | |
440 | - /CONNECT <ircnet> could remove existing ircnet connection from | |
441 | reconnect queue if it exists (only if there's only one?). Also if | |
442 | we're already connected to the ircnet it could complain about it | |
443 | and -yes would force it. | |
bd5f40a1 TS |
444 | - connect() may be stuck forever, timeout it after a few minutes. |
445 | - Raise the reconnect time every time you get disconnected, so if your | |
446 | network goes up/down all the time, we'd see you join/part channels | |
447 | more and more often instead of flooding all the time. | |
448 | - Better support for round robin addresses (eg. irc.openprojects.org) | |
449 | - /CONNECT -raw? A bit like telnet/nc host. | |
f1580a67 | 450 | |
3c2347b1 | 451 | - Tab completion: |
7bdd3beb TS |
452 | - Command parameter completion doesn't work properly when -options |
453 | are used. | |
3c2347b1 TS |
454 | - Possibility to complete -option parameters? Like -ircnet <tab>, also |
455 | /MSG -servertag<tab> and /LAST -level<tab> should work. All of these | |
456 | require some command definition changes.. | |
7bdd3beb | 457 | - bash-style (or whatever it should be called) tab-completion |
3c2347b1 | 458 | - key for reverse completion |
7bdd3beb | 459 | - /MSG <tab> completion shouldn't include queried nick there (optional) |
7bdd3beb TS |
460 | - File completion could guess when it's wanted, word beginning with / |
461 | (not at start of line of course, unless / isn't in cmdchars) | |
462 | or ~/ or ./ | |
c2b8d150 | 463 | - filename completion doesn't work properly if path has spaces |
54e184dc TS |
464 | - /FORMAT xx <tab> |
465 | - don't add useless completions to list. eg /RUN nick<tab> shouldn't | |
466 | work | |
dd05ac73 TS |
467 | - Priorities to completions. And at least command completion could use |
468 | it so it'd put last the commands that require chanops/ircops. | |
469 | Requires support in command_bind(). | |
470 | - /DCC commands could complete nicks (/dcc close, /dcc get, ..) | |
471 | - check the TODO about nick completion scripts.. | |
3c2347b1 TS |
472 | |
473 | - Modules: | |
474 | - Figure out module vs. plugin wording, what is what ;) | |
475 | - API for plugins which would be guaranteed not to change | |
476 | (at least too much/too often :) | |
477 | - "chat protocol modules" - they could be loaded at startup so they'd be | |
478 | equal to IRC protocol (autoconnecting servers would work etc.) | |
479 | - on-demand autoload modules (f.e. by /command or maybe some signal) | |
480 | - Try to make them create only .so files instead of .a and all.. | |
7bdd3beb | 481 | - dependencies for modules? double /[un]load prints a bit stupid text |
3c2347b1 TS |
482 | |
483 | - perl scripting: | |
7bdd3beb | 484 | - /LOAD [-script | -module], /UNLOAD script |
02419703 | 485 | - Possibility to modify entry line somehow |
7bdd3beb TS |
486 | - Add structures: MODULE_REC, THEME_REC, KEYINFO_REC, |
487 | CHAT_PROTOCOL_REC, etc. | |
02419703 TS |
488 | - signal_emit() - if emitting unknown signal, it could automatically |
489 | save the types of sent parameters so another perl script could | |
bd5f40a1 | 490 | signal_add() it |
7bdd3beb TS |
491 | - Irssi::keyboard_entry_redirect() |
492 | - Irssi::format_get_text() | |
7bdd3beb | 493 | - Irssi::signal_remove() could accept hashes |
bd5f40a1 | 494 | - /command parameter parser so it'd be easier to handle -options etc. |
bd5f40a1 TS |
495 | - Try to get the Makefiles generated so that compiling with GCC would |
496 | always work even if the perl wasn't compiled with GCC.. | |
dd05ac73 TS |
497 | - Irssi::Timeout_add() and input_add()'s data option could be optional |
498 | and maybe allow multiple parameters | |
3c2347b1 TS |
499 | |
500 | - Bigger code changes: | |
501 | - Restructure code tree so that non-IRC chat protocols would be in | |
502 | same places than IRC protocol. Something like: | |
503 | - src/irc (like now) | |
504 | - src/irc/fe-common, src/irc/fe-text | |
505 | SILC could then make symlinks to src/silc to whereever the SILC | |
506 | module was unpacked. Make it possible to build SILC support built-in. | |
507 | - /SETs have now boolean/number/string types. Add more: | |
508 | - Time: Allow to use s|m|h|d to specify the time, default to | |
509 | seconds. When sending reply to user, use the time formatting too, | |
510 | not just x seconds or minutes. "10d 5s" should also work. | |
511 | - Level: Like "all -msgs -public". Complain about unknown strings. | |
7bdd3beb | 512 | - size: 5M, 5k, .. |
3c2347b1 TS |
513 | - Reading configuration file should be changed somehow .. at least add |
514 | some helper functions for reading lists since comments inside them | |
515 | now crash irssi. Also if setting wasn't expected type can cause | |
516 | crashes so add proper error checkings everywhere. And is_node_list() | |
517 | etc. should be in uppercase.. | |
7bdd3beb TS |
518 | - Channel syncing is evil. Make it optional, and use /USERHOST when |
519 | needed if host isn't known. /BAN at least should do this, and while | |
54e184dc TS |
520 | at it, we could make /IGNORE as well to ignore based on mask. Also, |
521 | if /USERHOST doesn't find anything, use /WHOWAS info. | |
7bdd3beb TS |
522 | - Irssi saves some setting strings to static const char * variables in |
523 | several places.. this works pretty well usually, except when /RELOADing | |
524 | config and some "setup changed" signal handler goes and calls some | |
525 | function that still uses the old saved string which points to free'd | |
526 | memory.. this should somehow be fixed failsafe. maybe just g_strdup() | |
527 | them everywhere or figure out something better.. | |
bd5f40a1 TS |
528 | - Better priority specifying for signals, probably should add |
529 | int priority without limited range. | |
54e184dc TS |
530 | - fix server redirections to handle remote events correctly: very unlikely, |
531 | but its possible that replies to two remote whoises are received exactly | |
532 | at the same time overlapping each others | |
7bdd3beb | 533 | |
dd05ac73 | 534 | - Commands: |
74cdeb0a TS |
535 | - try to get the 0.9 command parser to work.. |
536 | - user definable parameter definitions and how they're handled, like | |
537 | cmsg <target> <colorized-msg> - then there'd be some function called to | |
538 | colorize the third parameter. same for tab completion. | |
dd05ac73 TS |
539 | - support for multiple subcommands in the command parser, like |
540 | /window name foo level msgs. | |
541 | - A way to disable some command entirely? eg. not show in completion | |
542 | list or /HELP or anywhere.. | |
543 | ||
bd5f40a1 TS |
544 | - extra spaces after commands don't always work, eg /wii nick, /help xx |
545 | - hide channel key in statusbar. This would require a $cmode_nokey or | |
546 | something.. | |
547 | - fe-none doesn't compile with --with-perl-staticlib because it doesn't find | |
548 | the ui/textui stuff.. | |
549 | - we should probably print timestamp even if level contains MSGLEVEL_NEVER, | |
54e184dc TS |
550 | as long as it's not the only level.. Except when /CATing awaylog we don't |
551 | want to do that. | |
bd5f40a1 TS |
552 | - If /SET print_active_channel is ON, actions still don't show the channel |
553 | - nick's user/host can't be printed for public messages | |
554 | - /HELP <alias> should work | |
555 | - /CLEAR -all should clear the window activities as well, leaving hilights | |
556 | - support :: properly in IPv6 masks | |
bd5f40a1 TS |
557 | - when you get disconnected, print your quit message to all channel windows |
558 | - possibility to print rawlog in window | |
559 | - should $10 work (in special vars)? | |
560 | - /VER should be alias | |
561 | - /MODE #channel b should resync the banlist, and /QUOTE NAMES #channel | |
562 | should resync the nicklist (irssi/ircd bugs). | |
563 | - #include support to config file | |
564 | - make detaching work | |
565 | - with solaris, /EXECs don't die when irssi does (tail -f ...) | |
566 | - /EXEC -interactive: print the commands you send | |
7bdd3beb TS |
567 | - handle /JOINs with server redirections so they get aborted if we're not |
568 | seing a JOIN for a while. | |
569 | - make sure the config file is never lost, write it to some temp file first | |
570 | and after then move it over real config file. | |
571 | - you could configure which events (whois, notify, etc.) to show in what | |
572 | windows (all, current, status, msgs) | |
3c2347b1 | 573 | - /SET -reset? |
3c2347b1 TS |
574 | - printnickmsg() which would print nick changes and quit messages. And |
575 | export that function to perl so kills.pl could print kills with it too. | |
3c2347b1 | 576 | - regexp host masks |
9bf99c0a TS |
577 | - automatically switch to status window when using commands that always |
578 | print their output to status window, like /whois. | |
6c66f696 TS |
579 | - automatic whowas if whois wasn't found should be moved to fe-common. |
580 | it could also print something like "nick $0 not in IRC, but this user | |
581 | WAS in IRC:" | |
7bdd3beb TS |
582 | - Add command for changing automatic replaces and completions |
583 | (/autoreplace, /complete ?) .. could these be scripts? .. | |
bb3ca6f4 TS |
584 | - commands to move channels and servers in the config list, to set the |
585 | join/connect order of them. | |
2ea909d7 | 586 | - All those options to /WHO and /LIST commands that EPIC has |
bd5f40a1 TS |
587 | - Use different formats for /WHO #channel? There's no need to show the |
588 | channel in every line then (NOTE: /WHO #chan1,#chan2 should have two | |
589 | headers) | |
6c66f696 TS |
590 | - nick/channel lists at right side of the text version of irssi. Ctrl-N |
591 | for example could hide/show them. add mouse support for it. | |
1b30005e | 592 | |
7bdd3beb | 593 | - try profiling the code with /cat filewith10000lines |
7bdd3beb TS |
594 | - /SERVER ADD -ircnet foonet bar 6000 pass1, |
595 | /SERVER ADD -ircnet barnet bar 6000 pass2 | |
596 | dircproxy identifies ircnets based on password | |
597 | - $@0 always returns 4 (?) | |
598 | ||
770ae459 | 599 | |
038fdeb2 TS |
600 | *** GTK UI |
601 | ||
602 | - %| doesn't work with irssi text widget | |
603 | - some problems when using multiple windows with focus being all the time in | |
604 | one of the windows and it can't be changed to different window?! Probably | |
605 | has something to do with click to focus. | |
606 | - split windows are buggy, destroying them doesn't really work well.. | |
607 | - mirc ctcp togglemenuitem isn't updated right | |
608 | ||
770ae459 TS |
609 | *** Big things |
610 | ||
770ae459 TS |
611 | - some sort of address book? our own irssi ctcp to ask for other irssi users |
612 | for their information (of course not without asking (except optionally)).. | |
613 | could be nice also to automatically update it, keep track of all seen | |
614 | users gathered when joining channels, whois, who, etc. commands. | |
615 | automatically updating information could be host masks, nicks, ips, seen in | |
616 | channels, operator in channels, .. user specified checks like last topic or | |
617 | mode changes or even msgs to you/some channel/with some keyword. great for | |
618 | spying people ;) maybe even useful sometimes.. | |
619 | ||
620 | .. but what database would be best for this? | |
621 | ||
2ea909d7 | 622 | - GTK (non-GNOME) version: icons to toolbars, accelerators to menus |
770ae459 TS |
623 | - Windows style MDI windows are possible with GtkFixed .. Some people would |
624 | like this.. too much job for me, it would need building the MDI windows | |
625 | ourself (title bar, borders, resizing, etc.) | |
626 | ||
627 | - online help, documentation, ... | |
628 | - plugins: | |
f5fc6247 | 629 | - scheme, tcl, python scripting? eggdrop/epic compatible scripting? |
7bdd3beb | 630 | - IRC bot, eggdrop is too old, needs a replacement ;) (started, aborted) |
770ae459 TS |
631 | - Multiplayer games! :) Chess, tic-tac-toe, othello, battleship, tetris, |
632 | etc. Existing games should probably be used .. though there doesn't | |
633 | seem to be any of these (except tetris) for gnome right now.. | |
634 | - audio / video chat :) | |
635 | ||
42092bac | 636 | *** Needs rethinking .. |
770ae459 | 637 | |
d3dc9a13 | 638 | * Notify list GUI |
f4dc754e TS |
639 | - _one_ popup dialog could open which lists all nicks in notifylist, maybe |
640 | sorted by arrival time, display the dates, latest joined could be with | |
641 | different color? etc. | |
d29ca0b1 | 642 | - nick-specific options: |
f4dc754e | 643 | - pop up the dialog |
42092bac | 644 | - run some command (like /exec as soon as I get that done :) |
42092bac | 645 | |
f4dc754e TS |
646 | * common api for statusbar handling |
647 | - it should work just as well in text mode and gui, colors could be done | |
648 | with the normal % formats. GUI just ignores the colors.. | |
649 | - display number of ops, voices, normals and ircops in statusbar | |
650 | ||
651 | * API for creating/modifying menus and toolbar, especially from plugins | |
652 | - at least one configurable menu ("usermenu"), or maybe make the whole | |
653 | menubar user configurable | |
654 | ||
655 | ||
3c2347b1 | 656 | *** ..in GTK UI .. just some things to remember if i'll rewrite it again. |
2ea909d7 | 657 | |
42092bac TS |
658 | - itext: |
659 | - save/find text | |
660 | - text selection draws the entire selection every time you move the | |
661 | mouse... | |
f4dc754e TS |
662 | - if some other window has got much text, switching to it first time |
663 | takes some time..? | |
f4dc754e | 664 | - editor in setup for ~/.irssi/startup |
a712a5c1 | 665 | - dcc floods could pop up lots of dialogs.. |
f4dc754e TS |
666 | - gui help |
667 | - change signal handling in gui-gnome so that the actual drawing and | |
668 | functionality are in different signals, so that plugin could change the | |
669 | whole look and feel of irssi. | |
670 | - currently irssi sends USERHOST commands every now and then to find out | |
671 | who are away and who are not.. optionally it could instead just watch if | |
672 | someone hasn't written anything to channel in n minutes and mark it "away" | |
673 | to nicklist. | |
770ae459 | 674 | - check new irssi versions with http rather than with irssibot.. |
770ae459 TS |
675 | - gnome statubar: |
676 | - clock? | |
677 | - dcc transfer meter (gtk progressbar) | |
770ae459 TS |
678 | - dcc send: allow selection of multiple files to send (also for dnd from |
679 | gmc!) Allow dropping files to anywhere in irssi. |