Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

지랄발광 타이머 (jiral-timer)

집중하느라 시간을 잊을 때가 있으신가요? 그럴 땐 — 지랄발광 타이머.

다른 알람은 한 번 삑 울리고 끝나서 놓치기 쉽죠. 이 녀석은 다릅니다. 시간이 끝나면 창이 화면에서 부르르 떨고, 빨강↔노랑으로 번쩍번쩍, 다른 창 뒤에 숨어 있어도 맨 위로 튀어나와 당신을 붙잡습니다. 못 본 척? 불가능합니다. 아무 키나 누르거나 "그만!!"을 눌러야 멈춰요.

지랄발광 데모

Windows용 Tauri 데스크톱 타이머/알람 앱. UI는 웹(HTML/CSS/JS), 로직은 Rust. OS에 내장된 WebView2를 쓰기 때문에 설치 파일 ~1.9MB / 실행 파일 ~8.7MB로 가볍다.

스크린샷

타이머 알람 시간 끝!
타이머 알람 지랄발광

기능

  • 타이머 탭: 카운트다운. 프리셋(5/10/25분) + 분·초 스테퍼(+/−, 꾹 누르면 빨라짐). 시작/일시정지/리셋.
  • 알람 탭: 시:분을 정해두면 그 시각에 한 번 울린다(1회성). 현재 시각도 같이 표시.
  • 지랄발광: 시간이 다 되면 OS 창 자체가 흔들림 + 화면 번쩍 + 항상 맨 위로. 아무 키 / "그만!!"으로 정지.

설치 (사용자용)

  1. GitHub Releases에서 jiral-timer_x.y.z_x64-setup.exe를 다운로드.
  2. "Windows의 PC 보호"(SmartScreen) 경고가 뜨면 — 서명 안 된 앱이라 그런 거예요. 둘 중 하나로 실행:
    • 경고창에서 추가 정보 → 실행, 또는
    • 받은 파일 우클릭 → 속성 → 하단 "차단 해제" 체크 → 확인 후 실행 (PowerShell이면: Unblock-File "경로\jiral-timer_x.y.z_x64-setup.exe")
  3. 설치 마법사를 따르면 시작메뉴·바탕화면 바로가기가 생긴다. (WebView2는 Win10/11에 기본 내장)

개발

필요: Rust (+ MSVC 빌드 도구), Node.js, WebView2(Win11 기본).

cd jiral-tauri
npm install          # 최초 1회 (@tauri-apps/cli 등)
npm run tauri dev    # 개발 실행 (핫리로드)

인스톨러 빌드

npm run tauri build
# 결과물: src-tauri\target\release\bundle\nsis\지랄발광타이머_0.1.0_x64-setup.exe
# 실행 파일: src-tauri\target\release\jiral-tauri.exe

첫 빌드 때 NSIS 도구를 받아 푸는 단계에서 드물게 액세스가 거부되었습니다 (os error 5)가 날 수 있다(백신이 새로 푼 파일을 잠깐 잠그는 경우). 그냥 한 번 더 npm run tauri build 하면 캐시가 채워져 정상 진행된다.

CLI 인자 — 에이전트/스크립트 연계용

실행 파일에 인자를 주면 켜지자마자 자동으로 타이머/알람이 동작한다. 에이전트가 이 앱을 띄울 때 이 방식을 쓰면 된다.

인자 동작
--timer <분> 그 분만큼 카운트다운 자동 시작. 예: --timer 25 (25분)
--timer <분:초> 분:초 카운트다운. 예: --timer 0:30 (30초), --timer 1:30 (1분 30초)
--alarm <HH:MM> 그 시각 알람을 켜고 대기. 예: --alarm 15:30
(없음) 평소 UI로 실행 (직접 설정)

에이전트 호출 예시 (PowerShell)

# 설치된 exe (설치 경로의 지랄발광타이머.exe)
& "$env:LOCALAPPDATA\지랄발광타이머\지랄발광타이머.exe" --timer 25

# 빌드한 실행 파일로 직접 (프로젝트 폴더에서)
& ".\src-tauri\target\release\jiral-tauri.exe" --alarm 15:30

# 개발 모드로 인자 전달 (-- 두 번: 첫 번째는 tauri-cli, 두 번째는 앱으로)
npm run tauri dev -- -- --timer 0:30

기술 메모

  • Tauri 2 + WebView2: 크롬을 통째로 싸는 Electron과 달리 OS 내장 WebView를 써서 용량이 ~40배 작다.
  • 프론트엔드는 번들러 없는 정적 src/index.html (withGlobalTauri로 window.__TAURI__ 직접 사용).
  • 창 흔들기·항상 맨 위·CLI 인자 파싱은 Rust 커맨드(freakout_start/freakout_stop/get_launch_args)로 처리.

GitHub 배포 메모

  • 빌드 산출물(src-tauri/target/, 설치 파일)은 git에 커밋하지 않는다(.gitignore 처리).
  • 소스만 push → 릴리스 때 npm run tauri build로 만든 설치 파일을 GitHub Release 자산으로 첨부.

파일 구조

  • src/index.html — UI + 타이머/알람 로직 (단일 파일, 번들러 없음).
  • src-tauri/src/lib.rs — Rust 커맨드(창 흔들기/항상 맨 위/CLI 인자).
  • src-tauri/tauri.conf.json — 창 설정(프레임리스 460×680), 번들(NSIS), 제품명.
  • src-tauri/capabilities/default.json — 프론트가 호출 가능한 창 권한.
  • docs/ — README용 스크린샷·GIF.

About

지랄발광 타이머 - 집중하다 시간 잊는 당신을 온몸으로 깨우는 데스크톱 타이머/알람

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages