foxnail

Dial Timer 1.0.2 — 트레이에 사는 0~99분 다이얼 타이머

2026. 07. 29  · 

주방에서 쓰는 실물 다이얼 타이머를 화면에 그대로 옮겼습니다. 남은 시간이 빨간 눈금으로 한눈에 보이고,
평소에는 작업표시줄 트레이에 숨어 있습니다. Windows 10 / 11에서 동작하고, 파이썬 설치는 필요 없습니다.

A kitchen-timer dial moved onto your desktop. The time left reads at a glance as red ticks,
and it hides in the tray when you don’t need it. Windows 10 / 11, no Python required.

Dial Timer

다운로드 / Download

⬇ DialTimer-1.0.2-Setup.exe 내려받기 (21.7 MB)

Windows 10 / 11 (64-bit) · MIT License
GitHub이 막힌 망에서도 위 버튼은 이 사이트에서 직접 내려받으므로 그대로 동작합니다.
The button downloads straight from this site, so it works on networks that block GitHub.
대체 경로 / mirror: GitHub 릴리즈 · 릴리즈 페이지

받은 파일이 온전한지 확인하려면 PowerShell에서
Get-FileHash .DialTimer-1.0.2-Setup.exe 를 실행해 아래 값과 비교하세요.
Verify your download with Get-FileHash against:
SHA256: 9E237CF2A653A9478934E1751E9DB46FAB7762A52C8D5C949B543BF965697AFF

설치 방법 / Installation

  1. 위 버튼으로 DialTimer-1.0.2-Setup.exe 를 내려받아 실행합니다.
    Download and run the installer above.
  2. 관리자 권한이 필요 없습니다. 사용자 폴더에 설치되므로 UAC 창이 뜨지 않습니다.
    No administrator rights needed — it installs per-user, so there’s no UAC prompt.
  3. 설치 중 “Windows 시작할 때 자동 실행” 을 켜면 로그인할 때 트레이에 자동으로 뜹니다.
    Tick “Run at Windows startup” to have it appear in the tray at login.
  4. 제거는 설정 → 앱 또는 시작 메뉴의 Dial Timer 제거 로 합니다.
    설정 파일(%APPDATA%DialTimer)도 함께 정리됩니다.
    Uninstall from Settings → Apps; your settings are removed too.

코드 서명이 없어 Windows SmartScreen이 경고할 수 있습니다.
추가 정보 → 실행 을 누르면 설치됩니다.
The installer is unsigned — choose More info → Run anyway if SmartScreen appears.

사용법 / How to use

오작동 방지를 위해 시작·정지와 리셋은 Ctrl과 함께 클릭해야 합니다.
그냥 클릭하면 아무 일도 일어나지 않고 Ctrl + Click 안내만 잠깐 뜹니다.
타이머를 켜 둔 채 화면을 만지다가 실수로 멈추는 일이 없도록 한 장치입니다.

Start, pause and reset all require Ctrl + click so they can’t be triggered by accident.
A plain click does nothing but flash a hint.

시작 · 정지 / Start · Stop

조작 / Action 기능 Function
Ctrl + 좌클릭 / left click 시작 / 일시정지 Start / Pause
Ctrl + 우클릭 / right click 리셋 Reset
그냥 클릭 / plain click 아무 동작 없음 (안내만) Nothing (shows a hint)
Space / R 시작·일시정지 / 리셋 Start·Pause / Reset

시간 설정 / Set the time (0 ~ 99분)

조작 / Action 기능 Function
마우스 휠 / mouse wheel 1분씩 조절 1 minute steps
Shift + 휠 / wheel 10분씩 조절 10 minute steps
숫자키 0~9 / number keys 두 자리 직접 입력 Type two digits
Backspace 입력한 숫자 지우기 Delete a typed digit

창 · 소리 · 투명도 / Window · Sound · Opacity

조작 / Action 기능 Function
다이얼 드래그 / drag the dial 창 이동 Move the window
HIDE / Esc 트레이로 숨기기 Hide to tray
HELP / H 도움말 팝업 (한/영) Help popup (KO/EN)
Ctrl + 휠 / wheel 투명도 조절 (30~100%) Opacity (30–100%)
[ / ] 투명도 낮추기 / 높이기 Less / more opaque
M 알람 소리 켜기 / 끄기 Alarm sound on / off
T 항상 위 토글 Always on top

