1
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

pythonで「ポモドーロタイマー」を作ってみた

Posted at

いわゆるポモドーロテクニック用のタイマーはたくさんあるけれど、以下の不満点を満たしてくれるものがなかなかなかったので、自作してみた。

  • タイマーを途中で一時停止することができない。(トイレ行っている間にタイマーが終わってた)
  • タイマーを途中で停止することができない。(一区切りついたところで、休憩に入りたいのに、、)
  • タイマーを動作させている途中で、PCがスリープに入ってしまう。(パソコン作業だけじゃないでしょ?)
  • 音を消していたら、ウインドウの下に隠れていてタイマーが終了したことに気づかない。(ずっとタイマーをみてられないでしょ?)

Windowsでしか使えないパッケージを使ってしまったので、それ以外では動作しないと思います。

  • pywin32 (windowを前面に持ってくるのに使用)
hwnd = win32gui.FindWindow(None, title) # windowのハンドルを取得
#  最前面表示の設定
win32gui.SetWindowPos(hwnd, win32con.HWND_TOPMOST, 0,
                      0, 0, 0, win32con.SWP_NOMOVE | win32con.SWP_NOSIZE)
# 最前面表示の解除
win32gui.SetWindowPos(self.hwnd, win32con.HWND_NOTOPMOST, 0,
                      0, 0, 0, win32con.SWP_NOMOVE | win32con.SWP_NOSIZE)

(参考)
https://office54.net/python/app/windows-foreground-active
https://blog.goo.ne.jp/masaki_goo_2006/e/6ddf4977ba01dd11d6be256c17cc2ccf

  • winsound (バックグラウンドで音を鳴らすのに使用)
# バックグラウンドで音を鳴らす
winsound.PlaySound("Clock-Alarm05.wav", winsound.SND_FILENAME | winsound.SND_ASYNC | winsound.SND_LOOP)
# 音を停止する
winsound.PlaySound(None, winsound.SND_ASYNC)

(参考)
https://www.javaer101.com/en/article/22464192.html

1
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?