Here's an IRC log related to manhole development:
18:48 < exarkun> djfroofy: Where do you see twisted.conch.manhole ending up? 18:49 < djfroofy> off a cliff? 18:49 < djfroofy> no, i mean, i think the inheirtance pattern is a little messy, personally. 18:50 < exarkun> Oh, good. 18:50 < djfroofy> some times i want to extend from RecvLine in stuff i'm writing and then think "oh crap", but ConsoleManhole extends from ColoredManhole ... 18:51 < exarkun> Are you familiar with anything in twisted.conch.insults.window? 19:02 < exarkun> djfroofy: I think the approach demonstrated in http://twistedmatrix.com/trac/browser/sandbox/exarkun/invective/trunk/invective/widgets.py is probably more likely to result in re-usable and extensible APIs 19:02 < exarkun> djfroofy: I'm certainly not rejecting changes to twisted.conch.manhole, but all things equal, it seems like it would be better to spend time on the more flexible widget-based approach. 19:40 < djfroofy> exarkun: sorry got pulled away to a meeting. i'm not too familiar with twisted.conch.insults.window 19:41 < exarkun> djfroofy: np 19:41 < exarkun> djfroofy: twisted.conch.insults.window is basically a layer of abstraction to let multiple objects play with a terminal 19:41 < djfroofy> exarkun: so what is invactive? 19:41 < djfroofy> * invective 19:42 < exarkun> an irc client 19:42 < exarkun> or 3% of an irc client 19:42 < exarkun> but the parts of it that basically work are text input and output 19:43 < exarkun> LineInputWidget _only_ handles input 19:43 < exarkun> OutputWidget _only_ handles output 19:43 < djfroofy> ah 19:43 < exarkun> And they're based on twisted.conch.insults.window, so you can combine them on a single terminal 19:43 < exarkun> but they don't know anything about each other 19:43 < djfroofy> how does this tie in with manhole? or does it? 19:43 < exarkun> it doesn't 19:44 < exarkun> manhole came first, and then twisted.conch.insults.window came later when it became clear that doing something naive like RecvLine wouldn't be very extensible 19:44 < exarkun> but manhole never got reimplemented on top of twisted.conch.insults.window 19:44 < djfroofy> is the idea to deprecate manhole eventually and just build on top on twisted.conch.insults.window? 19:45 < exarkun> djfroofy: if there's interest in making manhole really featureful and nice, I think that's the only plan that makes sense 19:45 < exarkun> djfroofy: I'm trying to remember how mantissa's manhole works now though 19:46 < djfroofy> exarkun: "the plan" == build something on twisted.conch.insults.window instead of manhole? how does that make manhole featureful and nice? 19:46 < exarkun> I think it uses twisted.conch.insults.window to make a fake terminal and then runs ColoredManhole inside the fake terminal 19:49 < exarkun> djfroofy: Rebuild the functionality of twisted.conch.manhole on top of twisted.conch.insults.window instead of directly on top of twisted.conch.insults.insults 19:50 < exarkun> djfroofy: I would say "in place" but it would probably be difficult to retain compatibility 19:51 < djfroofy> exarkun: manhole2.0? 19:51 < exarkun> djfroofy: it'll be 3 at this point 19:51 < djfroofy> manhole5 to be extra buzzy? 19:51 < exarkun> twisted.manhole came first :) 19:52 < djfroofy> what was twisted.manhole a sequel to though? 19:53 < djfroofy> where does the code for Mantissa live these days? bedise on content spam farms: <spam link> 19:53 < djfroofy> * besides 19:53 < exarkun> code.launchpad.net/divmod.org
Separately, things like C-a mapping to home should be configuration, not code. It's probably equally easy to implement this in the existing system or some new system.