break-reminder 작업 세션 기능 추가
break-reminder는 설정해 둔 근무 시간대와 요일에만 동작했다. 실제로 일을 시작하고 끝내는 시각은 알지 못해서, 일찍 시작하거나 늦게 끝나는 날에는 work_start_hour와 work_end_hour를 직접 고쳐야 했다. 50/10 말고 다른 주기를 쓸 방법도, 지금 잠깐 꺼 두는 스위치도 없었다. 그래서 v0.13.0에서 세 가지를 한꺼번에 손봤다.
활동으로 세션 잡기
근무 요일의 감지 시간대(기본 07:00~22:00) 안에서 키보드나 마우스를 처음 쓰면 세션이 시작되고, 30분 동안 입력이 없거나 감지 시간대가 끝나면 세션이 끝난다. 끝난 시각은 마지막으로 입력한 시각으로 잡는다.
메뉴 막대, 대시보드, CLI(break-reminder start, break-reminder stop)에서 직접 시작하거나 멈출 수도 있다. 직접 시작한 세션은 감지 시간대가 끝나도 닫히지 않고, 세션이 없을 때 멈추면 그날은 더 이상 알리지 않는다.
자동 감지는 기본으로 켰다. 기존 사용자에게는 근무 시간 밖에서도 세션이 잡히는 변화가 생기는데, 예전처럼 고정 근무 시간으로 쓰려면 설정 파일에서 auto_session_detect: false로 끄면 된다. 감지 시간대와 30분 기준이 적당한지는 PR에 확인할 점으로 남겨 뒀다.
뽀모도로 모드
break-reminder pomodoro on으로 켠다. 기본값은 25분 작업, 5분 휴식이고 네 번마다 15분 긴 휴식이 들어간다. break-reminder pomodoro off를 하면 기본 50/10 주기로 돌아간다.
이전 모드에서 센 작업 시간 때문에 바꾸자마자 휴식 알림이 뜨지 않게, 모드를 바꾸면 진행 중인 작업 블록을 처음부터 다시 세게 했다. 휴식 알림과 음성 안내에 “50분/10분”으로 박혀 있던 문구도 모드별 실제 길이로 바꿨다.
같이 고친 것
메뉴 막대와 GUI의 Reset, Force Break가 상태 파일을 새로 쓰면서 세션 정보를 날리던 문제도 고쳤다. 이 작업을 한 Claude Code 세션 환경에는 Swift 툴체인이 없어서 메뉴 막대 앱 코드는 PR의 macOS CI에서 처음 빌드했는데, 한 번에 통과했다.
brew install devlikebear/tap/break-reminder