ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

Urwid

Urwid - curses-based User Interface Library for Python
http://excess.org/urwid/

先のcurses for Windows からリンクが貼られていたんだが、どうやら 高機能な curses ライブラリらしい。
先ずは、Python for Cygwin から試してみる。

  • urwid-0.8.8.tar.gz
  • patch-0.8.8.1.diff.txt
$ python -V
Python 2.4.1
$ tar xzvf urwid-0.8.8.tar.gz
urwid-0.8.8/
urwid-0.8.8/browse.py
urwid-0.8.8/calc.py
urwid-0.8.8/dialog.py
urwid-0.8.8/edit.py
urwid-0.8.8/fib.py
urwid-0.8.8/reference.html
urwid-0.8.8/setup.py
urwid-0.8.8/test_urwid.py
urwid-0.8.8/tour.py
urwid-0.8.8/tutorial.html
urwid-0.8.8/urwid/
urwid-0.8.8/urwid/__init__.py
urwid-0.8.8/urwid/canvas.py
urwid-0.8.8/urwid/curses_display.py
urwid-0.8.8/urwid/html_fragment.py
urwid-0.8.8/urwid/listbox.py
urwid-0.8.8/urwid/util.py
urwid-0.8.8/urwid/web_display.py
urwid-0.8.8/urwid/widget.py
$ cd urwid-0.8.8
$ python setup.py install
running install
running build
running build_py
creating build
creating build/lib
creating build/lib/urwid
copying urwid/canvas.py -> build/lib/urwid
copying urwid/curses_display.py -> build/lib/urwid
copying urwid/html_fragment.py -> build/lib/urwid
copying urwid/listbox.py -> build/lib/urwid
copying urwid/util.py -> build/lib/urwid
copying urwid/web_display.py -> build/lib/urwid
copying urwid/widget.py -> build/lib/urwid
copying urwid/__init__.py -> build/lib/urwid
running install_lib
creating /usr/lib/python2.4/site-packages/urwid
copying build/lib/urwid/canvas.py -> /usr/lib/python2.4/site-packages/urwid
copying build/lib/urwid/curses_display.py -> /usr/lib/python2.4/site-packages/ur
wid
copying build/lib/urwid/html_fragment.py -> /usr/lib/python2.4/site-packages/urw
id
copying build/lib/urwid/listbox.py -> /usr/lib/python2.4/site-packages/urwid
copying build/lib/urwid/util.py -> /usr/lib/python2.4/site-packages/urwid
copying build/lib/urwid/web_display.py -> /usr/lib/python2.4/site-packages/urwid

copying build/lib/urwid/widget.py -> /usr/lib/python2.4/site-packages/urwid
copying build/lib/urwid/__init__.py -> /usr/lib/python2.4/site-packages/urwid
byte-compiling /usr/lib/python2.4/site-packages/urwid/canvas.py to canvas.pyc
byte-compiling /usr/lib/python2.4/site-packages/urwid/curses_display.py to curse
s_display.pyc
byte-compiling /usr/lib/python2.4/site-packages/urwid/html_fragment.py to html_f
ragment.pyc
byte-compiling /usr/lib/python2.4/site-packages/urwid/listbox.py to listbox.pyc
byte-compiling /usr/lib/python2.4/site-packages/urwid/util.py to util.pyc
byte-compiling /usr/lib/python2.4/site-packages/urwid/web_display.py to web_disp
lay.pyc
byte-compiling /usr/lib/python2.4/site-packages/urwid/widget.py to widget.pyc
byte-compiling /usr/lib/python2.4/site-packages/urwid/__init__.py to __init__.py
c

しまった、パッチファイルが提供されていたのを忘れていたよ。

$ cd urwid
$ patch -d . < ../../patch-0.8.8.1.diff.txt
patching file listbox.py
$ python setup.py install
running install
running build
running build_py
copying urwid/listbox.py -> build/lib/urwid
running install_lib
copying build/lib/urwid/listbox.py -> /usr/lib/python2.4/site-packages/urwid
byte-compiling /usr/lib/python2.4/site-packages/urwid/listbox.py to listbox.pyc

urwid-0.8.8フォルダ下に、幾つかサンプルがあるので試せる。

tour.py:

おぉぉぉ〜。カッコイイよ。

ちなみに、Python for Windows(2.3.4)に curses for Windows を突っ込んで試してみた。

tour.py:

何やら よくわからん。
う〜ん、Pythonのバージョンを、2.3.5か2.4.1以上に上げればOKなのかなぁ。
(配布のバイナリパッケージは、2.3.5と2.4.1用になっているからね)