通知を見逃すので、時計のほうから出てきてもらうことにした

通知を見逃すので、時計のほうから出てきてもらうことにした

アラームを鳴らす代わりに「時計そのものが画面に現れる」、パソコン用の目覚まし代わりを作りました。
決めておいた時刻の 10 分前になると、枠のない時計が作業中の画面のいちばん手前に割り込んできます。名づけるなら「没頭割り込み型時計」です。

枠のない窓に時刻だけを表示したデスクトップ時計

22 時 30 分ちょうどに始めなければならない仕事

きっかけは、22 時 30 分開始と決まっていた仕事でした。会社のホームページのページを差し替える作業で、その時刻より早く始めても遅く始めてもいけない、という条件付きです。

開始まではまだ 3 時間近くありました。それまでは別のお客様の仕事に集中していたい。けれど、集中していると画面の右下の小さな時計は目に入らなくなります。かといって、ちょこちょこ時計を確かめれば、そのたびに集中が途切れ、頭も余計に使います。

それなら、時刻を気にする役目はパソコンに任せてしまおう、と考えました。

置き時計を「出てくる時計」に仕立て直す

土台はありました。以前作った Web 版の時計です(https://tools.systemengineer-yousystem.jp/now/ 、どなたでも開けます)。画面に大きく時刻を出しておく、いわば置き時計です。

土台にした Web 版の時計。ブラウザで開いて画面に大きく時刻を出す

ただ、置き時計は見に行かなければ役に立ちません。集中しているときほど見に行かなくなります。そこで、この時計をデスクトップアプリに作り替え、「こちらから見に行かなくても、時間になれば向こうから出てくる」ようにしました。置き時計が待つ時計なら、こちらは攻めてくる時計です。

できることは次のとおりです。

  • 時刻だけを表示する、枠のない小さな窓。ドラッグで動かし、四辺・四隅をつまんで大きさを変えられ、窓に合わせて文字の大きさも変わる
  • 前回閉じたときの位置と大きさで開く
  • 右クリックで、タイマー設定・フォント(10 種)・色のテーマ(4 種)・24 時間表示・秒・日付・最前面の固定を切り替え
  • タイマーに日時を登録しておくと、その 10 分前に時計が起動して最前面に出る。予定は複数登録でき、1 回きり

右クリックで出るメニュー。タイマー設定・フォント・テーマ・表示の切り替え・最前面の固定

音も通知も出しません。ただ、目の前に時計が現れます。通知のように「閉じてなかったことにする」ことができないので、気づき損ねません。起動するたびに最前面で現れるのも、そのためです。

タイマー設定の窓。日時を入れて追加すると、その 10 分前に時計が起動する

小さな窓の作りにも少し手を入れています。枠のない窓は、Windows の標準の方法では大きさを変えられません。そこで、窓の四辺と四隅に透明な「つまみ」を置き、そこを押したら、ボタンを離すまでマウスの動きを追って窓の大きさを変えています。

def apply(rect0, dx, dy):
    x, y, w, h = rect0
    if "e" in edge:
        w = max(MIN_W, w + dx)
    if "s" in edge:
        h = max(MIN_H, h + dy)

何が変わったか

時刻を気にしなくてよくなり、目の前の仕事に没頭できるようになりました。しかも「時間になれば必ず出てくる」と分かっているので、安心して没頭できます。

思いがけなかったのは、仕事以外での出番です。友人との約束の時刻にも使ってみたところ、こちらでも大活躍でした。

この方法が合う人、合わない人

「出てくる時計」が向いているのは、パソコンの前で、パソコンを使って仕事に没頭したい人です。特に次のような場合に効きます。

  • 時刻が決まっていて、遅れも早まりも許されない予定がある
  • それまでの時間は、別の作業に深く集中していたい
  • 通知の音やポップアップは、反射的に閉じてしまうことがある

逆に、パソコンから離れている時間が長い人や、毎週・毎日くり返す予定を管理したい人には向きません。この時計は画面の前にいる人に割り込むためのもので、くり返しの予定も持ちません。そうした場合は、スマートフォンのアラームやカレンダーの通知のほうが確実です。

「知らせる」だけでは足りず、「見るしかない状態にする」必要があるかどうか。それが、通知を選ぶか、出てくる時計を選ぶかの分かれ目だと考えています。


使用技術: Python, pywebview, Win32 API, ctypes, タスクスケジューラ, JavaScript, Windows

同様の開発をご希望ですか?

この事例と同様の開発やカスタマイズについて、
お気軽にご相談ください。

お問い合わせ