AtCoder TouchBar作った
これって何
AtCoderの精進に役立つ(かもしれない)TouchBarです。
詳しくはREADMEを読んでください
なんで作ったのか
理由は3つです
- TouchBar付きのMacBookProを買った(15インチモデルはTouchBar無しモデルがない)
- シングルディスプレイ環境
- TouchBarがクソすぎる
まず1.についてなのですが、私がMacBookProを買った当時(2018 / 6) 13インチモデルにクアッドコアモデルが無かったため15インチモデルを買う決断をしました。すごく高かった…
2.については現在お家に作業机がなく、サブモニタが置けないのです。辛い。
3.については話すとINF時間かかりそうですが、一番のクソポイントとしては
ActiveなWindowに紐づけられたTouchBarのアイテムしか表示できない
ということに尽きます。いくつか例を挙げると、
(Google Chrome)
(iTunes)
こんな感じで、ActiveなWindowに紐付けられたアイテムしか表示ができません。そしてこれらのアイテムはそんなに便利な物でもない為、TouchBarが活躍する機会はありませんでした・・・
時は流れ西暦2019年…
「そういえば、Swift少しできるんだったなぁ」
ふと192は思いました。
「折角TouchBar付きのMacBookを使っているのに、TouchBarを全く活用していないのは勿体無いなあ」
「AtCoderの精進状況をTouchBarに常時表示できないかなあ」
「MacOSのアプリなら、iOSアプリと同じ要領で作れるのでは?」
『善は急げ』という訳で(?)2019/2/6に開発をスタートしました。
目標としては、AtCoderのレートや提出状況の常時表示あたりができればいいなあくらいに考えました。
課題に直面
素直に実装したらWindowが非Activeの時にアイテムが隠れてしまったのです(それはそう)
しばらくインターネットの海を彷徨っていたところ、どうやらAppleのプライベートAPIを使用するとTouchBarのアイテムの常時表示ができることがわかりました。
しかし、プライベートAPIなので当然情報があまりなく、なんとかたどり着いたこれやこれを参考にしながら実装しました。
完成
2019/2/16になんとかリリースをすることができました。
少しずつ機能追加はしていますが、まだまだ発展途上な部分が多々あるので一緒に開発してくれる人がいれば嬉しいですね・・・
おわりに
TouchBar最高!!!
(※ちなみにXcodeを入れるとTouchBarシミュレータがついてきます)