트레이 아이콘 / Tray icon

조작 / Action 기능 Function
더블클릭 / double click 창 보이기 / 숨기기 Show / hide the window
우클릭 / right click 메뉴 (시작·리셋·소리·항상 위·투명도·종료) Menu (start, reset, sound, on top, opacity, quit)

프로그램 안에서도 숫자 아래 HELP 를 누르면 같은 내용이 팝업으로 뜹니다.
Windows 표시 언어가 한국어면 한국어로, 아니면 영어로 자동 선택되고 오른쪽 위 버튼으로 바꿀 수 있습니다.

The same content is available in-app: click HELP under the digits.
It follows your Windows display language and can be switched with the button in the corner.

도움말 (한국어)
Help (English)

이번 버전에 담긴 것 / What’s in 1.0.2

  • 0~99분 다이얼 — 남은 비율만큼 눈금 60개가 12시부터 시계방향으로 채워집니다
    0–99 minute dial; 60 red ticks fill clockwise in proportion to the time left
  • 7세그먼트 LCD 렌더링 — 꺼진 세그먼트까지 희미하게 비치는 실제 LCD 질감
    Seven-segment LCD rendering, with unlit segments faintly visible
  • 테두리 없는 원형 창 — 사각 프레임 없이 다이얼만 떠 있습니다
    Frameless round window — the dial and nothing else
  • Ctrl 클릭 게이팅으로 오작동 방지, 드래그 4px 임계값으로 손떨림 무시
    Ctrl-gated actions, plus a 4px drag threshold so a shaky hand won’t move the window
  • 트레이 아이콘에 남은 시간을 숫자와 빨간 원호로 실시간 표시
    The tray icon shows the time left as a number and a red arc
  • 투명도 30~100% — 알람이 울릴 때는 자동으로 불투명해져 놓치지 않습니다
    Opacity 30–100%; the alarm overrides it and goes fully opaque so you won’t miss it
  • 한국어 / English 도움말 팝업
    Bilingual help popup
  • 창 위치·시간·음소거·항상 위·투명도·언어를 저장해 다음 실행에 복원
    Window position, minutes, mute, always-on-top, opacity and language all persist
  • 두 번 실행해도 트레이 아이콘은 하나만
    Single instance

대기
동작 중
시간 종료

만든 사람 응원하기 / Support the developer

이 시계가 도움이 되셨다면, 개발자를 위해 아래 앱을 핸드폰에 설치하고 즐겨주세요.
여력이 되면 아이폰 사용자를 위해서도 만들어 보겠습니다.
이 앱들이 마음에 드신다면, 앱의 공유 버튼을 이용해 주위 지인들에게도 전해주세요.

If this timer helped you, please install these apps on your phone and enjoy them.
If I get the chance, I’d like to build iPhone versions too.
If you like them, please pass them on to people around you with the share button inside the app.

▶ 로또 스도쿠  Google Play
▶ 아트 그리드  Google Play

같은 내용이 프로그램 도움말(HELP) 맨 아래에도 들어 있습니다.
The same section is at the bottom of the in-app help.

소스 / Source

MIT 라이선스로 공개했습니다. 소스와 빌드 방법은 GitHub에 있습니다.
Released under the MIT License. Source and build instructions are on GitHub.

github.com/farmerkweon/dial-timer

UI와 로직을 분리해서 TimerCore는 tkinter를 전혀 모르는 순수 상태 머신입니다.
창을 띄우지 않고도 테스트할 수 있고, 로직 30항목 + 입력 60항목 총 90개 검사를 통과했습니다.
설치 → 실행 → 제거 전 과정도 실제로 돌려서 확인했습니다.

UI and logic are separated — TimerCore is a pure state machine that knows nothing about
tkinter and tests headlessly. 90 assertions pass, and the install → run → uninstall cycle was verified end to end.

다이얼 크기와 눈금 길이는 소스 위쪽 상수 두 개(UI_SCALE, TICK_LENGTH)로 바꿀 수 있습니다.
눈금을 늘리면 다이얼과 창 크기가 함께 커지도록 되어 있어 빈 고리가 생기지 않습니다.

공유하기