Fabian Braennstroem wrote:
  File "/home/fab/Desktop/lfm/actions.py", line 189, in do
    exec(act)
  File "<string>", line 1, in ?
AttributeError: DialogDisplay instance has no __call__ method

Right now, I have no clue, what the last line means. Maybe, it is a simple
python/urwid problem and you do not have to know the whole lfm code to give
> some tips!? Would be nice to use urwid for it.

Well, this error suggests that lfm is trying to use the result of the exec statement as a function and call it. Perhaps the "act" string is modified from what was in the dictionary -- you can get really strange behaviours from code that does tricks with exec statements.

But a larger issue is that Urwid wasn't designed to be integrated peicemeal into curses applications. It was designed to wrap curses.

One problem you'll run into is that Urwid sets up the curses palette and remembers the colour pair indexes. In an existing curses application it will have already set up the palette on its own, so it will take some maneuvering to make colours work properly in Urwid. If you'd like to try it, read the curses_display module source code to see how it stores the attribute to colour pair mapping, and fill that data structure yourself.

It might not be the best project for introducing yourself to Python programming, but it is possible.

Now, doing a complete Urwid version of lfm would be fun. But I'm sure my idea of fun differs from most peoples' :-)

Ian


_______________________________________________
Urwid mailing list
[email protected]
http://lists.excess.org/mailman/listinfo/urwid

Reply via email to