This is a TODO list for KMuddy.

TODO-list:
----------

Looks like KExtendedSocket works correctly in KDE 3.1, so I can switch back
to it. Using reset() will break kde3.0 compatibility - no issue I believe

There are bugs in cTelnet, fix them! (blocking connect(), no error reporting)

MSP: MIDI files don't play correctly with artskde - I can't do anything
     about this (except for writing a MIDI PlayObject for aRts, that's it)

MSP: when more matches for a file exist and more repeats are requested,
file should be randomly chosen for each iteration. Currently, it's chosen
only once.

MSP: directory creation does not work !!!

Sometimes weird things happen upon connecting, when other tabs are present (can't reproduce)

Options and friends in cTelnet class should be handled using char*
instead of QString, which could damage some characters.

Multiline and group-dialogs currently don't remember their last position
between sessions. The same with running scripts dialog.
Should be fixed.

Trigger groups sometimes don't work properly (e.g. , sound trigs fire even if
    group disabled)

Go and investigate the KScript interface - might be worth supporting ?

Running scripts dialog: menu hides the label

Plug-ins should be also sent the window name, where the text is being sent to.

Status variables are not displayed upon connecting, even if they should

    File kmuddy-mdk gets installed even if distro does not support update-menus
and KDE is not in /usr (then it gets installed to some weird place).
Should be fixed.
Current solution: There are two Makefile.am files, one of them installs
  that file, the other one doesn't.
  To switch: replace Makefile.am, run make distclean && make -f Makefile.dist


Wish-list:
----------
Notation:
* = bigger feature
- = smaller feature
? = not sure if I'll do this
----------
* speed-walking improvements: slow-walking, detecting invalid moves, ... (12.8.2003 by Alex Bache)
  / probably a part of mapper?
  / planned ofr 0.8 - command stacks, mapper
- notification improvements (don't notify gags, MUD-specific settings, notify-all-but) (29.8.2003 by Orion Elder)
? support for HTTP proxy (2.9.2003 by Omykron)
  / this looks more like something that KDE itself should support...
- profile-specific settings for action toolbar (position, size, ...) (9.9.2003 by Nuno Sousa)
* conditional triggers (23.9.2003 by Alex Bache)
  / planned for 0.8
- gagged lines should be sent to script/other triggers (17.11.2003 by Alex Bache)
- file quoting (8.12.2003 by Egarwaen)
  / internal scripting should exist first
- color triggers should support bold/italics/... (17.1.2004 by Egarwaen)
* multiple connections off the same profile should share data (23.1.2004 by Egarwaen)
  / big change - after 1.0
- allow disabling MCCP in a profile (23.1.2004 by Saurag)
- allow using F1 in macros (11.2.2004 by Ardanwen)
  / non-trivial, KDE enforces F1 to be help ...
- groupped radio buttons in actions bar (18.2.2004 by Hena)
* Integrate groups with alias/trigger/... dialog (27.2.2004 by DemoneYoungBlood)
  / shall be done after 1.0
- faster trigger matching (2.3.2004 by Alex Bache)
- allow setting a variable to script's return value (27.3.2004 by Meteor)
- support the EOR option to recognize prompts (17.4.2004 by Sebastian Andersson)
- prompt coloring in the next-to-input label or in statusbar (4.5.2004 by Evuldarke)
- aliases/triggers/whatever should be named, so they can be enabled/disabled/... separately (31.5.2004 by barnog)
- small textbox above input line for displaying of some quick information,
  controllable by scripts (22.6.2004 by Alex Bache)
- have Duplicate button in aliases/triggers/... (11.9.2004 by Alex Bache)
- allow transcript of gagged lines and lines sent to another window (29.9.2004 by Tanisek)
- command-line option (say, --load-profile) to make a connection on startup (14.10.2004 by crache)
? remember last command(s) in some variable (17.10.2004 by kormoc)
  / which commands? incl. ones from triggers/scripts? aliases expanded?
- support string status variables (27.10.2004 by sasha)
- variable that if set, redirects output to another window (4.11.2004 by Alex Bache)
- prompt bar's font and color should be changeable (5.11.2004 by Gopher)
  / see also a similar wish higher (from 4.5.2004)
- profile option to default to multi-line input (17.11.2004 by Darkk)
- history for multi-line input (no auto-completion) (3.12.2004 by Balinares)
- allow gagging of *some* sent commands (possibly commands prefixed with @ or something) (3.12.2004 by Dan)  
- expand ANSI color codes in script output (7.12.2004 by lontau)
* implement the "remember line" feature (see his mail about it) (13.12.2004 by Warren Brian Noronha)
* implement the MCP protocol and local editing via dns-mud-moo-org-simpleedit package (19.12.2004 by Zephiris)
  / spec is at http://www.belfry.com/fuzzball/trebuchet/mcp.html
  / also have a look at http://www.moo.mud.org/mcp/index.html
* possibility for output windows to input text, with some prefix - for channels and such (28.12.2004 by ixonkai)
- make it so that giving a command separator twice will lead to it being sent to the MUD (only once) (7.1.2005 by giraffel)
  / zMUD does this with its double semicolons
- option to not update idle timer upon sending trigger/script output (15.1.2005 by Trekie)
- option to specify, how many lines are force-drawn at a time (21.1.2005 by Chastin)
- option to specify delay between commands (currently fixed - 50 ms) (25.1.2004 by latency)
  / a bit related to the slow-walking request above
- have /echo in various colors (20.3.2005 by pkollmorgen)
  / might require a macro parser - planned for 0.8
- aliases that can call other aliases (20.3.2005 by pkollmorgen)
  / doable with a /command macro, that will treat the text as a new command
    to execute (it will have to deal with infinite recursion too)
- ability to exec triggers on text from scripts (20.3.2005 by pkollmorgen)
  / doable with some /text macro - hence, 0.8 ;)
- selecting with mouse scroll the view (20.3.2005 by pkollmorgen)

Features that probably won't get implemented:
---------------------------------------------
- idle timer (time since last output) (23.1.2004 by Corona668)
/ not really necessary, now that we have timestamps...

Implemented features, that once were in the list above:
-------------------------------------------------------

Implemented 6.3.2005
- better script organization (move 10 u/d, move to) (17.12.2003 by Alex Bache)

Implemented 15.2.2005
- TAB-completion of words seen on last lines of output (11.11.2004 by Monster_Muncher)

Implemented 18.1.2005
- expand aliases in login sequence (7.12.2004 by lontau)

Implemented 15.1.2005
- allow commands to be sent as-is, incl. ones from scripts and such (28.12.2004 by presidentbeef)

Implemented 14.1.2005
- option to specify where wordwrapping happens (11.2.2003 by Art Azarcon)

Implemented 26.12.2004
- preserve scrollback and tab names after reconnect (29.2.2004 by Egarwaen)

Implemented 22.12.2004
- a timer measuring time after last command (26.2.2003 by Corona688)

Implemented in November 2004
- allow paste to output window, text appearing in input line (23.4.2004 by Wande)
  / in the RMB menu

Implemented 12.11.2004
- use KRegExpEditor to edit regular expressions (27.1.2004 by DemoneYoungBlood)

Implemented 6.11.2004
- allow disabling sending of telnet negotiation when connected - some MUDs are confused (31.3.2004 by Gert Kanter)

Implemented 5.11.2004
- multi-line text input that could be used instead of normal input-line. (30.11.2003 by Egarwaen)

Implemented 11.10.2004
- insert aliases/triggers/... at cursor position, not at the end (11.9.2004 by Alex Bache)

Implemented in August 2004
- timestamps after commands (27.2.2003 by Thoren)
- rewrite triggers, that change incoming text (20.7.2003 by Alex Bache)
- sending commands to another tab (4.1.2004 by Drossos Stamboulakis)
- trim spaces on next line after word-wrap (9.8.2004 by Daikane)

Implemented in July 2004
- support for MXP: http://www.zuggsoft.com/zmud/mxp.htm (9.11.2002 by Samson)
  / partial only, but is gradually being improved...

Implemented in June 2004
- aliases/triggers/scripts/whatever dialogs should have a main-window-percentage size (17.12.2003 by Alex Bache)

Implemented in May 2004
- editing profile while offline (19.10.2003 by Alex Bache)

Implemented in April 2004
- countdown timers, exec stuff N seconds before tick, ... (26.12.2003 by axela)

Implemented, no idea when ;)
- inserting \t into inputline (28.12.2003 by Drossos Stamboulakis)

