完全に自分用のシェルスクリプトですが、記事に起こしてみました。
最初はなんとなく「外が暗くなったら壁紙も夜になったらいいなぁ」くらいに思っていて、きっとOS標準機能でそれっぽいことができるだろうとやり始めました。 ただ、OS標準では一定時間おきに壁紙を変更する機能しかなく、これだと夜になったら夜の壁紙を表示するのはちょっと難しそう。
そもそも、壁紙を変えたからと言ってめちゃくちゃ生産性があがる!みたいなことはないので、そんなに手間をかけたくない。
「よし!自動化してみよう!」
ということでまず自動でやってくれるアプリを探しはじめました。
アプリは「Makuai」というアプリを見つけたのですが、時間帯指定が3つまでだったり、マルチモニタに対応してないっぽかったりとちょっと物足りない感じでした。 Githubでソースが公開されているので、Pull Requestを出すことも考えましたが、普段使わないXcodeで書いたこと無いCocoaを書かないといけないことや、 最終更新日が2015年だったことが不安材料だったたため、諦めてしまいました。
そこで自分でできそうな実現方法を探したところ、最近デプロイなどの定型作業自動化でいじったシェルスクリプトと、それを定期的に実行してくれるcronを使ってやってみることにしました。
若干躓いたところもありましたが、幸い(部分的には)同じことをやりたい人がたくさんいたようで、簡単にできました。
一番勉強になったのは、しっかりしたシェルスクリプトの書き方の記事です。 ヘルプを表示できるようにしたり、オプションを設定できるようにしたりと、自分だけで完結するちょっとした作業で使うシェルスクリプトでも取り入れられそうなテクニックがたくさんありました。
おまけ
Qiitaで有名なIncrementsさんがエイチームグループに買収された!(驚) エイチームさんは今年のAdvent Calendarで活発に記事が上がっていたのは知っていたのですが、引越し侍などを手がける会社だったのですね。
エイチームさん名古屋が本社のようですが、Qiitaも名古屋からリモートみたいな働き方が増えたりするんでしょうか。
エイチーム社より開示がありましたが、QiitaとQiita:Teamを運営するIncrementsはこのたびエイチームグループに加わることとなりました。自分は引き続き代表として、既存の両サービスはもちろん、今後もエンジニアを幸せにするためのサービスを作っていきます! https://t.co/CBEfino1cA
— Hiroshige UMINO ☕ (@yaotti) 2017年12月22日