KWGTでTajmみたいな「◯時まであと×分」「△時から□分経過」という時計表示を作る

|

Tajm』という時刻をテキストで表示する時計ウィジェットがありました。ただ、2018年2月8日現在Playストアからは削除されているようです。

この時計の表示するテキストは日本語訳すると「◯時まであと×分」「△時から□分経過」というような表示でした。日本ではあまり馴染みのない形式ですが表示としては気に入っていたので、KWGTを使って作ってみました。もちろんKLWPでも同じように使えます。

完成形と概要

上にあるのがKWGTで作ったもので、下が本物のTajmです。かなりそっくりに作ることができました。KWGTで作っているので、当然フォントやサイズは自由自在です。

今回作ったものは以下のようなルールで表示されます。

  • 各時間帯において2分から14分、16分から29分までは「**minutes past ** AM/PM」
  • 31分から44分、46分から59分までは「**minutes to ** AM/PM」
  • 1分の場合は「**minute past ** AM/PM」(minuteと、sの付かない単数)
  • 15分、45分はquater表示でそれぞれpastとto
  • 30分は「half past ** AM/PM」
  • 0分は「** AM/PM」

表示を見るだけなら分かりやすいのですが、実際にこれを場合分けしたりするとなかなか面倒に感じます。

構成

今回のウィジェットは上図のように5つのパーツでできています。まず「グループ化(並べる)」を配置し、その中に「1」「2+3」「4+5」の3つを縦に並べます。

3つの段それぞれ「グループ化(並べる)」で並べています。上段は1つのテキストのみですが、それでも「グループ化(並べる)」に入れています。

上段

上段の分表示の部分は1つのテキストで作成しています。「加工」で「大文字」「数字をアルファベットに」にチェックを入れています。「大文字」は好みでしかありません。

テキストの内容は以下のとおりです。
$if(df(m)=0, "", df(m)=15, quarter, df(m)=45, quarter, df(m)=30, half, df(m)>30, tf(df(yyyy'y'MM'M'dd'd') + df(hh, a1h) + h01m, m), df(m))$

ifのところは|(OR)など使えばもっと短くなりそうですが、なんだか上手く行かなかったので。たぶんどこか変です。

また、上段は毎時0分のときは表示しないので、テキストを包むグループ化の「レイヤー」で「表示」を以下のようにコントロールしています。
$if(df(m)=0, REMOVE, ALWAYS)$

中段

中段左側

中段左側は

  • 毎時1分または59分のときは「minute」
  • 15分、30分、45分のときは「表示なし」
  • それ以外の時は「minutes」

となります。なのでテキストの内容は以下の通り。
$if(df(m)=1|59, minute + " ", df(m)%15!=0, minutes + " ")$

中段右側

中段右側は30分まではpast、31分からはtoなので単純です。
$if(df(m)>30, to, past)$

また、中段を包むグループ化も、毎時0分には非表示にするので、「レイヤー」の「表示」を上段と同じようにします。

下段

下段左側

下段左側は「30分まではその時の『時』、31分からは次の『時』」となります。

$if(df(m)>30, df(K, a1h), df(K))$

df(K)を使っているのは、KWGTの設定で24時間表示を基本としていても12時間表示で表示するためです。ただし、0時がZEROとなってしまいます。TajmだとTWELVEであり、これもやろうと思えばできるのですが、面倒だしZEROでもいいかな、と放置しています。

下段右側

下段左側は「30分まではその時の、31分からは次の午前午後表記」となります。ただこれにdf(A)を使うと、日本語環境で「午前/午後」になってしまいます。日本語ではなく英語でAM/PMを使いたいので、ifを使って無駄に長くします。
$if(df(m)>30, if(df(H, a1h)>11, PM, AM), if(df(H)>11, PM, AM))$

これで完成です。

別の方法もある

実はKWGT/KLWPは「$df(W)$」で「◯時まであと×分」「△時から□分」という表記ができます。ただこれはTajmのようなminuteやAM/PMが付きません。付かないでいいのならこっちのほうが簡単です。

フォントやサイズを別々にしたい場合も、「$df(W)$」をなんとか分解するなどすればできると思います。どっちが簡単かは…わかりません。

ダウンロード

一応今回のものもダウンロードできるようにしてみました。KWGTのProを持っていれば、ダウンロードしたtajm.kwgtファイルを端末のKUSTOM/widgetsフォルダに入れれば、読み込めると思います。

zooper-iconTajm
制作: orefolder
価格: 無料

ダウンロード

ぜひお試しください。

Random Posts

Web Widget:指定したウェブページをホーム画面に表示するウィジェット
Disable Network Activity Indicator RRO:Android 8.0のXperiaでチラチラする通信アイコンの▲▼を非表示にするアプリ
私の思い出のAndroid端末:スマホを使っているとオタクに見られた頃から使っていたGALAXY S SC-02B
格安SIM (MVNO) 速度比較 : 2017年4月その1 b-mobile S 開幕SIMが新しい扉を開けそう
Essential Phone PH-1のカメラをチェック!設定やできることが少なすぎて戸惑うレベル
Nougat Quick Settings:Android7.0のクイック設定パネルにパネルを追加するアプリ
格安SIM (MVNO) 速度比較 : 2017年11月その1 悪くないBIGLOBE-A、気になるnuroとロケモバ
Lollipop in Spring【ホーム画面定期コンテスト】
撮影した写真が勝手にGoogleマップに投稿される? 確認すべき設定と通知オフの方法
Galaxy Gear VR with Controller 開封の儀:コントローラー付きで没入感アップ!また未来の扉を開けてしまったか
2017年に買った・手に入れたスマホや周辺機器:振り返ればいろいろあるがいまいち消化不良
タブでサクサク切り替えできる、あのウェブサイト風ホーム【ホーム画面企画2016】
Wiko View レビューその2:カメラをチェック! 低速度撮影や手ぶれ補正で動画撮影は楽しいかも
Twitterアプリ、何使ってる?アンケート2017【結果発表 その2 「ここが気に入ってる」編】
格安SIM (MVNO) 速度比較 : 2017年5月その1 じりじり下降するLINEモバイルとIIJmio(A)が心配