summaryrefslogtreecommitdiff
path: root/TODO
blob: 4764637bc56fa517d9f5d8217874e49632bfd0d2 (plain)
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
WeeChat - Wee Enhanced Environment for Chat
===========================================

TODO - 2006-03-18

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


 * General:
    + Windows version
    # Solaris version

 * Interface:
    + Gtk GUI
    ? Qt GUI
    + internationalization (traduce WeeChat in many languages)
    - add dark colors (demi intensity)
    - understand incomplete commands if unambigous (for example: /he for /help is ok)
    - interpret 'old-school' special chars in messages: *bold* _underline_ /italic/
    - minimal width of nick in text area
    - display number of highlights since last buffer read (pink square)
    - add "*" on the side of message buffer when alt-j or other meta modifier is on
    - completion with tab key for all words starting with "#" by opened chans names
    - completion when input line is empty should add last nick that wrote to me
    # open new channels near server (not at the end of buffers)
    - add filename completion (for example with /dcc send) 
    - have only one info_bar common to all windows
    - be able to search in history and global history (as with <Ctrl+r> in bash)

 * WeeChat commands
    - be able to bind a key on more than one command
    # be able to make an alias running more than one command
    - host with "*" possible with /ignore command
    - "/completion" command: do shortcuts (for example when we type "u"
      in the text bar it send it to the server as "you")
    - "/last": command to look for text in previous messages
    - get help on config settings with /help option instead of /set option (since
      many options can be displayed and help is not displayed in this case)
    - "/cycle": do a /part then /join on current channel
    - be able to save the current buffer with a single command
      (/buffer dump /path/to/file), or to make it possible to write a script
      that does so (see plugins)
    - "/reconnect": reconnect to all servers, without waiting for
      auto-reconnect delay after disconnection 
    - save hotlist when doing /upgrade

 * IRC protocol:
    - complete "/list" command: add regexp search, display only channels that
      match regexp
    - 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
    - display one time away message of remote user in private (optional)
    # add max number of nicks for away check (do not check away nicks on
      channels with high number of nicks)
    - add anti-flood mechanism, when pasting more than N lines
    - add mask for /ban command, and ban types (host, nick)

 * Configuration:
    # be able to launch more than one command when connecting to server
    # use ~/.weechat/dcc by default for DCC incoming files (and create
      directory at startup if not found)
    - add global username/realname, used if server values are not filled
    # add command line arg (--dir) to choose weechat home dir
      (~/.weechat by default)
    - be able to set more than one server address for network
    - save buffer numbers (order) to config file and restore them when
      opened, or make it possible by script 

 * Plugins:
    - allow print function to write on all buffers or all channels of a server
    - add "outgoing" message event so scripts can edit user-input text before
      it is sent to the channel
    # add a timer function so scripts can do things like timeouts, delayed
      processing, etc.
    - allow print function to write on all buffers or all channels of a server
    # allow plugins to perform actions on "highlight" messages
    # get_servers(), get_channels(server), get_nicks(server,channel)
    # Lua plugin
    ? Tcl plugin
    ? Php plugin (maybe if possible)
    ? "fish" plugin (cf http://fish.sekure.us/)
    # script plugins (perl, python, ruby, ..) should load scripts in system dir,
      not only ~/.weechat/xxxx/autoload/
    - allow plugins to get the contents of a specified (or at least the
      "current") buffer.