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
|
- /part #blah vaihtaa eka ikkunaan vaikkei oltu #blahlla..
- /join vaihtaa myös ikkunaan mihin se joinas?
- näytä @ tai + nikin edessä
- topic baari?
*** Bugs
- split windows are buggy, destroying them doesn't really work well..
- irssi can't find new themes in ~/.irssi/ while running - scan for new
themes when opening themes dialog? irssi-text also needs to be restarted
to use new themes..
- mirc ctcp togglemenuitem isn't updated right
- multiple dcc connections from different irc networks from same nick
doesn't work. Maybe create "server nick" and "refer nick" variables to
DCC_REC?
*** text UI
- split windows
- statusbar:
- when starting to run out of space some items could be made smaller,
activity for example .. make some generic flag for items to use.
- activity: hilight number if window has message for you or hilighted
text
- "you have new mail"
- active server tag somewhere in window
- word wrapping doesn't work perfectly, if colors/bolds/etc are used, they're
treated as spaces. So things like (<newline>blah blah) can happen (/who)
*** Big things
- Complete modularisation of everything, split irc-extra, ui-common and
gui-* (gui especially) into separate logical components. The modules would
have init(), deinit(), save_state() and restore_state() - save/restore
should save as much as possible so that it would be possible to restart the
whole base system. Like when upgrading to newer version you wouldn't need
to quit irc at all :)
- session saving thing.. specify what channels/queries/dcc chats to open in
which window (real/tabbed/in same window with some other), what irc net
channels goes to where, what channels/queries to open at startup, etc.
use dialog with gtktree widget to change it.
- 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 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:
- perl plugin .. implementation problems, C's structures need to be
handled some way .. like for server structure get_address(),
get_port(), set_address(), set_port() etc.. - other scripting plugins would be easier? scheme, tcl, pythong?
sula premirex uses scheme, it would probably be pretty easy to learn
from it how to do it to irssi :)
- 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 ..
* Logging, check how ircii logging works and try to do everything that it
can do ;) currently logging is done by directly writing to disk things
that are displayed in screen, it could instead (optionally) print things
simply as "JOIN #blah nick (a@b.c)"
- log option: add the open/close time to log
- log directory, automatically log all channels and queries there
- overwrite/append
- all windows, just queries, only the channels in channel list
- you can be joined to same channels in different irc networks (or even
the same ircnet!) - create the logs to different directiories/names
- logging: longer format dd.mm.yy hh:mm:ss (configurable?)
* Notify list, join the two different dialogs, ability to track changes in
gone flag
- _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:
- check for gone-flag changes (use userhosts instead of isons)
- pop up the dialog
- run some command (like /exec as soon as I get that done :)
- dialog: keep track of hosts/realnames so after closing and opening the
dialog again they would show up..
* 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
*** Little things
- autoaway when idling
- nickserv support (automatic /msg nickserv identify password)
- /exec
- 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..?
- exceptions for ignoring
- editor in setup for ~/.irssi/startup
- 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.
- use different themes in different channels/queries?
- /connect ircnet could connect to ircnet
- change some GLists to GHashTables, aliases at least
- check new irssi versions with http rather than with irssibot..
- implement requesting files with DCC GET from remote client for dcc file
servers. good for people behind firewalls.
- support for ircii translation tables (/usr/lib/irc/translation/*)
- use different nicks/realnames in different irc networks
- gnome statubar:
- clock?
- dcc transfer meter (gtk progressbar)
- you could configure which events (whois, notify, etc.) to show in what
windows (all, current, status, msgs)
- gui for configuring plugin specific theme format texts
- dcc send: allow selection of multiple files to send (also for dnd from
gmc!) Allow dropping files to anywhere in irssi.
- /timer, /clones
- display net splits?
- regexp for hilighting words?
- subcommands (dcc, window, ..) could use common function instead of copy and
pasting the same function all the time and modifying just two words...
- {}|~ are same as []\^ (not in all irc networks) - does this really affect
irssi at all..?
|