clisp screenパッケージ
2007/08/11
clispのscreenパッケージの説明を見ていました。
http://clisp.cons.org/impnotes/screen.html
Ncursesみたいに、端末描画をするための関数が用意されているようでした。
で、ちょっと遊んでみました。
(use-package :screen) (defun print-center (win row str) (multiple-value-bind (height width) (window-size win) (set-window-cursor-position win row (- (floor width 2) (floor (length str)))) (delete-window-line win) (princ str))) (defun print-intro (win) (multiple-value-bind (height width) (window-size win) (let ((row (floor height 3)) (col (floor width 2))) (print-center win (incf row) "------------") (print-center win (incf row) "| hello! |") (print-center win (incf row) "------------")))) (with-window (print-intro *window*) (sleep 10))
windowの真ん中あたりに、hello!を表示するだけです。
実行結果
------------ | hello! | ------------
これでテキストブラウザ作れることに気がついた!
w3mが気に入っているだけに、モチベーションが上がりませんが、common lispの練習のためには丁度いいので簡易ブラウザを作ってみたいです。