1
0
mirror of https://github.com/irssi/irssi.git synced 2024-06-09 06:20:45 +00:00
irssi/TODO

193 lines
8.8 KiB
Plaintext
Raw Normal View History

Sorry for a big update - I still don't have internet connection at home and this is what I've been doing a few weeks now.. :) You really shouldn't upgrade to this version without keeping a backup of the working one, since this will break everything and at least notify list is broken - probably something else too. * On the way to 0.8.0 .. Major rewriting/rearranging code. There's some changes in behaviour because I'm trying to make Irssi a bit more compatible with EPIC. * libPropList isn't needed anymore - I'm using my own configuration library. This is mostly because different proplists worked a bit differently everywhere and several people had problems with it. It's also yet another extra library that you needed to compile Irssi. New configuration library has several advantages: You can add comments to configuration file and they also stay there when it's saved. It's not nearly as vulnerable as proplist. If some error occurs, instead of just not reading anything it will try to continue if possible. Also the error messages are written to irssi's text window instead of stdout. It can be managed more easily than proplist - setting/getting the configuration is a lot more easier. * Coding style changes - I'm not using gint, gchar etc. anymore, they're just extra pain when moving code to non-glib projects and syntax hilighting doesn't work by default with most editors ;) Indentation style was also changed to K&R because of some political reasons ;) And I'm already starting to like it.. :) It forces me to split code to different functions more often and the result is that the code gets more readable. And finally I'm also using nst' all over the place. + /EVAL <commands> - Expand all the special variables from string and run it. Commands can be split with ; character. See docs/SPECIAL_VARS for more info. + Aliases are parsed just like /EVAL - arguments are in $0..$9. + Text formats are also parsed like /EVAL, arguments used to be in $1..$9, now they're in $0..$8 so it messes up existing themes.. + /SET [key [value]] - no more the '=' character. Boolean values also need to be changed with ON/OFF/TOGGLE values (not yes/no). Settings aren't saved to disk until you use /SAVE. + /TOGGLE <key> [ON/OFF] - same as /SET <key> TOGGLE git-svn-id: http://svn.irssi.org/repos/irssi/trunk@163 dbcabf3a-b0e7-0310-adc4-f8d773084564
2000-04-14 11:27:14 +00:00
- notifylist ei toimi, /ALIAS, /IGNORE
- g_strndup() !!!!! auttaa varmaan vaikka miss<73>
- server-specific source_host
- curses sijainti jotain rikkoo
Day changed to 30-26 2000
[00:10] .. [00:20]
- "away mode changed"
- dcc on s<>rki
- /server +blah tekis uuden ikkunan.
[17:37] -!- Magi [^magi@magi.yok.utu.fi] has quit IRC [Killed (Uni-Stuttgart.DE ((^magi@magi.yok.utu.fi)GMD.DE <- (.@vipek-IV.vip.net.pl)*.pl[ircd@hub.irc.pl]))]
:Magi!^magi@magi.yok.utu.fi QUIT :
Kalled (gart.DE ((^magi@magi.yok.utu.fi)GMD.DE <- (.@vipek-IV.vip.net.pl)*.pl[ircd@hub.irc.pl]))
~cras@0:0:0:0:0:ffff:
-teemoihin tee jotain pient<6E> selityst<73> edes!
- alt+left/right vaihtaa kanavaa..
- checkkaa miten ne autojoin_channelsit nyt meni.. ett<74> vapautetaan ym.
- raiseta ikkuna jossa on teksti<74> mut ei over aktiivisen p<><70>lle
- line-split.c: varmista ett<74> se 64k limitti toimii eik<69> esim. kaada!
- vaihda /set nimet j<>rkevimmiksi
- optio ett<74> vaihtaa automaagisesti sinne autocreatettuun ikkunaan. tyhjenn<6E>
entry (laita historyyn) ettei uusi rivi mene query ikkunaan suoraan vahingossa.
- "<22>l<EFBFBD> n<>yt<79> n. sekunttia pienemp<6D><70> lagia"
- cmd line switchi source hostille
- autojoinikaan ei tunnu oikein pelaavan..? vain kun vaihtuu serveri
- quit n<>ytett<74>isiin vaan yhdess<73> ikkunassa.
- /exec
- optionaalisesti voisi niit<69> logeja ajella siin<69> toisessa irssisessiossa
- msg:iss<73> kun tulee sit<69> away viesti<74> n<>ytt<74>isi vaan kerran..
- logrotate
- ignoroida tietyt ctcpt. regexpit. ignorettaa teksti<74> ..
egopallo/#tv.fi CANAL|MAFIA|...
- autorun.ircnet
- flood protectionia paremmaksi
- bottipluginiin tms. .. channel not available tms. rejoini
*** Bugs
- %| doesn't work with irssi text widget
- when changing server (/server), irssi will automatically join back to the
channels that were joined in previous server. If IRC network is different
than in previous server it shouldn't join the channels..
- some problems when using multiple windows with focus being all the time in
one of the windows and it can't be changed to different window?!
- 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.
- "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:
- scheme, tcl, python scripting? eggdrop/epic compatible scripting?
- IRC bot, eggdrop is too old, needs a replacement ;) (started)
- DCC file server, I'm not too excited about this, maybe someone else
wants to do it..
- Multiplayer games! :) Chess, tic-tac-toe, othello, battleship, tetris,
etc. Existing games should probably be used .. though there doesn't
seem to be any of these (except tetris) for gnome right now..
- audio / video chat :)
*** Needs rethinking ..
* 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)".
... just make a different theme for logging to use? ..
- 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
- reload configuration file on the fly
- /savewindows - save the current channel/query positions to file and
load them at startup.
- multi-DCC - open multiple sockets to transfer the file
- re-set away message when reconnecting to server
- 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.
- 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..?