clisp screenパッケージ

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の練習のためには丁度いいので簡易ブラウザを作ってみたいです。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください