byzanzのヘルパスクリプトを Goで書きました

公式(?)の Python版が新しい Pythonだと動かなかったので
Goで書きなおしました.

byzanzとは

Linuxで動作するアニメーション gif作成アプリケーションです.
今までは若干手間な方法で作成していたんですが, この方法だと
容量がとても大きくなって時間が長くなると各所にアップロードしづらい
という問題があって代替方法を探していました. それで見つけたのが
byzanzです. Ubuntu 14.04では下記のコマンドでインストールできます.

 % sudo apt-get install byzanz

ヘルパスクリプト

https://wiki.ubuntu.com/CreatingScreencasts


byzanzは Gifを作成するとき, 画面のこの領域を撮るというのを
座標で指定する必要があります. なのでとてもめんどくさいので,
上記のページにヘルパスクリプトが提供されています. ヘルパ
スクリプトを使うことで, GUIで指定した Windowを撮影してくれる
ようにできます. ただこの Pythonスクリプト Python3.4では
うまく動いてくれなかったので, Goで書きなおしました.
Goである必要は全くなく、コード量がかなり長くなってしまったん
ですが, 練習ということで.

インストール

事前に下記のパッケージ(Ubuntu)をインストールしておいてください.

  • xdotool
  • x11-utils(xprop, xwininfoコマンド利用のため)


追記 インストール方法を更新しました(2014年 12月 24日)

 % go get github.com/syohex/byzanz-window/cmd/byzanz-window

撮影例

詳しくはこちらを参照してください


以下は 20秒間カーソルつきで撮影し, output.gifというファイルに
出力します.

% byzanz-window --duration=20 --cursor output.gif

おわりに

何か問題がありましたら, お知らせください.