コマンド実行結果とかをMacのデスクトップに貼る (GeekTool)

GeekToolはMacのデスクトップにテキストファイル, 画像, シェルのコマンド実行結果を貼り付けるソフトです。

※Rubyの記事のつもりで書いていたのですが、Rubyとほぼ関係ないことに気づいたため、Rubyタグをはずしてタイトルも変更しました。

## ダウンロード

公式サイト: [Tynsoe projects](http://projects.tynsoe.org/en/geektool/index.php)

[こちら](http://projects.tynsoe.org/en/geektool/download.php) からダウンロードできます。
アプリケーションフォルダにぶち込みましょう。

以前はMac App Storeでも配布してましたがなくなったみたいです。
Mac App Storeから入手した人は購入履歴からダウンロードできますが、バージョンが古いままなので公式サイトからダウンロードしましょう。

## 起動

起動するとこんなウィンドウが表示されます。

![スクリーンショット 2015-01-11 17.28.17.png](https://qiita-image-store.s3.amazonaws.com/0/18902/50f23e8b-fbee-93d3-7516-078402644aa9.png "スクリーンショット 2015-01-11 17.28.17.png")

### Geeklets
Geekletと呼ばれる透明なウィンドウを作成します。
Geekletには3つの種類のがあります。

- File: テキストファイルの内容を表示
- Image: 画像ファイルを表示
- Shell: コマンドの実行結果を表示

画像はpsdなどもそのまま表示でき、透明度も反映されます。

### Manage groups
Geekletはグループ分けすることができます。
チェックボックスがついているグループのみを表示/非表示できます。

## Geeklet
とりあえず「Shell」のGeekletを作成してみましょう。

アイコンをデスクトップにドラッグ&ドロップするとGeekletが作成されます。
(他のアプリケーションのウィンドウがあるとドロップできません)

Geekletを作成すると、Geekletとその設定が表示されます。

![スクリーンショット 2015-01-11 17.26.54.png](https://qiita-image-store.s3.amazonaws.com/0/18902/65efd913-822c-c2fd-4264-23fe5917e6ce.png "スクリーンショット 2015-01-11 17.26.54.png")
空のGeeklet。
GeekToolが非アクティブの場合は完全に透明になります。

![スクリーンショット 2015-01-11 17.26.49.png](https://qiita-image-store.s3.amazonaws.com/0/18902/ad0fc235-d7bc-f0ba-c4f2-d5f345c9d53a.png "スクリーンショット 2015-01-11 17.26.49.png")

「Shell」のGeekletの設定。
GeekToolが非アクティブの場合は非表示になります。

ゴチャゴチャしてますが、難しい設定は一つもないです。
「Command」に`ruby -v`など、コマンドを入力してみてください。
Geekletに実行結果が表示されます。

![スクリーンショット 2015-01-11 17.54.45.png](https://qiita-image-store.s3.amazonaws.com/0/18902/4ab4c2bb-e5a1-de49-d152-cff102730678.png "スクリーンショット 2015-01-11 17.54.45.png")

表示が途切れていますが、右下の矢印でサイズを変更可能です。

## Geekletの設定について

「Shell」Geekletの設定ウィンドウのみ説明します。
「File」と「Image」は何とかなります。

###Properties
上の文字列は表示中のGeekletのIDです。
Nameで解りやすい名前をつけることができます。
サイズ変更、常に最前面に表示、影の表示などの設定もできます。

ExportでGeekletをファイルとして書き出し、配布することもできます。

### Groups
Geekletのグループを設定します。
最初はDefault Groupしかありません。
グループはGeekTool自体のウィンドウで追加/削除できます。

### Command
コマンドを実行し、実行結果をGeekletに表示します。
秒単位で自動更新や、タイムアウトを設定できます。

一行入力するのはしんどいので適当にスクリプトを保存して実行させるのがいいと思います。
.bash_profileは読んでないので、rbenvで入れたruby等を使いたい場合はフルパスで入力してください。

### Status Feedback
コマンドの成功/失敗をあらわす画像を表示できます。
デフォルトではオフなので、何も表示されません。

成功/失敗の画像は好きなものに変更できます。
ラジオボタンで表示位置を変更できます。(デフォ左上)

その下の「Override text」を有効にすると、実行結果を表示せず、その右のテキストボックスに設定した文字列が表示されます。
(こちらはステータスコードとはまったく関係ないです)

### Style
フォントや背景を変更できます。

- Click here to set font & color: フォント/文字色/影の表示などを変更
- Background color: 背景の色/透明度を変更
- Output encoding: エンコーディングを変更(文字化けしてなければ不要)
- Alignment: 文字寄せ
- Right To Left Text Direction: たぶんアラビア語のやつ

## サンプル

ShellのGeekletに以下のコマンドを入れ、ImageのGeekletと組み合わせて表示してみました。


```text:ShellGeekletのCommand欄
ruby ~/ruby/date.rb
```

```rb:~/ruby/date.rb
puts "今日は#{Time.now.month}月#{Time.now.day}日だよ。"
```

![スクリーンショット 2015-01-11 20.21.58.png](https://qiita-image-store.s3.amazonaws.com/0/18902/f23797f6-ba1a-a3f1-80dd-a6a31de8c592.png)

~~こんなことやってる場合じゃないのに~~

### 素材ダウンロード元

[プロ生ちゃん（暮井 慧）の高解像度データ公開！ | プログラミング生放送](http://pronama.azurewebsites.net/2014/10/11/pronama-chan-psd-files/)

[吹き出し素材「 : ありがち横長」 | フキダシ素材のフキダシデザイン](http://fukidesign.com/open.php?ID=00259&mode=png&iniimage=4&vari=111111111&etitle=%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A1%E6%A8%AA%E9%95%B7)