2020/06/22

マルチタイムゾーン時計アプリ Mac版もできた

デスクトップに任意のタイムゾーンの時計を複数表示するアプリの進捗です。

ダウンロードはここからできます。https://github.com/bayashi/mclocks/releases

というわけで、最近、実装した内容:

Macビルド

Mac向けのビルドをするにはアイコンとか証明書とかいろいろ揃えるものが多すぎてやってられないと思っていたのだけど、野良扱いで良ければぜんぜん揃えるものなくても大丈夫ということが分かったので Mac 向けビルドもするようにして、release ページから .dmg 落とせるようになった。

ただ、Windows向けも同じでちょいちょいこれ野良アプリだけど入れていいの?みたいな警告が出たりする。Security の設定で許可してもらえるとシュッと入る(自己責任で)。

アプリケーションのウィンドウサイズを動的に決定してカスタマイズの自由度をあげた

もともとは固定(雑な動的サイズ変更)だったアプリケーション自体のウィンドウサイズを、時計のフォントや日付のフォーマットに合わせて実際にレンダリングして正確に無駄なく調整されるようにしました。これで自由にアプリケーションのウィンドウサイズが可変するのでカスタマイズの幅が広がった。

完全に背景になじむモード

デフォルトでは時計に色の塗られた背景があるのですが、デスクトップの時計ということで、背景は完全透過で文字だけ表示するのも便利じゃないのか、ということでそういうオプションを付けました。私はいつもこのモードで使っています。

上の画像の時計の青い下地はアプリの背景ではなく、デスクトップの色です。完全に透過している。(ちなみに日時の文字自体も透過させることもできます)

なお、Windows以外のOSだと、透過がうまくいかないかもしれない。

masterブランチ使うのやめた

どっかでひとつ試しにやめてみようと思ってたので、master をやめて main にしてみた。タイプ数が少なくて良い。

デフォルトのタイムゾーンを変えた

東京とUTCをデフォルトにしていたのだけど、New York と London に変えた。あと、表示がコンパクトな方がウケるみたいなので曜日を表示しないようにした。もちろんこのへんは自由にカスタマイズできる。

バグ修正

ディスプレイをまたいでアプリケーションの位置を移動したときに、アプリのサイズが変になる現象があって、ひとまずアプリにフォーカスが来た時に再度アプリウィンドウをレンダリングして綺麗にもどるようにした。アンフォーカスのイベントってないのかしら?

あと、すごい細かいところなのだけど、アプリケーションの背景の角を丸くしているのだけど、その丸い外側の背景が透過しない時があったので、それも調整した。

Code Changes

https://github.com/bayashi/mclocks/compare/0.1.4...0.1.6

ごきげんよ~

サイト内検索