💼

Work Toolsを作った話

2023/03/09に公開

TL;DR;

何ができるの

  • ポモドーロタイマー
  • Philips Hueと連動して色を変える

メニューにある機能が全てなので画像にします。
メニュー

どう使ってほしいか

  • そのまま使えるならとても嬉しい。
  • 人によって必要なものは違うので部品取りして再構成して使ってほしい。
  • ちなみに、アイコンは別ライセンスなので注意(フリーアイコンなので宣伝表記を入れれば無料で使用可能)

裏側

動機

  • 本当は、TickTickのアプリのポモドーロタイマーをそのまま使いたかった。それ使えば自動的にログが記録されるし、時間も記録されるし良いこと尽くめ。
  • だけれども、なんとなくPhilips Hueの色をポモドーロ中とかゾーン入った時は色を変えたくなって、自動的に連動するアプリを作りたくなった。
  • ステータスバーに常駐するアプリって作るのが大変(と昔見た)が、rumpsを使えばあっという間に作れるということがわかって試したくなった。

今後

  • rumpsはとてもかんたんだが、コレ以上の発展性がない
  • 例えば、設定画面のUIを作るみたいな機能はおそらく無理。ウィンドウに入力項目を2つ以上持てなそう。
  • 設定画面を出すのを別途tkinterとかwxPythonを使って作ってそれを呼び出す。という手を使えば良い気がするけれども…
  • メニューバーのアイコンをクリックするといい感じな画面が出る。みたいなのは本当に無理
  • もっとリッチなUIを表示するためにFlutterに移行するつもり。Flutter触ったことないけど、とりあえず最低限のコードを見てみたら、Dartは割とJavaっぽくて馴染めそうだったので頑張る。

実装予定

  • 普段、マルチモニタで作業しているが、再起動等をするとウィンドウの配置がめちゃくちゃになってしまって辛いので、ウィンドウの配置を復元する機能をつけたい。
  • ウィンドウの配置等を保存、復元するのはPythonではなんとかできそうだけれどもFlutterだとどうするの?になりそうなので、pythonスクリプトにできるように今のアプリに機能追加してしまおうと考えている。

蛇足

  • python app.py だと動くのに、py2appすると動かないというのに悩んだ。
  • 作られた.appを見るとなんかpythonのライブラリ足りてないような…?
  • ということで https://github.com/yakumo-saki/worktools/blob/main/setup.py setup.pyでゴニョゴニョ頑張った。

蛇足:具体的な機能

Start Pomo / Stop Pomo

ポモドーロタイマーの開始・停止。一時停止は停止したまま忘れがちなので実装していない。
Hue Bridgeに接続されていて、Set Light color on Pomo/Zone が有効なら自動的にHueライトの色が変更される。

Start Zone / Stop Zone

Zoneは無制限な集中モード。ポモドーロと違って時間のカウントはしない。(本当はカウントアップタイマーにしようと思っていた)
その他はポモドーロタイマーと同じ。

Hue Override

強制的にHueライトの色を変更する。Set meetingTurn off 以外は特に使う必要はないはず。

Others

Show lights

設定ファイルに指定するライトのIDを調べるための機能。

Preferences

作り直しが必要になったキッカケ。 何の機能もない。

About

(今見たらバグっていた)いわゆる普通のAbout画面。

Discussion