Imo the best way to start will be a plugin. So we see, what's needed (to overwrite) and what's possible, in terms of functionality.
One drawback is, that Jeremy doesn't like too many 3rd party dependencies. Especially not in the core (That's good !:). ... Since "dragdroptouch" is MIT licensed, about 17k including comments and itself has no dependency, we can easily include it with a plugin. Even including most of the code into the TW core would be possible, because of the MIT license. ...
There's still one problem.
The TW UI mechanism works like this:
- programmatically change a system tiddler ... and ..
- the UI is redrawn by the core.
The mentioned library moves, drags and drops UI elements and doesn't change any thing else.
eg: if you want to change the order of the
story list you need to edit the tiddler and change the "list-field". If you save the tiddler, the UI will be redrawn by the core.
So the plugin would need to be able to manipulate "tiddler list-fields" ... but ... not every UI element actually uses list fields atm. ... So there will be quite some work to do, to make d&d work consistently in TW. ...
just some thougts
-mario