unko.puzzle コマンドを作った
経緯
第41回シェル芸勉強会 東京会場の LT で、鈴木光宏 さんがシェル芸でターミナルなどを動かす方法を紹介されました。
www.youtube.comhttps://t.co/fMAoVSLmVb
— 鈴木光宏 (@s_mitu) 2019年4月27日
LTで「シェル芸でターミナルなどを動かす」という題で、CUIでのウィンドウ操作の紹介をしました。資料はこちら。 #シェル芸
また、たいちょー さんが作成された bigunko.show
という、💩のドット絵を CLI で表示するコマンドがあります。
https://t.co/BZW6HOs5g1コマンドです。よろしくおねがいします pic.twitter.com/8lqNv5jAro
— たいちょー (@xztaityozx_001) 2018年7月29日
この2つを使って遊びたいなと思い、💩スクリプトを書きました。
つくったもの
💩スクリプト書いた。 pic.twitter.com/pHxtmoGucN
— so (@3socha) 2019年4月29日
複数のターミナルエミュレータを使った、スライディングブロックパズルです。
LT では xwit と xdotool が紹介され、そのうち xwit のデモがありましたが、macOS では Homebrew で xdotool が簡単にインストールできるようだったので、xdotool を使って実装しました。 macOS の xdotool は X11 上でしか動作しないようなので、XQuartz と、ターミナルエミュレータとして xterm が必要になります。 一応、Ubuntu でも動作するようにしてみましたが、Gnome 端末は画面サイズをあまり小さくできなかったため、xterm でのみ動作します。
super_unko リポジトリに PR を送ってみたら、マージされました。
あと、これで遊びたいがために bigunko.show
をキレイにする PR を送ったら、マージしていただきました。
ありがとうございます。
是非💩を切り刻んで、遊んでみてください。
使い方
一応、ドキュメント を追加したのでこちらをみてください。
感想
しばらく仕事が忙しくてあまり勉強できていなかったのですが、連休初日のシェル芸勉強会でいろいろと刺激を受けて、時間もあるのでじっくり作ってみました。 だいたい、構想と調査に半日、単純な実装に1日、そこからリファクタリングに1日といったところ。 あまり新しいことはできていないですが、それでもいろいろ調べて実装したので良い勉強になりました。
— so (@3socha) 2019年4月29日
💩を切り刻むのにミスると、結構酷い絵ができあがりますが、これはこれで楽しい。
xdotool でウィンドウを動かすと、なぜか下にずれていく現象があったので、計算した移動先の座標に手元の macOS と Ubuntu 上で試したオフセット値を加える処理を入れましたが、環境によって異なりそうなので、もしかしたらずれるかもしれません。
切り刻んだ bigunko をシャッフルできるようにしました。 pic.twitter.com/WWlCPudsbU
— so (@3socha) 2019年5月1日
謝辞
💩素材をお借りしました。 💩ライセンスなので良いかな?ありがとうございます。