Implemented 23.2.2004
- Buttons in action bar that can be turned on and off (18.2.2004 by Hena)

Implemented 27.1.2004
- allow changing tab name to something else (useful for multiple connections
  from the same profile) (23.1.2004 by Egarwaen)

Implemented 15.1.2004
- sending text to separate windows (11.6.2003 by DemoneYoungBlood)

Implemented 16.11.2003
- preprocessor scripts (10.10.2003 by Alex Bache)

Implemented 12.9.2003
- option to specify default session transcript directory (7.8.2003 by Corona688)

Implemented 8.9.2003
- beep when \a is received (2.9.2003 by Omykron)

Implemented 6.9.2003
- alternate input line (2.9.2003 by Omykron)

Implemented 7.7.2003
- split-screen bar should be moveable (29.3.2003 by abricorn)

Implemented 6.7.2003
- handle tabulators (\t) properly (22.1.2003 by Orion Elder)

Implemented 26.6.2003
- improve alias/trigger/script organization (22.6.2003 by Alex Bache)
- case insensitive comparison for aliases/triggers (27.1.2003 by Orion Elder)

Implemented 1.6.2003
- macro keys, assign directions to macro keys (9.11.2002 by Samson)
- allow autoconnect on startup (23.4.2003 by Whir)

Implemented 23.4.2003
- support for MSP: http://www.zuggsoft.com/zmud/msp.htm (9.11.2002 by Samson)

