Welcome Kynn, See the attached example, it should be enough get you started. It's the sort of thing I've been planning to add to the tutorial because many people build interfaces like this.
I'm sorry you find the documentation confusing. We are working on it though! Detailed feedback about things you find confusing is helpful. Join the IRC channel if you'd like to help. Ian On Sat, Jun 30, 2012 at 11:31 AM, Kynn Jones <[email protected]> wrote: > As part of a unix CLI utility, I would like to implement a widget to help > the user act on the contents of this one directory (which is special for > this utility). > > (FWIW, the directory interface I have in mind is inspired by Emacs's dired > mode, although for my purposes I need only a small subset of dired's > functionality.) > > So, to be more specific, I'm looking for a *simple* urwid-based > implementation of a "navigable table of records", with the properties > similar to the following (they are all quite basic and commonplace by > today's standards): > > - the table takes up the entire window (irrespective of the number of > records available), and consists of one fixed header row at the top the > window, one message/status row at the bottom, and a records "pane" > in-between, showing as many records as can be accommodated in the available > space; > - the table can be "navigated" by pressing the up- and down-arrow > keys; here "navigation" consists of nothing more than changing the record > that "has the focus", aka, "the current record", as indicated by a change > of color (e.g. reverse video), or simply by the vertical position (i.e. the > row) of a typical character-sized rectangular cursor; > - all records consist of the same number of fields, and always take up > one row per record (hence, field contents are clipped if necessary); > - all fields except for the rightmost have fixed widths; the width of > the rightmost field expands to fill up the window's width; only the width > of the rightmost field is affected by resizing of the containing window. > > I am hoping that this bare-bones functionality can be implemented very > simply with urwid. ISimplicity is essential for me here, because, although > I have been programming for decades, I have no prior experience whatsoever > programming text-based UIs, and only minimal experience with GUI > programming). > > So, if anyone knows of a *simple* urwid implementation of an interface > similar to the one outlined above, and that I could at least study, please > point me to it. > > Thanks! > > PS: I was really excited to discover urwid and to find the example file > browser at http://excess.org/urwid/browser/examples/browse.py, since I > thought I could adapt this code to what I'm trying to do. But, after > studying browse.py for a few hours (along with the rest of the urwid docs), > I had to give up. I just couldn't wrap my brain around it! Clearly, > browse.py is well beyond my IQ. In fact, after inspecting browse.py, I now > fear that urwid in general is beyond my IQ. So I'm bummed, because I was > really psyched to use urwid for this. What keeps this hope still alive is > that, since the functionality I have in mind is *significantly simpler* > than browse.py's (for example, I don't need tree navigation, with expanding > and collapsing of nodes, etc.), an urwid-based implementation of it may > still be something that I can handle. Hence my first post to the urwid > list. > > > _______________________________________________ > Urwid mailing list > [email protected] > http://lists.excess.org/mailman/listinfo/urwid > >
simple.py
Description: Binary data
_______________________________________________ Urwid mailing list [email protected] http://lists.excess.org/mailman/listinfo/urwid
