WeeChat - Wee Enhanced Environment for Chat
===========================================

TODO - 2004-01-01

Legend:
  #  done
  +  currently in development
  -  pending
  ?  is this really necessary?


v0.0.4:
------

 * General:
    # debug messages can be enabled via ./configure --enbale-debug option

 * Interface:
    + internationalization (traduce WeeChat in many languages)
    # intercept Ctrl-C
    # when private window is created (another user is talking), WeeChat does not
      switch to this window
    # highlight when our nick is written in a channel/private window

 * Plugins:
    # Perl plugin
    # "/perl load" and "/perl unload" commands to (un)load Perl scripts
    # auto-load Perl scripts at startup


Future versions:
---------------

 * General:
    - Windows version

 * IRC protocol:
    + "/mode" command: change the user/channels modes
    - "/dcc" command (for chat and sending/receiving files)
    - complete "/list" command: add regexp search, display only channels that
      match regexp
    - "/ignore" and "/unignore" commands: hide all that is write by a given
      nick/host
    - when we're away, WeeChat should log all the lines begenning by our nick.
      When we come back from our away it should print it to the current window
    - "/notify" and "/unnotify" command to be warn by WeeChat when a given
      nick/host connect to the given irc network

 * WeeChat commands:
    + "/set" command: allow the user to set the WeeChat variables
      under WeeChat without editing the config file (colours, time
      format, etc)
    - "/reload" command: reload the WeeChat's config file
    - "/highlight" command: highlight a given word when it appears on
      channels/privates
    - "/completion" command: do shortcuts (for example when we type "u"
      in the text bar it send it to the server as "you")
    - "/exec" command: execute a command as if we was in shell
      and show us the output on the current window. An option to exec
      like -o could send the output to the server, on the current
      channel/private

 * Interface:
    + Gtk GUI
    - display current channel modes (example : #weechat(+nt))
    - interpret special chars in messages (color & bold for example)
    - many channel windows in one window/term (window split)
    - add lag indicator
    - forget some old lines that were displayed long time ago (now all is saved,
      if WeeChat is running for long time, a lot of memory is used!)
    - improve completion (for example complete command parameters when possible)
    - understand incomplete commands if unambigous (for example: /he for /help is ok)
    - add clock (in status bar?)
    - log chats to file
    ? Qt GUI

 * TCP/IP communication:
    - connect to server with child process (background)
    - proxy support
    - SSL support
    - IPv6 protocol implementation

 * Configuration:
    - add missing options for config file
    - add key bindings to config file
    - load config file after GUI (so init values by default (colors, ...) before
      loading config)

 * Plugins:
    - Python plugin
    - "/python load" and "/python unload" commands to (un)load Python scripts
    - Ruby plugin
    - "/ruby load" and "/ruby unload" commands to (un)load Ruby scripts
