summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 5b5c41dfb95853b8d9148ddf20c7835a6382e7ba (plain) (blame)
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
WeeChat - Wee Enhanced Environment for Chat
===========================================

TODO - 2003-10-05

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


v0.0.2:
------

 * IRC protocol:
    # "/rehash" command: tell the server to reload its config file
    # "/restart" command: tell the server to restart itself

 * WeeChat commands:
    # "/connect" and "/disconnect" commands (for multiservers use)
    # "/server" command to add, remove or list servers
    # "/save" command: save configuration to disk
    # "/alias" and "/unalias" commands

 * Configuration:
    # write config file
    # add alias definition
    # add an option for each server in order to run commands on join
      (example: /msg nickserv identify password)
    # channel list for auto-join (for each server)


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

 * IRC protocol:
    - implement RFC 2812
    + "/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
    - "/wallops" command: write the same string to all the
      persons with the flag +w enable

 * WeeChat commands:
    - "/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
    - "/reload" command: reload the WeeChat's config file
    - "/highlight" command: highlight a given word when it appears on
      channels/privates
    + "/set" command: allow the user to set the WeeChat variables
      under WeeChat without editing the config file (colours, time
      format, etc)

 * Interface:
    - display current channel modes (example : #weechat(+nt))
    - interpret special chars in messages (color & bold for example)
    - internationalization (traduce WeeChat in many languages)
    - many channel windows in one window/term (window split)
    - add lag indicator
    - log chats to file
    - 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?)
    - Gtk GUI
    ? Qt GUI

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

 * Configuration:
    - add key bindings to config file
    - add missing options for config file
    - wrong alias is not created and not saved when quitting WeeChat
    - do not stop program if problem with options in config file
    - load config file after GUI (so init values by default (colors, ...) before
      loading config)

 * Plugins:
    - add Perl plugin
    - add Python plugin
    - add Ruby plugin
    - "/load" and "/unload" commands to (un)load extension scripts
      (perl, python, ruby, ...)