Hatena::ブログ(Diary)

かきにっき

2009-11-14

[]Rabbit使ってみた

インストール

思い出しながら書いているので抜けがあるかも.

MacPortsを使った.最初にport自体のアップデートをした(コマンドは忘れた).

X11なしで動かしたかったので

sudo port install pango +no_x11 +quartz
sudo port install cairo +no_x11 +quartz
sudo port install gtk2 +no_x11 +quartz
sudo port install rb-rabbit

/opt/local/binに300項目程インストールされた.ruby以外にもperlpythonreadline等いろいろインストールされた./usr/localに入ってるんだけどなぁ.なんという重複.


(2009-11-15 18:04追記)

rubyソースコードに色をつけるには,ruby.stをどこかから拾ってくる必要がある(これがないとtheme-bench.rabを動かした時に怒られる)./usr/share/enscript/hl/にぶち込んだら動いた./usr/localか/opt/local以下にディレクトリ作って入れても動くかもしれんけど試してない.(追記ここまで)

起動

sampleを起動してみる.起動はするが最前面には出てきてくれない.クリックして最前面に持ってくると落ちる.

これと同じ感じのエラー.再現性100%.http://www.cozmixng.org/retro/projects/rabbit/tickets/179

ソースを読んでみた感じ,俺の予想では,pressしたときのイベントをreleaseで参照してるのに,最前面に持ってくるときのクリックではreleaseイベントしか起きない(last_button_press_eventがnil)のでエラーになる.適当にソースを弄ってエラーが起きないようにした.

あとzを連打したらSEGVしたような気がする.

rdを書く

rdはまだいいんだけどRabbitのドキュメント不足が致命的なのでsampleのソースを読む.

いや,rdもドキュメント足りてないよね.

themeを書く

Rabbitのドキュメント不足が致命的な致命傷で3時間くらいソースを探したり読んだりしてた.

  1. フォントを設定する
  2. 整形済みテキストもフォントが変わってしまうので,整形済みテキストだけフォントを変えたい
  3. 整形済みテキストをどうやって指定していいか分からない
  4. ソースを探索してPreformattedTextを見つける
  5. PreformattedTextにフォントを設定しても変わらない
  6. 組み込みのテーマのソースを読みまくる
  7. match("**", PreformattedText, "**", Text)

この辺のクラスと意味の一覧は欲しいよね.あとドキュメントとチュートリアルが欲しい.

PreformattedTextか何かに(font-familyでなく)font_familyとかいうプロパティがあったけどなんなんだろうな.

その他

文字が多すぎても,自動で小さくしてくれたりはせず,はみ出る一方である.(themeでscriptを書けばできそうだけど…)

ディスプレイの関係でフルスクリーンにするとアスペクト比が変わる.

うさぎと亀の使い方も最初は分からなかった.

Dockに出てくるアイコンが味気ない(しかも名前がruby).なんとかならないかな.

感想

  • themeのrabbitがかわいい
  • うさぎと亀で時間がわかるのがよい
  • 起動が遅い
  • ドキュメント不足
  • テキストで書けるのは便利だけど,Rabbitの自動再読み込みが重くて応答速度が遅い

koukou 2009/11/28 23:35 ドキュメント不足: ごめんなさい
整形済みテキストのフォント: @monospace_font_family = "Osaka-Mono"
自動でフォントが小さくならない:
* 文字を詰め込みすぎたスライドをつくるのを防ぐためです。
* 小さくしたい場合はtext.keep_in_sizeとして下さい。整形済みテキストはデフォルトでそうなっています。(少し妥協)参考: default-preformattedテーマ
アスペクト比: 本番と同じアスペクト比で確認しながらスライドを作って下さい。
アイコン: ごめんなさい。たぶん、Rabbit.frameworkを作らないといけないと思います。
起動が遅い: ごめんなさい。
自動再読み込みが重い: ごめんなさい。
応答速度が遅い: ごめんなさい。

gengargengar 2009/11/29 21:00 わぁ,コメントありがとうございます.なんか文句ばっかり言ってるみたいですみません.こんなこと言いながら,実は既に何回かありがたく使わせていただいております.

>@monospace_font_family
themeファイルのトップレベルで設定してみたのですが,反映されませんでした.やり方が悪いのでしょうか.

>text.keep_in_size
Textに対して呼び出しても反映されないのですが,Paragraphに対して呼び出すのであってますでしょうか?
あと,Paragraphに対して呼び出した時,一度描画(cキーorページ遷移)してからrキーを押さないと反映されませんでした.また,この状態でさらにcを押すとItemListの○が消えてしまいました.この後,r→cと押す度に○が出たり消えたりします.

>アスペクト比
できました.ありがとうございました.

koukou 2009/11/29 22:07 @monospace_font_family: 他のテーマをinclude_themeする前に設定して下さい。
text_in_size: 再現するソースとテーマを見せてもらえますか?

gengargengar 2009/12/01 17:58 >@monospace_font_family
できました.漸く意味が分かりました.
他の部分のフォントを設定するのに,match("**", Text) {|texts| ... } で上書きしてしまっていたようです.
matchでするより強い設定だと勘違いしてました.

>text_in_size
以下のソースとテーマの2枚目のスライドで再現しました.表示しているスライドによって挙動が変わります(最後のスライドだと3回くらいで収束します).
### ソース
= あ
: theme
test
= あ
* あ
* あ
* ああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ

= あ
* ああああああああああああああああああああああああああああああああ
* いいいいいいいいいいいいいいいいいいいいいいいいいいいいいい
* ううううううううううううううううううううううううううううううううううううううううううううううう

###テーマ
include_theme("rabbit")

match("**", Paragraph) {|texts| texts.keep_in_size }

koukou 2009/12/15 23:33 直すには少し大きな変更になるので、一度、今のものをリリースしてから取りかかりたいと思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gengar/20091114/1258180674