[Urwid] SàT: XMPP client with urwid frontend + smalls remarks about urwid
ian at excess.org
Sat Aug 21 08:51:33 EDT 2010
goffi wrote on 2010-08-20 05:52:
> I've just release SàT 0.0.3 which is a XMMP client based on a
> daemon/frontend architecture, communicating by DBus.
> The idea is to have everything done in the daemon, and the frontend only
> manage the view.
> Currently the following frontends exist:
> - Wix (WxWidget): GUI
> - Primitivus (Urwid): Console interface
> - Jp: CLI
> A Web and Qt (Kde ?) frontend are also planed.
> The daemon is based on Twisted/Wokkel. The sources and some screenshots
> are available on my website
> - in french sorry - or http://www.goffi.org/index.php?download/35 for
> the direct download). Note that the project is *not yet intended for
Wow. It looks really nice. I've added a link to it from
http://excess.org/urwid/wiki/ApplicationList and marked it "ALPHA".
Please update the link as you see fit.
> end-user*, and the installation is currently a bit complex (but there is
> step-by-step how-to in INSTALL file). The project will hopefully be
> usable for end-user around the end of the year, and should be
> I talk about this here because my previously-ncurses based console
> interface now uses Urwid, and thanks to you I could do stuffs quickly
> and efficiently. I have made some widgets which can eventually be useful
> to others (advanced edit, tabs container, or file selection dialog box),
> you can check in frontends/primitivus directory, you will probably be
> interested by custom_widgets.py and files_management.py. Everything is
> under GPL v3
That's great to see. Is there any chance you would license that file
more permissively so that parts of it might become part of Urwid? (Urwid
> I have two small remarks:
> - except if I have missed something, there is nothing to dynamically
> change Colums and Pile widget, I had to manually change widget_list and
> column_types, which can be broken if the Urwid code change. I think a
> few methods to add/remove dynamically widget should be useful
That's correct. Every time I start to work on that I seem to get
sidetracked by my desire to refactor all the container widgets to pull
out the common parts. There's even a plan on the wiki from 3 years (!) ago.
Your point is well taken. It's more important to have an interface to
modify Columns/Pile than that the interface and implementation are perfect.
> - I heavily use DBus, and dbus return dbus.String objects, which are
> subclasses of unicode. But Urwid do a strict type comparison, and I have
> a TagMarkupException when trying, for e.g. to create an urwid.Text.
> Using isinstance can fix it. As suggested on IRC chan, you can find a
> small patch attached.
More information about the Urwid