Implemented 11.4.2003
- improve redrawing speed to avoid slowdown when too much text arrives (23.10.2002 by JB)
/ thanks to Alex Bache for fixing this

Implemented 4.4.2003
- allow empty lines in Connect dialog (31.3.2003 by Orion Elder)
- option to scroll to bottom with one click/keypress (29.3.2003 by abricorn)
- switching MUD tabs with keyboard (31.3.2003 by Orion Elder)

Implemented 3.4.2003
- allow to temporarily disable sending of name/password (31.3.2003 by Orion Elder)

Implemented 13.3.2003
- show some reconnect menu when connection ends (13.2.2003 by Samson)
/ not a menu, it's done in another way

Implemented 28.2.2003 (mostly by Yui Unifex)
- pasting multi-line text to input line should keep \ns (15.2.2003 by Yui Unifex)

Implemented 22.2.2003
- support for MCCP: http://www.randomly.org/projects/MCCP (9.11.2002 by Samson)
- an option not to close tab when connection closes (13.2.2003 by Orion Elder)

Implemented 4.2.2003
- support for blinking text (8.11.2002 by Samson)

Implemented 2.2.2003
- support connecting using something like "connect <username> <password>" (13.11.2002 by Stuart Gardner)

Implemented 30.1.2003
- wordwrapping / indenting (16.11.2002 by Stuart Gardner)
- allow multi-line aliases/triggers even if cmdseparator is disabled (22.1.2003 by Orion Elder)

Implemented 23.1.2003:
- profile duplication (21.1.2003 by Orion Elder)

Implemented 29.11.2002:
- multiple worlds in one instance (9.11.2002 by Samson)

Implemented 15.11.2002:
- an option to disable command echo (13.11.2002 by Stuart Gardner)

Implemented 24.10.2002:
- be able to send single CR (21.10.2002 by HackSaw)
- history browsing with arrows (21.10.2002 by HackSaw)

Implemented 20.10.2002:
- SHIFT+PGDOWN/UP to scroll the main window like konsole (19.10.2002 by HackSaw)
