-
Notifications
You must be signed in to change notification settings - Fork 15
/
TODO.TXT
1661 lines (1197 loc) · 68.4 KB
/
TODO.TXT
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
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
TODO.TXT
========
*** See the end of this document for the list of Known bugs ***
Website Sutff
=============
* Nothing
Important Things To Do
======================
get Motoko-ch to update the WinAMP plugin to use a .xml file!!!! ini files, bah...
Add an option so that people who've donated can change their quit messages
[09:43] <SlicerSV> just so you know, so that you can do error handling for it, when someone puts a dot in their ident username HydraIRC crashes
add window buffer saving/reloading to all server/channel/query/dcc chat windows
typing /<something> in a dcc chat sends "<something>" to the other person and doesn't echo it locally
Quick Things To Do
==================
option for ignore duplicate transfers (then what? rename destination file? how?)
<Naelphin> A CTCP submenu would be nice, version/ping/time would be sufficient
<Naelphin> It'd also be nice if the Op commands were suppressed if you are not an op
add /stoplog and maybe /log or /startlog or something
rework command syntax of /ignore and also store date+time
Things To Check
===============
[15:15] <b34nb4||> I just tried to dcc a 2 byte file to someone and it flooded him.
[15:15] <b34nb4||> it just kept sending him the file till i disconnected
[00:53] <hdaalz> Hydra, /ctcp %n still crashes me
--> fixed now?
[13:52:11] <ShAd0\\> dunno if it's been reported yet, but if you enter a channel with a . in the name
[13:52:18] <ShAd0\\> the client blows up ;)
--> can't reproduce here.
Things To finish
================
channel list dialog.
also add Save and Load buttons to it... (and maybe, an option to refresh the topic for a selected channel)
channel properties dialog
-> show bans
all notifications should be able to add items to the eventlog
--> done some, need to find all instances of g_pNotificationManager->NotificationEvent and
check to see if the returned value is used, if not then it should be checked and
then logged to the event log if the flag is specified.
Things to Fix/Reimplement
=========================
fix autotile? (RawSide)
gradient filled docking pane titles
Things To Do
============
<teb> could you have /onotice echo the text at the channel window? right now it goes to
the server window instead (unless it's just my prefs? don't think so though) .. also,
same goes for logging your /onotices, they go to the server logfile instead of the channel
[13:16] <Excelsior> which reminds me, i noticed your plugin had some code to detect multi processors
[13:17] <Excelsior> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
use /links to update the server lists
[20:38] <Hydra> seems to be a problem with the channel properties dialog though
[20:38] <Hydra> as it didn't figure out the channel mode correctly
[20:38] <Hydra> i got disconnected a day or so ago, and when i tried to come back it was +i
[20:39] <Hydra> and then i tried later on that day and it was ok
[20:39] <Hydra> but hydrairc still thought it was +i
[20:39] <Hydra> i need to reset the internal channel mode status when rejoining a channel
ideally, it'd be nice to have some kind of tab-bar per window
and then you drag items from the server list to the window's tab bar
split channel window using excel-like vertical splitters so you can see two
views of a single channel at the same time
also allow different different verbose levels for the top and bottom
as well as being able to turn off channel text and actions for the top window
(so you can see channel+actions at the bottom, and quits, joins, parts in
the top part of the window)
implement cool dcc transfer bars (as seen in DC++ 0.305)
add notes fields to buddies and buddy groups (so you can make notes about users, etc)
--> not so quick, buddy groups needs a rewrite, also see hostmask matching issues
as per changes.txt for v 0.3.150
fix /positionwindow problems in onstartup causing small text input view
http://www.hydrairc.com/forums/index.php?showtopic=278
some commands implemented in the default plugin could be moved to the core app,
they were just created there to show how to create commands in the plugin.
move /sysinfo to a new plugin
hostmask in query window title
single clicking url still looses input line focus
--> can't easily fix this, need to time clicks and check DoubleClick() ourselves as
setting focus to the input line between clicks causes the WM_DBLCLICK message
not to be sent
Need to show scrollbar on info page when it's too small (richedit bug, as usual)
sometimes it's possible for the text input line to become really small, seen it here
once, has something to do with the app being minimized when a system pref is change.
need to find out how to reproduce.
--> http://www.hydrairc.com/forums/index.php?showtopic=278
Save and Reload all buffers and logs when closing and opening the app
(for channels & servers, url catcher, event, query, notice and privmsg logs)
-> ignore for query and dccchats, doesn't really make too much sense
-> maybe for queries...
channel list window (with search, sort and filter and favorites)
use masked edit controls in the gui instead of normal edit controls so that we can make sure that
all data/strings are entered correctly. (e.g. don't allow commas in the real name field.)
fix EV_TICK events (and other events) when pc's system clock is set backwards while HydraIRC is running
(currently, this can cause a disconnect, because the flood control gets enabled by the PONGS)
--> i thought i fixed this - verify this still causes a problem
crash after 49.7 days of APPLICATION use (not system uptime, but check that too) tick long int limit?
--> confirm fixed?
[22:09] <_vip> hydra, small bug maybe .. when using timestamps [H:M:S] format, the timestamps randomly stop working
--> testing myself, not seen this happen yet
--> have seen screenshots from a few people that have this issue, cause still unknown.
[22:11] <Hydra> read what you said about empty line on command profile
[22:11] <Hydra> onjoin, onstartup or all of them
[22:11] <Hydra> (i'm guessing all/any of them)
--> looked at code, couldn't see how this could happen, need more info.
remove (or fix?!) the shitty 3rd party docking window state manager that is the cause of startup
crashes for some users
re-jig the auto scroll-to-end stuff to use the same scroll-lock features.
check channel window user list width settings
--> why?
remove all MDI tabs, hide window code, taskbar code and re-write.
when resuming a dcc i got this on sucessful completion:
[21:03] ctcp/dcc Receive from nv|fsrv92 of ash_-_candy_(totp)-v1p0n3-nv.mpg Failed: Connection Closed (Received 41334KB of 41334KB)
(the file size was correct, but it still said "FAILED")
hydrairc doesn't check for larger than max length text and save the rest..." (mcorey)
<Hydra> i can't just set the input line to 512 max...
<Hydra> because what if you were sending a long message to lots of people
<Hydra> or were using a big command..
<Hydra> would be for hydrairc to figure out that it's all channel/query text
<Hydra> and split the line and send two messages
add a workaround for the scolling while trying to select text problem
--> done, need to show window locked status somewhere.
support IPv6 addresses in DCC requests:
"[17:42] CTCP/DCC request from darix : SEND HydraIRCGCS00001.png 2001:768:1806:: 2242 13045"
fix minor memory leak when exiting app.
tweak connect/disconnect/new server icons
[01:36] <dedbob> oh, did you get around to changing the "m/privmsg" occurrences to "q/query"?
[01:36] <Hydra> the icons
Weird issue with irc.ufnet.org/betas, channel text was ignored,
probably a dodgy ircd, need socket logging information to fix this. (zero_cool)
<tium> when dcc receiving a file containing "umlauts", the filename is cropped. ie "abcdüefg12345.ext" turns into "efg12345.ext"
when richedit is replaced, allow child windows to have a split view, so that the top of
the window can be used to scroll back in the buffer and the bottom of the window acts
like a normal channel window. like in excel/word when you split a document and see two
parts of it at once. (fryguy/hydra)
show in brackets after channel now how many different users have been active in a period of time
e.g. #HydraIRC (5) when there are five people chatting. Also handy for checking active f-serves and bots.
when a channel highlight is triggered, change the channel to a different color in the server list for a configurable duration
show recent queries on server item context menu
add a check to see if /exec is already execing the current command profile to prevent endless loops
the command profiles dont accept special chars (æøåø fx.) (Anders)
set the irc:// control to display "irc://" if the server window that it relates to has *never* been connected...
parse "'s in filenames in CTCP command when being sent files with spaces in
add timestamp context menu items to channel monitor and output views
add "Add to favorites..." to context menus.
logging prefs dialog: Add edit buttons for log file flush interval
command to reload prefs from the file
colorable transfer, notice and privmsg dockers
<netnomad> I'm waiting for /ignore to be implemented before I make the plunge. ;)
Look at DCC sends and add DCC send resuming, check our iroffer source.
--> Add buffered file IO for DCC sending
Mattan 16:11: did i ever tell you i'd like to see the neat feature of specifying your own command prefix in your irc client?
Mattan 16:12: like, instead of typing "/msg hydra hello hydra!", i would type "-msg hydra hello hydra!"
Mattan 16:16: that would really make things easier on swedish keyboards, since the slash-sign is typed by pressing Shift+7
--> basically, command prefix preference
ability to specify CONTENT filters for channels. (e.g. join, part) + prefs
ability to specify STRING MATCHING filters (e.g. contains "MyNick") + prefs
(for highlighting,filtering and event notifications)
--> partially done.
channel specific highlighting - currently we have highting for:
network * - <nick>
<network> - <nick>
but not:
<network> - <channel> - nick *
<network> - <channel> - <nick>
e.g: "i want to be notified everytime someone in channel X says something"
or "i want to be notified everytime user y in channel x says something"
i guess one way to do this is to ditch the current regexp parser, then build a string
for each message that comes from the server, like this:
<networkname>:<servername>:<channel>:<nick>:<message>
then you could write a regexp that can match any combination.
option to do "Lock Toolbars" (Rovastar/Hydra)
change color/flash or cycle icon of DCC Sends / Receives in status bar when receiving/sending
change color/flash or cycle icon of connected servers when a server is disconnected.
depending on the ircd, +h means hidden channel or half-op, another case for needing to use the PREFIX ircd message, but
typically, irc.stardock.com uses "IRCPlus/2000" (check) which sends this:
"irc.stardock.com IRCP2.5 acdefghiknopqrstuwxyzACEFGIJLPRS abdefghijklmnopqrstuvwxyzACEFIKLMOPT"
"IRCX CHANTYPES=%#&+ MODES=6 NOQUIT WALLCHOPS NICKLEN=31 SILENCE=1000 WATCH=128 :are available on this server"
wildcard/regexp support for /ignore so you can ignore botnets
right click url and go "Highlight in log" so you can see who said the url and what it was they were talking about.
allow all highlight items to log to the eventlog.
--> might be nice to be able to rightclick these events so you can
go directly to the notification prefs and see what caused it.
"startup" group for favorites, easy way for n00bie autoconnect...
--> would have to add favorite properties dialog for this too
might be issues with multiple channels on the same server
would have to do a bit of testing. (might end up with two server
windows for the same network).
allow user to select preferred identity/network from edit/add network dialog
add method of choosing identity when using /server /newserver commands
add hostmasking support to the buddygroups
option to change default channel verbosity level (TherapyCl)
DCC Passive Sending
Instead of saying "i've got file x that's y bytes long on port z for you" we say
"please open a port so i can send you file x that's y bytes long and tell me the port to connect to"
bold highlights (YorT)
Show a scrollbar (or something) when header is larger than Max Header Lines
add support for /whois <nick> <nick> for global whois support (braska)
timed ignores /ignore +aXL 5
ignores someone for 5 mins
tooltip notes for switchbar and serverlist:
[12:17] <Hydra> e.g. hold it over a query, and it could say:
[12:17] <Hydra> Nick, Network
[12:17] <Hydra> last message received at d/m/y/ hh:mm:ss
[12:18] <Hydra> last message: Hi there you knob!
[12:18] <Hydra> hold it over a channel and see the topic, network, etc
maybe when you hover over a username in a userlist update the info pane to
show nick, whois, connect time, etc
dialog for first time users to select a default window layout
with little screenshots showing a few different possible layouts.
Add a submenu to the View menu that lets the user select between these layouts.
e.g. View/GUI Layouts/Default|Bersirc|Klient|mIRC|Professional|Basic|etc
-> done a bit of this. need to add toolbar/taskbar settings too.
we can add loads of styles very easily...
-> small icons showing the layout on the menu items would be nice too.
[09:52] <eaze\> hey, first of all I just want to say that this seems to be a great client.. just want
to report a bug.. 1) I can't join channels that have a ' character in the name
[09:53] <eaze\> 2) I can't use special characters like Æ, Ø and Å in for example my profile (all of
those characters are in the norwegian alphabet)
[20:08] <Hydra> I can "/join #sdfsdfØØÆØÆØØtest" just fine
--> might be referring to the saving of a "/join ØØÆØÆØØ" in a command profile to the xml file
[21:19] <Hydra> i probably need to restore the app before closing it so i can save the window
positions correctly
--> talking about adding a "close" option to the systray menu.
context menu items on users list for viewing query log files.
add more event log items for DCC transfers and resumes
add highlighting for query + dcc chat windows
high: it is not possible to log channels containing "|" eg. #bla|intern
[23:56] <imajes> and also, fix invite support? :)
[23:56] <imajes> DEBUG: "INVITE" "imajes" "#bmo"
add a reset toolbars option somewhere (to fix toolbar drift issue)
[16:46] <Hydra_> codified, provide me with a list of working servers and i'll add it
[16:50] <codified> http://www.irc-hispano.org/servidores/
[16:51] <codified> and the main/random server i use irc.irc-hispano.org 6667
add the Windows/More Windows dialog and list all hidden and normal windows on the window menu
[09:18] <ZeroForce> Any plan to fix the server/channel list - specifically, the
name of said window going red when you say something and the window is active?
--> this seems ok except that if you do an action it's triggered.
looks like we need a BIC_OWNACTION in addition to the existing BIC_OWNTEXT.
when clicking the "Connect" toolbar button for a server that's already connected
instead of asking "server is already connected, reconnect [yes|no]" ask
"server is already connected [reconnect][change server][cancel]"
[17:15] <Aymz> the pm's pop up and cover all three windows up at once and I have to resize them
[17:15] <Aymz> so I have them set to hidden.. but then sometimes I don't realize they are there
[17:56] <Hydra_> Aymz, how about a "New Privmsg" counter on the status bar?
[17:56] <Hydra_> rather, new privmsg/query WINDOW counter
[17:56] <Hydra_> thad's be nice..
--> with a context menu to allow you to jump directly to the new query windows
UPnP firewall support for automatic opening of ports for IDENTD and DCC's (if possible...)
server list context menus
[01:32] <HydraIRC_> can you please type this in
[01:32] <HydraIRC_> /ctcp #hydrairc ACTION test
[01:32] * hdaalz test
[01:32] <HydraIRC_> [01:32] * hdaalz test
[01:32] <hdaalz> how come I don't see it?
[01:33] <HydraIRC_> because it's not processed client side
[01:33] <HydraIRC_> actually. i need to rework a bit of code..
[01:33] <HydraIRC_> for things that the server doesn't echo back
[01:33] <HydraIRC_> at the moment, server.cpp/Parse() parses everything
[01:34] <HydraIRC_> but i need to make it so I can feed server.cpp/Parse() a string so that it then echo's it locally too.
[01:34] <HydraIRC_> (but only for things that don't get echod back by the server)
when not starting HydraIRC with a url on the commandline hydrairc should ask if it should start a second instance.
change the color of the tabs (or change the icons) to show they're being monitored
change the icon in the server list and to show the channel is being monitored.
--> also, replace current channel/query/dcc icons for better ones.
Allow notes for add favorites
e.g. "found this and that here.."
<raggie> Hydra: is there any way to change usermodes in command profiles?
<raggie> you have to compensate for current nickname though
<raggie> /mode (nick) +whatever
<Gliptic> maybe there's a $nick variable
--> add one somehow...
automatic md5 checksums for files dcc'd
<zann> bout box pops up in the center of the main window
<zann> but confirmation messages - like are you sure to disconnect - etc - dont
<zann> they popup in the center of the screen
--> all calls to CenterWindow in all dialogs use the parent window as a reference,
calls to MessageBox() don't appear to...
merge "options" and "tools" menus
event log menu item: "delete all from this user"
add ability to ignore channel notices from certain users
show timeout countdown timer when offering files via dccs
warn the user if they send a message or open a query window to a user
that is being ignored
dialog for users that only enter one nick that is shown when nick is in use
and the connect attempt is the first connection made to the server
[17:46] <Hydra> give me some quick TODO's
[17:46] <HeadHarve> Channel Monitor always on top option
[17:47] <kjun> initiate DCC chat
[17:47] <HeadHarve> fix funky double texting
[17:47] <`-Anders> input line for the channel monitor
[17:48] <HeadHarve> coloured chan text for notification
[17:53] <HeadHarve> ooh ooh fix for Show Desktop messing up window positions
[17:54] <MrNobody> Hydra: Auto-reject for DCC?
[17:54] <MrNobody> Hydra: Persistent window positions?
[17:55] <HeadHarve> ^^^^ yup what he said
[17:55] <MrNobody> Hydra: Persistent like you can save them between boots.
[17:57] <HeadHarve> fix for psybnc multiple server channel windows not appearing
<sholom> I suddenly realize a feature which HydraIRC needs...
<sholom> The ability to list a custom server name in the server list rather than the DNS name
<Hydra> i am planning a 4 way selection: network, dnsname, ip and description
<blub> different colors for friends/buddies in the user lists.
<Random832> so, is correcting the output format and output order of incoming ctcps vs outgoing ctcp replies on the todo list?
<`duckman> would it be possible to add a feature where if you do a tab complete after a # character it completes to the name of the channel whose window is active
<`duckman> i have seen that before and i like it
<Hydra> actually i will be going a bit further and adding channel name cycleing, starting with the active channel then going through the rest of the joined channels on the network
<Hydra> and also / command cycling
<Hydra> when pressing tab in a server window, it will cycle through nicks of people you have msg'd or people that have messaged you
<Fiendish1> Hydra: Would you consider adding an option where we can automatically hide the server window when accessing a channel via favorites?
<Hydra> Fiendish1, not specifically for that
<Hydra> but favorites actually create temporary custom command profiles
<Hydra> so if i add a /hidewindow command
<Hydra> i can add that to the temporary custom command profile
<Hydra> and bingo!
<Fiendish1> I just introduced a new user to Hydra. He Loves it but he misses the feature that mIRC had where you could drag and drop a file onto a query window to initiate a DCC file xfer.
<biohaz> will there be an option to display a users prefix infront of nick in channel?
<biohaz> like <@biohaz>
@windows (i.e. child windows not bound to servers/channels/chats/queries)
<CBG> Hydra:
1) the script: on 1:text:*PS2*:*: if ($len($strip($1-)) <= 150) { window -e @CONSOLE | echo @CONSOLE ( $+ $time $+ ) # <<<>>> $nick $1- }
2) the source in the channel posted: <PLA-DCC39> #1 11x [563M] The_Mark_of_Kri_USA_PS2-KALISTO
3) the output to @window: (17:29:59) #playstation-2 <<<>>> PLA-DCC39 #1 11x [563M] The_Mark_of_Kri_USA_PS2-KALISTO
column mode copy of text, like in UltraEdit
-> needs richedit replacment
change z order before tiling windows so that active/new window always appears top at top left when auto-tile is used
add a pref for adding a "-" to split lines
Usage: /QUOTE LIST parameters
Where parameters is a space or comma seperated list of one or more of:
<max_users ; Show all channels with less than max_users.
>min_users ; Show all channels with more than min_users.
C<max_minutes ; Channels that exist less than max_minutes.
C>min_minutes ; Channels that exist more than min_minutes.
T<max_minutes ; Channels with a topic last set less than max_minutes ago.
T>min_minutes ; Channels with a topic last set more than min_minutes ago.
Example: LIST <3,>1,C<10,T>0 ; 2 users, younger than 10 min., topic set.
support TTN_LINKCLICK
add different gui views to the server list (imajes). make it changable between
"Tree View" <- what it is now
"Channels" <- list view, alpabetically sorted, option to have network in ()'s after name
"Servers" <- list view, alpabetically sorted, option to have network in ()'s after name
"All" <- list view, alpabetically sorted, option to have network in ()'s after name
add different gui views to the user lists
"Tree View" <- what it is now, combine with a list view, and have seperate columns for "hostmask", idle time, etc..
"List View" <- bog standard list view, option to show prefixes (@%+, etc..)
[02:44] <darix> Hydra: minor bug: in "user identity" dialog: pressing delete should select the select the next field after the deleted
<Kaze> i think the channel monitor is ok, but it doesn't show the network :(
<`-Anders> add a pref for it :P
* Hydra makes a note in todo.txt
option to NOT send "unknown ctcp command" replies (Kez)
show SENT notices in server window and current window (if different from server window)
scan topics and channel text for rogerwilco/teamspeak/quake3/cs server ip's, ports, passwords and channels and
provide way to launch respective app.
strip color codes "No | From Server Responces | From Everywhere"
icon for New Query in the server list
<Kez> going to implement the /ignore command soon?
/url
/run (/shell)
/mp3
socks 5 support
look into these: (#cmp3 on irc.nullus.net)
CTCP/SLOTS request from lillamer : 3 0 8min 33 999 132933 553
CTCP/SLOTS request from MasterRock : 1 0 89m 13 999 41954 51
[00:38:34] <arithon> those are requests from search bots (ie, www.ircspy.com) seeing if you have any download slots open
ctcp/2
proper ctcp parsing
<Hydra_> oops, ctrl+f4 in wrong window
<zann> btw - would be nice to have configurable confirmations for closeing all mdi windows, not just servers
<zann> a real high-end is a timeout on those confirmation dialogs - one number of seconds for all of them - after which the take default action (OK)
/dns nick, or /dns ip
[00:23] <netnomad> Alt-Minus traditionally brings up the Restore, Minimize, Maximize menu for the current window,
kinda like Alt-Space does for the whole program. It would be nice to see this shortcut implemented.
[21:57] <Kez> hey, is it a known issue that if one types "mode #channelname +l 6" the outcome would be **Kez sets mode +b l6*!*@*
store the IP address of the server upon a sucessful connect & login in the server list.
(int he connect dialog box, add a radio box to select between ip address and dns name
if a server has a valid ip address)
[13:55] <X|-Jabb0r-HIRC> you can't join channels with a : in the name
[13:55] <X|-Jabb0r-HIRC> for isntance: #o:i
-> :'s aren;t valid characters for channel names. According to rfc spec : is channel
mask delimiter. Look up channel masks and implement... ;)
store recent prvmsg, whois, etc nicks in list of nicks for tab completion of server and query windows.
<Fuzzy76> hmf... When issuing "/pass somethinghere" HydraIRC responds "/pass not implemented yet". Shouldn't the correct thing to
<Fuzzy76> do be to send the command as raw to the server? I know /raw works, but I'm used to /pass from every other client... :p
<Fuzzy76> Oh, and emoticons. You can never have enough emoticons. :)
Pie menus, like in Mozilla and Maya
<Gerhard> I want to be able to change the font and flash the taskbar button on private messages always (and not only on new PM)
option to NOT show server windows on the taskbar (as well as options not to show other types of windows too)
add right-click menu to the title bars of undocked (and docked) windows so you can select "always on top" etc..
(and then remember this in the state manager)
channel pref profiles
apply channel prefs X to channels #this,#that and #theother
and then apply channel prefs Y to channels #a,#b and #ciguess
a channel profile would contain prefs like: show user list, monitor channel, colors, logging formats, filters, etc
auto-sizing status bar panes
-> has to be done manually, no WTL methods for doing it.. size of icon AND text has to be calculated.
new icons for transfer windows
use a different icon for normal (non-voice) users when channel is moderated (e.g. a face
with a picture of a speaker with a no entry sign on top of the speaker)
new API for logging channels and servers, so that a plugin could create HTML/XML output.
remember channels/servers/query windows as well as buffer and command history, and MDI window positions/state
(hidden/normal/maximized and sizes)
show amount of transfers and server connections in window title. "HydraIRC v0.xxx [Servers: x, Channels: x, Transfers: 0]"
[14:46] <SKroWLwrk> Mouse wheel support
[15:00] <SKroWLwrk> DCC bind to specific IP address and port range
-> eg, /dccsendconnect <ip>:<port> or /dccreceiveconnect <ip>:<port>
[09:59] <r4vine> there's an option in mirc that when turned on does an automatic whois when someone engage chat (query)
[10:07] <r4vine> it would also be nice if there was the same option for dcc chat and dcc get also
don't try to transfer (send AND receive) zero length files
user identities window isn't resizeable.
server list status flags for when buddies join/leave
rememeber last used identity in the network list, and select the correct identity in the connect dialog
and via the /server and /newserver commands
-> save IRCNetworkDetails->m_IdentityName to the current user profile and make sure it's loaded and that it
overwrites the valuses in g_NetworkList when they're loaded.
convert "/RAW PRIVMSG"'s aliases to "/PRIVMSG"
IRC URI password processing missing!
a class for storing lists of users, a set of flags and an option expiry time
e.g. for DCCIgnore, DCCAllow, CTCPIgnore
check int max's when editing the misc prefs in the prefs gui
change Query window icon to "Q" instead of "M"
Store the rest of the /exit args somewhere, and use as the quit message.
use SAPI 4.x and 5.x to provide text to speech, define some kind of API for
things that can be spoken, and a way for plugins to change what is spoken.
make it so you can doubleclick channel names in the channel monitor to show
the channel window.
Make sure m_UserModes gets updated when a /whois or /who (??) is done on the
user. As an op/half op can be +v AND +o/+h. (Anders)
Taskbar Icons pref only affects taskbar items created AFTER the preference
is changed. The effects are not instant.
-> MainWnd needs to process prefs changes.
NON-buddy notifications on STRING MATCHING filters + prefs
-> i guess we could add buddy STRING MATCHING notifications
but that would mean adding another combobox control to the add
notification from that contain a list of defined string matching
strings.
i.e. it'd be nice to be able to configure "if friend says 'die scum' then
do a notification" and "if anyone else says 'die scum' then
do this notifcation instead"
Pressing Ctrl+Shift+S (channel/show server window) works for Query & DCC windows
too, the menu item will be moved to the view menu at a later date.
[16:06] <Equim> auto tile - as in channel windows are tiled automatically
when you minimise/maximise each .. and when you resize the main window etc
[16:16] <Hydra> i don't like the program moving the windows
[16:16] <Hydra> basically, it needs to remember the z-order of the windows before it retiles.
TODO: See if there's a WTL (or MFC + source) class that disables
editing but allows text selection and selected text copying.
(For use in Channel Properties for the topic)
total bytes in/out per second in status bar (and maybe seperate by server and dcc)
and also a little autoscaling graph, like one in getright, also in status bar
transfer status tooltips! (or just add extra columns, need to show server somewhere)
make it so that each CMsgView window can have it's own set of colors. This will allow
a channel window on one server could have a different color scheme to a channel on a
different server, or even a different color scheme for each channel/server window!!
--> this is easy to implement, just add a m_Colors to the CMsgView class, and then change
the COLORVAL macro in HydraIRCCommon.h, then add a bit of initialisation code
to fill in the m_Color's from the g_pPrefs->m_Colors member and you're done.
--> The only bit that might be a bit tricky is getting the windows to update after
the user changes the colors in the prefs, i guess an EV_PREFSCHANGE broadcast
message would do the trick. worry about that later though, as at the moment
they can't change the colors in the prefs.
--> the XML node that colors are in will be bumped down a level, so that it's possible
to include multiple <colors> sections in a single profile
like this:
<colors>
<colorprofile name="default">
<item =....
</colorprofile>
<colorprofile name="alternate">
<item =....
</colorprofile>
</colors>
then, we'll later be able to go "/set colors=alternate"
or something along those lines..
wysiwyg text input
make /newserver set the network information for the new server correctly
--> check the new server name against the list of known servers/networks.
create an importer for the server list at www.netsplit.de
--> semi-manual at the moment, using Excel + VBA
check for DCC ACCEPT's without resumes and warn the user somehow.
API for text forwarding, so that server responces can be checked and sent to the
current window if the plugin wants them to.
Add logging
--> needs a new logging class, each object to be logged can have it's own
logger, so that channel/server windows can have html logger plugins...
--> Add max log file size and trimming.
add GetNextChildWnd(CChildFrame *pChild) to the ServerList class, for ctrl+arrow key
channel navigation. (and GetPrev...)
make it so the output view can filter sys_Printf() messages, just like we do for
the channels/channel monitor.
--> this is half done now, all printf()'s have a contents flag.
make it so that the user can select to always log all output, rather than just when
the output window is visible.
add notice/privmsg forwarding ignore plugin callback (so i can create a plugin
that can do user and message pattern-matching so that
i can ignore certain messages from ^xtecbot^ on quakenet/#ctfpickup.euro
that sends notice messages everytime a game starts)
note: currently my active channel gets filled up with stuff i don't need
to see.
if logfile cannot be opened for writing add an "_n" to the filename
e.g. "MyServer_MyChannel_1.txt"
make it so that plugins can provide prefs pages that appear in the prefs
window.
[15:27] <Hydra_> what network supports superops?
[15:27] <`-Anders> irc.betas-online.com
[15:27] <`-Anders> they have all kinds of crazy modes
[15:28] <Hydra_> PREFIX=(aohVvd)!@%=+-
[15:29] <`-Anders> d is the opposite of voice, you cant speak in the channel even tho its not moderated
[15:29] <`-Anders> not the opposite then .. but you get my point
[15:29] <Hydra_> ok, what about a and V
[15:30] <`-Anders> im not sure, perhaps a is ircops, but i have no idea, theyre not exactly standard
Audio Mute Levels:
assign audio mute level to notification events, then add a little down arrow
to the side of the audio mute button so you can select from 1-5 audio mute
levels. names for audio mute levels can be defined in prefs. e.g:
(1-Silence, 2-Important, 3-Average, 4-Common, 5-Everything)
e.g. you would define a "Friends" private message (/msg) buddy group
notification as 2 (important) and you might define a "all networks / default"
buddy group channel text notification as 5 (everything)
Then when you were away, alseep, or whatever you could switch the audio mute to
2 (important) so you would only get notified of important events (in this
case, one of your buddies trying to get hold of you.)
timestamps to use (optionally) a different font e.g. fixed font
customizable timestamp format
get rid of /timestamps command and work it into /set instead
configurable colors for channel names in channel monitor
--> maybe option to recolor the actual channel text too ?
remember user list treeview folder expanded status
-> remove current method, replace with a CList of this:
GroupID,Status
1 ,expanded
2 ,not expanded
etc...
store in registry? under channels\<channelname>\userliststatus
also: prefs for automatic expanding (or not) of buddy groups
strip leading non-alphanumeric chars from nicks when building nick
completion list so that you can type in the first alphanumeric
character of a nick and then press tab, e.g. pressing h then tab
with "{hydra}" and "hydra" in a channel should return "{hydra}"
first, not "hydra"
Only the channel monitor window stays open when the app is minimized.
this will be configurable at a later date
-> add right-click option to toggle always-on-top mode.
-> store setting in prefs
add java script support, actually, this all comes with active scripting
-> this will probably have to be in the core.
tab completion of / commands
-> each plugin must give a list of commands and aliases to the core.
add a text input view to the channel monitor and allow the user to type in
commands like: "#xpd we got a game yet or what ?" to have the text send to
the channel.
additionally allow the user to press TAB to cycle through available
channel names. e.g. like nick completion, but for channel names.
highlight the out-of-focus channels that have had text added to them
-> in tashbar, serverlist and mdi tabs
hotkeys
-> hotkeys create events, any listener can handle the event.
so plugins can handle hotkeys too.
URL grabber
add check button to connect dialog: "Only show favorites"
-> or one better, change the check button to a combo box
and show as "Show all", "Favorites", "Sucessful connects"
-> for sucessful connects, when we toggle IRCServer::m_LoggedIn,
store the status in the network list and save prefs at next
opportunity.
tooltips for taskbar buttons
prefs for channel monitor CONTENT filters
Need to be able to specify wildcards and hostmasks for buddies.
color preferences dialog
-> hahahha, never! you shall all bow down to my default prefs! :) lol zann/imajes
Starting a channel monitor should display the docker if it's not
already displayed. (Zann)
-> but this should be a prefs item too.
Auto-typo-fix(tm):
it might be kinda nice if you could type in a find/replace command
that hydrairc could process on your last command sent, for example:
<Hydra> this is a niec day today we're having tody
and i could type in:
"niec=nice,tody=today" into the text input and press return.
Hydrairc would then EDIT the last line I sent changing the strings.
And then any user running HydraIRC would see the text magically
corrected in their channel view
splitter size pref
-> probably not, as the docking window prefs seem to be hard coded
remember channel splitter positions, or rather, user list width
-> yeah, in registry, channels\<channelname>\userlistwidth
mousewheel scrolling on mouse-over for all items (zann)
optional horizontal scrollbars for treeviews (zann)
window/channel groups. The ability to add group some channels together and then have them
shown and tiled via a hotkey. e.g. when I play Q3 i join #xpd, #xpdprivate and
#ctfpickup.euro so it's often useful for me to see them at the same time.
selecting a the "Quake3" channel group would then hide all other windows, show those windows
in a "restored" state, and then tile them horizontally.
add a /ARRANGE/ horizontally option (e.g. not TILED, but just one above the other..)
need handle connection timeouts
-> ping the server every 1 min.
need to remember channel keys on per-network basis.
make the text output windows bottom justified, not top justified
(so there is never a blank space between the last line of text and the top
of the input box).
need to tell user if they're issue commands while not logged in.
don't do local channel echo if channel mode is "+m" (moderated)
and user is not an OP or Voice (+v) and user is not kicked (or banned)
and if server is not connected.
> scroll windows to the bottom when they get focus
prompt for profile to use when starting app.
save prefs (not profile, that's done already)
add channel and server window toolbars
use EM_SETPARAFORMAT with PFM_OFFSET/200 for output windows
add icons to connect dialog box treeview
user list context menus
server list context menus
text input context menus
channel/server output context menus
add MESSAGE_HANDLER(WM_GETMINMAXINFO, OnGetMinMaxInfo) to child windows
and main window so you can't make the windows too small.
merge users from cross-network buddy groups and non-cross-network buddy groups with the same
group name, e.g. The Friends group can appears twice at the moment.
store user host addresses in Channel's m_UserList
when copying text from channel/server windows, copy the control codes too. So we'll need
to parse the selected text, bleh..
need to check for no socket input received for >5 mins
and attempt to send a command (ping) or reconnect if this is the case.
add a int m_SortOrder member to the groups so that the user can change the priority of
user-to-group matching in the case of one user is a member of more than one group
(e.g so you can set a global "bots" group, user "mybot" with a lower priority than
that of a network based group called "fserves" with a user of "mybot" so that when
you join a channel on that network the user "mybot" appears in "fserves" and not
"bots")
Display this in RUSSIAN_CHARSET correctly: "Ïð?ïðîâåðêå ïî÷ò??êîãä?íà ôò?çàéò?ïûòàåøüñÿ"
Inter-process communicaton
==========================
Add bit of code to listen for WM_USER messages from other apps and then process these so that other apps
can send notification messages to HydraIRC.
This will allow 3rd party apps to send away messages, e.g. when you're playing a game, etc.
Messages planned to support so far:
ACTION <taglist>, 0
Send a CTCP ACTION message
tag argument description
=== ======== ===========
MESSAGE string the message to say in the channel(s)
DESTINATIONS list of destinations list of channels or nicks to say the message in
ACTIVEONLY boolean flag to say the message only in the active window
Behaviour notes:
if ACTIVEONLY and DESTINATIONS are both specified, ACTIVEONLY takes precedence
if DESTINATIONS isn't specified the message is broadcast to all channels
MESSAGE <taglist>, 0
Send a normal message to channel(s) and/or user(s)
tag list as per ACTION
AWAY <taglist>, 0
Set away mode on one or more networks
tag argument description
=== ======== ===========
MESSAGE string the away message
NETWORKS list of networks list of networks to set away mode on
SERVERS list of servers list of servers to set away mode on
DESTINATIONS list of destinations list of channels or nicks to say away the message in
ACTIVEONLY boolean flag to say the message only in the active window
NOBROADCAST boolean flag to say that the away message should not be repeated to any destinations
AUDIOMUTE boolean tells hydrairc to remember the current audio mute setting and then mute it's audio output
Behaviour notes:
if NETWORKS and SERVERS tags are not present then the away mode is set on all servers.
if DESTINATIONS isn't specified the message is broadcast to all channels
if NOBROADCAST and DESTINATIONS are both specified, NOBROADCAST takes precedence
if ACTIVEONLY and DESTINATIONS are both specified, ACTIVEONLY takes precedence
BACK <taglist>, 0
Un-set away mode on one or more networks
tag argument description
=== ======== ===========
MESSAGE string the message to repeat to the destinations
NETWORKS list of networks list of networks to un-set away mode on
SERVERS list of servers list of servers to un-set away mode on
DESTINATIONS list of destinations list of channels or nicks to say the message in
ACTIVEONLY boolean flag to say the message only in the active window
RESTOREMUTE boolean tells hydrairc to restore the previous audio mute setting
Definitions
-----------
destination lists look like this:
<network name>/<destination>[,...]
Examples:
"EFNet/#chat"
"QuakeNET/#Chat,EFNet/#TottyChat"
"QuakeNET/GameLogBot,QuakeNET/#ctfpickup.euro,FreeNode,#Chat"
"EFNet/SomeGuy,EFNet/SomeOtherGuy"
list of networks looks like this
<networkname>[,...]
e.g.
EFNet,QuakeNet
list of servers looks like this
<servername>[,...]
e.g.
irc.aol.com,irc.quakenet.net,irc.efnet.net
C++ code
========
IPC_<messagename>
IPC_TAG_<tagname>
end taglists by using TAG_ENDOFLIST as the tagid - no further tags after it are processed.