Documentation

고급 설정 (config.toml)

config.toml 파일을 사용하여 Snapzy를 프로그래밍 방식으로 구성하고, 이식 가능한 설정 관리, 자동 백업 및 dotfiles 워크플로 동기화를 구현합니다.

개요

파워 유저, 개발자 및 시스템 관리자를 위해 Snapzy는 표준 TOML 파일(config.toml)을 사용한 고급 프로그래밍 방식 구성을 지원합니다. 이를 통해 모든 애플리케이션 설정을 일반 텍스트로 관리하고, dotfiles 저장소를 사용하여 동기화하며, macOS 환경 전반에 걸쳐 자동화된 배포를 설정할 수 있습니다.

초기 설정 요구사항 — macOS 샌드박스 보안으로 인해 Snapzy가 홈 디렉터리 아래의 파일을 읽고 쓰려면 단 한 번의 폴더 권한 부여가 필요합니다. 설정의 고급(Advanced) 탭에서 이를 완료해 주세요.


시작하기

1. 설정 폴더 권한 허용

  1. Snapzy 설정(Cmd + ,)을 열고 고급 (Advanced) 탭으로 이동합니다.
  2. **config.toml 설정 (Set Up config.toml)**을 클릭합니다.
  3. 시스템 대화 상자가 나타나 설정 디렉터리를 선택하거나 액세스 권한을 부여하도록 요청합니다. 설정 디렉터리(일반적으로 ~/.config/snapzy/)를 선택하고 **액세스 허용 (Grant Access)**을 클릭합니다.

액세스가 허용되면 Snapzy는 자동으로 다음 경로에 기본 config.toml 파일을 생성합니다:

~/.config/snapzy/config.toml

2. 동기화 및 백그라운드 로딩

  • 실행 시 자동 적용: 앱이 시작될 때마다 Snapzy는 config.toml을 구문 분석하고 유효성을 검사합니다.
  • 자동 백그라운드 동기화: 앱은 백그라운드에서 config.toml 파일의 변경 사항을 모니터링합니다. 편집기에서 직접 저장된 변경 사항은 몇 초 내에 자동으로 검증되고 적용됩니다(불완전한 읽기를 방지하기 위해 디바운스 처리가 되어 있습니다).
  • 수동 동기화: 고급 설정 탭에 있는 config.toml 동기화 (Sync config.toml) 버튼을 누르면 설정을 즉시 다시 로드할 수 있습니다.
  • 기본값 복원: 기본값 복원을 클릭하면 기존 TOML 파일이 리셋되고 공장 초기값으로 덮어씁니다.

TOML 파일 예제 템플릿

아래는 모든 구성 가능한 프로퍼티와 각 특성을 설명하는 주석이 포함된 완전한 config.toml 파일 템플릿입니다.

# Snapzy TOML 설정 스키마 버전 (반드시 1이어야 함)
schema_version = 1

# 이 파일에 필요한 최소 Snapzy 버전
snapzy_min_version = "1.20.0"

[general]
language = "system"                # "system" 또는 언어 코드: "en", "vi", "ja", "ko", "ru", "zh", "zh-tw"
appearance = "system"              # 테마 설정: "system", "light" 또는 "dark"
play_sounds = true                 # 캡처/녹화 시 사운드 효과 재생
start_at_login = false             # macOS 시작 시 Snapzy 자동 실행
export_location = "~/Pictures"     # 캡처 파일을 저장할 로컬 폴더 경로 (~ 문자 지원)

[updates]
check_automatically = true         # Sparkle을 사용하여 자동으로 업데이트 확인
download_automatically = false     # 안내 팝업 없이 백그라운드에서 자동으로 업데이트 다운로드

[diagnostics]
enabled = true                     # 문제 해결용 로컬 진단 로그 작성 활성화
retention_days = 7                 # 로그 파일 보존 일수 (1~30일)

[capture]
hide_desktop_icons = false         # 캡처 시 바탕화면 아이콘을 일시적으로 숨김
hide_desktop_widgets = false       # 캡처 시 바탕화면 위젯을 일시적으로 숨김

[capture.naming]
screenshot_template = "Snapzy_{year}-{month}-{day}_{hour}-{minute}-{second}_{milliseconds}" # 스크린샷 이름 템플릿
recording_template = "Snapzy_{year}-{month}-{day}_{hour}-{minute}-{second}_{milliseconds}"  # 녹화 비디오 이름 템플릿

[capture.screenshot]
format = "png"                     # 스크린샷 이미지 형식: "png", "jpeg" 또는 "webp"
include_snapzy = false             # 캡처 이미지에 Snapzy 자신의 제어 창 영역을 포함
show_cursor = false                # 스크린샷 이미지에 macOS 마우스 커서 표시 여부

[capture.scrolling]
show_hints = true                  # 스크롤 캡처 작업 시 화면 안내 힌트 표시

[capture.ocr]
success_notification = false       # 텍스트 추출 (OCR) 성공 시 시스템 알림 표시

[capture.object_cutout]
auto_crop = true                   # 객체 잘라내기 시 주변 여백 자동 트리밍

[capture.after.screenshot]
save = true                        # 스크린샷을 로컬 내보내기 폴더에 자동 저장
quick_access = true                # 캡처 후 화면에 퀵 액세스(미리보기) 패널 표시
copy_file = true                   # 저장된 파일 경로를 클립보드에 복사
open_annotate = false              # 캡처 후 자동으로 주석(Annotate) 편집기에서 열기
upload_to_cloud = false            # 캡처 후 즉시 구성된 클라우드 버킷에 업로드

[capture.after.recording]
save = true                        # 녹화 비디오를 로컬 내보내기 폴더에 자동 저장
quick_access = true                # 녹화 완료 후 화면에 퀵 액세스 패널 표시
copy_file = true                   # 비디오 파일 경로를 클립보드에 복사
open_annotate = false              # 녹화 후 자동으로 비디오 편집기(Video Editor)에서 열기
upload_to_cloud = false            # 녹화 후 즉시 구성된 클라우드 버킷에 업로드

[recording]
format = "mov"                     # 비디오 파일 컨테이너 형식: "mov" 또는 "mp4"
quality = "high"                   # 녹화 품질 프리셋: "high", "medium" 또는 "low"
fps = 30                           # 대상 녹화 프레임 레이트 (1~120)
output_mode = "video"              # 내보내기 미디어 형식: "video" (MP4/MOV) 또는 "gif" (움짤 GIF)
capture_system_audio = true        # 시스템 사운드 녹음 설정 (가상 오디오 드라이버 필요)
capture_microphone = false         # 마이크 오디오 녹음 설정
microphone_device_id = ""          # 오디오 입력을 위한 CoreAudio 마이크 장치 UID
remember_last_area = true          # 다음 캡처를 위해 마지막으로 선택한 캡처 영역의 좌표 기억
include_snapzy = false             # 녹화 비디오에 Snapzy 제어 도구 모음 및 오버레이 포함
show_cursor = true                 # 녹화 비디오에 macOS 마우스 커서 포함
highlight_clicks = false           # 마우스 클릭 시 화면에 하이라이트 애니메이션 링 표시
show_keystrokes = false            # 녹화 중 입력된 단축키를 화면에 표시

[recording.mouse_highlight]
size = 50                          # 마우스 클릭 하이라이트 원의 직경 (픽셀 단위, 20~120)
animation_duration = 0.7           # 클릭 파동 애니메이션 지속 시간 (초 단위, 0.1~3.0)
color = "#FF000080"                # 하이라이트 원 색상 HEX 코드 (#RRGGBB 또는 #RRGGBBAA)
opacity = 0.5                      # 원의 불투명도 (0.0~1.0)
ripple_count = 3                   # 클릭당 나타나는 파동 애니메이션 레이어 수 (1~6)

[recording.keystrokes]
font_size = 18.0                   # 키 입력 표시 글자 크기 (포인트 단위, 10.0~48.0)
position = "bottomCenter"          # 표시 위치: "topLeft", "topRight", "bottomLeft", "bottomRight", "bottomCenter" 등
display_duration = 2.0             # 화면에 단축키가 머무르는 시간 (초 단위, 0.3~10.0)

[recording.annotation_shortcuts]
modifier = "shift"                 # 녹화 중 주석 도구 호출용 보조 키: "shift", "option", "command", "control"
hold_duration = 1.0                # 주석 바 활성화를 위한 키 누름 지속 시간 (초 단위, 0.1~5.0)

[quick_access]
enabled = true                     # 캡처 후 퀵 액세스 미리보기 패널 활성화 여부
position = "bottomRight"           # 패널이 고정될 화면 모서리: "topLeft", "topRight", "bottomLeft", "bottomRight"
auto_dismiss = true                # 일정 시간 경과 후 패널 자동 사라짐 활성화
auto_dismiss_delay = 10.0          # 자동 사라짐 대기 시간 (초 단위, 3.0~30.0)
pause_countdown_on_hover = true    # 패널 위에 마우스 커서가 있으면 카운트다운 타이머 중지
overlay_scale = 1.0                # 미리보기 패널의 확대 비율 (0.75~1.5)
drag_drop = true                   # 패널에서 직접 파일 드래그 앤 드롭 내보내기 허용
actions_order = ["copy", "annotate", "save", "cloud", "delete"] # 빠른 버튼 표시 순서
enabled_actions = ["copy", "annotate", "save", "cloud", "delete"] # 표시할 액션 버튼 목록

[quick_access.slots]
center_top = "copy"                # 중앙 상단 슬롯에 액션 할당
center_bottom = "annotate"         # 중앙 하단 슬롯에 액션 할당
top_trailing = "save"              # 우측 상단 슬롯에 액션 할당
top_leading = "cloud"              # 좌측 상단 슬롯에 액션 할당
bottom_leading = "delete"          # 좌측 하단 슬롯에 액션 할당
bottom_trailing = ""               # 비워 두면 할당 없음

[history]
enabled = true                     # 애플리케이션 내의 캡처 역사 기록 보관 활성화
retention_days = 30                # 기록 저장 기간 (0은 영구 보존)
max_count = 500                    # 최대 기록 저장 개수 (0~1000)
background_style = "hud"           # 패널 배경 테마: "hud" (유리 효과) 또는 "solid" (불투명)
open_on_launch = false             # 앱이 실행될 때 역사 브라우저 창 자동 열기

[history.floating]
enabled = true                     # 화면에 떠 있는 역사 HUD 바 표시
position = "topCenter"             # 역사 HUD 바의 고정 위치: "topCenter", "bottomCenter", "center"
default_filter = "all"             # 초기 필터 유형: "all", "screenshot", "recording", "ocr", "cutout"
max_displayed_items = 10           # 역사 HUD의 최대 미리보기 카드 수 (3~20)
scale = 1.0                        # 역사 HUD의 줌 비율 (0.8~1.2)
auto_clear_days = 0                # 지정 일수보다 오래된 역사 항목 자동 정리 (0~365)

[cloud]
provider = "aws_s3"                # 클라우드 스토리지 서비스: "aws_s3" 또는 "cloudflare_r2"
bucket = "my-snapzy-bucket"        # AWS S3 / Cloudflare R2 버킷 명칭
region = "us-east-1"               # 버킷 리전 식별자 (S3 설정 시 필수)
endpoint = ""                      # API 접속 엔드포인트 URL (R2 설정 시 필수)
custom_domain = ""                 # 공유 링크 생성을 위한 사용자 정의 도메인명
expire_time = "7d"                 # 공유 링크 유효기간/라이프사이클: "1d", "3d", "7d", "14d", "30d", "60d", "90d", "permanent"
uploads_window_position = "center" # 업로드 현황 모니터링 HUD의 위치: "top", "center", "bottom"

[annotate]
clipboard_image_open_behavior = "ask" # 빈 주석 도구 실행 시 클립보드 이미지 처리: "ask", "loadAutomatically", "doNothing"
close_after_drag = true            # 파일 드래그 드롭으로 복사 완료 시 주석 창 자동 닫기
bring_forward_after_drag = false   # 드래그 복사 완료 후 타겟 앱 창을 전면으로 가져오기
quick_properties_sync = true       # 펜 두께 및 색상 정보를 도구 간 즉시 동기화

[shortcuts]
enabled = true                     # 단축키 리스너 활성화 (단축키 등록 시 반드시 필요)

[shortcuts.global.fullscreen]
enabled = true
key = "3"
modifiers = ["command", "shift"]

[shortcuts.global.area]
enabled = true
key = "4"
modifiers = ["command", "shift"]

[shortcuts.global.areaAnnotate]
enabled = true
key = "7"
modifiers = ["command", "shift"]

[shortcuts.global.scrollingCapture]
enabled = true
key = "6"
modifiers = ["command", "shift"]

[shortcuts.global.recording]
enabled = true
key = "5"
modifiers = ["command", "shift"]

[shortcuts.global.annotate]
enabled = true
key = "A"
modifiers = ["command", "shift"]

[shortcuts.global.videoEditor]
enabled = true
key = "E"
modifiers = ["command", "shift"]

[shortcuts.global.cloudUploads]
enabled = true
key = "L"
modifiers = ["command", "shift"]

[shortcuts.global.shortcutList]
enabled = true
key = "K"
modifiers = ["command", "shift"]

[shortcuts.global.ocr]
enabled = true
key = "2"
modifiers = ["command", "shift"]

[shortcuts.global.objectCutout]
enabled = true
key = "1"
modifiers = ["command", "shift"]

[shortcuts.global.history]
enabled = true
key = "H"
modifiers = ["command", "shift"]

[shortcuts.overlay.area_application_capture]
enabled = true
key = "SPACE"                      # 영역 선택 모드 시 추가 제어 단축키
modifiers = []

[shortcuts.overlay.recording_application_capture]
enabled = true
key = "SPACE"
modifiers = []

[shortcuts.annotate_tools]
disabled = []
# 숫자 키 "1"~"8"을 눌러 각각의 주석 그리기 도구 즉시 전환
"1" = "pen"
"2" = "arrow"
"3" = "rect"
"4" = "oval"
"5" = "text"
"6" = "blur"

[shortcuts.annotate_actions.copyAndClose]
enabled = true
key = "C"
modifiers = ["command"]

[shortcuts.annotate_actions.toggleSidebar]
enabled = true
key = "B"
modifiers = ["command"]

[shortcuts.annotate_actions.togglePin]
enabled = true
key = "P"
modifiers = ["command"]

[shortcuts.annotate_actions.cloudUpload]
enabled = true
key = "U"
modifiers = ["command"]

구성 프로퍼티 참조 가이드

일반 항목 ([general])

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
language문자열"system""system", "en", "vi", "ja", "ko", "ru", "zh", "zh-tw"Snapzy UI 인터페이스 언어 설정.
appearance문자열"system""system", "light", "dark"UI 화면 테마 설정 모드.
play_sounds불리언truetrue, false캡처 또는 녹화 시 효과음의 사용 여부 설정.
start_at_login불리언falsetrue, falsemacOS 사용자 로그인 시 앱을 자동으로 시작.
export_location문자열"~/Pictures"올바른 디렉터리 경로캡처 이미지 및 비디오 파일 저장 디렉터리.

업데이트 및 진단 로그

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
updates.check_automatically불리언truetrue, falseSparkle 업데이트 서비스를 이용해 자동으로 새 버전 체크.
updates.download_automatically불리언falsetrue, false확인 팝업 없이 백그라운드에서 새 버전을 자동으로 다운로드.
diagnostics.enabled불리언truetrue, false문제 보고를 위한 내부 프로세스 진단 로그 기록 활성화.
diagnostics.retention_days정수71 ~ 30진단용 로그를 기기에 저장할 보존 일수 설정.

스크린샷 및 이름 규칙 ([capture])

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
hide_desktop_icons불리언falsetrue, false화면 캡처 진행 시 임시로 바탕화면 아이콘을 보이지 않게 처리.
hide_desktop_widgets불리언falsetrue, false화면 캡처 진행 시 임시로 바탕화면 위젯을 보이지 않게 처리.
naming.screenshot_template문자열"Snapzy_{year}...템플릿 형식 문자열캡처 이미지 저장 시 적용할 자동 파일명 규칙.
naming.recording_template문자열"Snapzy_{year}...템플릿 형식 문자열녹화 비디오 저장 시 적용할 자동 파일명 규칙.
screenshot.format문자열"png""png", "jpeg", "webp"캡처할 이미지 확장자 및 포맷 형식 설정.
screenshot.include_snapzy불리언falsetrue, false스크린샷 이미지에 Snapzy 자신의 제어용 창이 겹쳐서 찍히게 허용.
screenshot.show_cursor불리언falsetrue, false스크린샷 이미지에 시스템 마우스 포인터 표시.
scrolling.show_hints불리언truetrue, false스크롤 캡처 작업 시 작동 안내 가이드 가시화 설정.
ocr.success_notification불리언falsetrue, false문자 추출(OCR)이 정상적으로 끝났을 시 시스템 알림 전송.
object_cutout.auto_crop불리언truetrue, false객체 잘라내기 완료 시 여백 테두리 부분을 자동으로 크롭.

캡처 후 후속 이벤트 (After Capture)

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
capture.after.screenshot.save불리언truetrue, false내보내기 폴더에 파일이 자동 기록되도록 설정.
capture.after.screenshot.quick_access불리언truetrue, false캡처 후 썸네일과 조작을 위한 퀵 액세스 패널 출력.
capture.after.screenshot.copy_file불리언truetrue, false생성된 캡처 파일의 경로명을 기기 클립보드에 즉각 복사.
capture.after.screenshot.open_annotate불리언falsetrue, false이미지 주석(Annotate) 그리기 에디터로 자동 전송.
capture.after.screenshot.upload_to_cloud불리언falsetrue, false설정한 클라우드 웹 스토리지로 캡처 즉시 업로드 요청.
capture.after.recording.save불리언truetrue, false내보내기 폴더에 비디오 파일이 자동 기록되도록 설정.
capture.after.recording.quick_access불리언truetrue, false녹화 후 조작을 위한 퀵 액세스 패널 출력.
capture.after.recording.copy_file불리언truetrue, false생성된 비디오 파일의 경로명을 기기 클립보드에 복사.
capture.after.recording.open_annotate불리언falsetrue, false영상 컷 편집을 지원하는 비디오 에디터 창으로 자동 이동.
capture.after.recording.upload_to_cloud불리언falsetrue, false녹화 종료 즉시 스토리지 업로드 작업을 트리거.

스크린 녹화 ([recording])

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
format문자열"mov""mov", "mp4"영상 압축 파일 포맷 형식.
quality문자열"high""high", "medium", "low"비디오 압축 퀄리티 타겟 프리셋 지정.
fps정수301 ~ 120초당 저장할 프레임 밀도 수치 설정.
output_mode문자열"video""video", "gif"최종 미디어의 형식 지정.
capture_system_audio불리언truetrue, false컴퓨터 내부에서 출력되는 전반 소리를 녹음.
capture_microphone불리언falsetrue, false외부 마이크로 들어오는 사용자 소리를 녹음.
microphone_device_id문자열""올바른 오디오 장치 식별 번호특정 외부 마이크 하드웨어를 수동 선택할 때 사용.
remember_last_area불리언truetrue, false가장 마지막에 잡았던 영상 녹화 사각 영역 위치 기억.
show_cursor불리언truetrue, false녹화할 영상에 마우스 커서도 표시하여 저장.
highlight_clicks불리언falsetrue, false마우스 좌우 클릭 시 화면에 효과링 표시 여부.
show_keystrokes불리언falsetrue, false단축키 입력 내용을 투명 UI로 화면에 동시 전송.
mouse_highlight.size실수50.020.0 ~ 120.0클릭 강조 원의 픽셀 직경 사이즈 설정.
mouse_highlight.color문자열"#FF000080"HEX 색상 코드 (#RRGGBBAA)원 표시의 색조 설정.
mouse_highlight.opacity실수0.50.0 ~ 1.0클릭 피드백 표시의 불투명도.
mouse_highlight.ripple_count정수31 ~ 61회 클릭 시 표출할 물결 레이어의 수 설정.
keystrokes.font_size실수18.010.0 ~ 48.0텍스트 표시 상의 글꼴 높이(포인트).
keystrokes.position문자열"bottomCenter"화면 모서리 위치단축키 시각화 알림 상자가 표출될 화면 좌표.
keystrokes.display_duration실수2.00.3 ~ 10.0단축키가 지워지기 전 유지 일시 시간 설정.
annotation_shortcuts.modifier문자열"shift"키보드 키 종류녹화 도중 단축 툴바를 호출할 트리거 키.
annotation_shortcuts.hold_duration실수1.00.1 ~ 5.0트리거 키를 눌러 활성화하기 위한 지속 시간.

퀵 액세스 패널 ([quick_access])

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
enabled불리언truetrue, false퀵 액세스 조작 오버레이의 노출 여부 전환.
position문자열"bottomRight"화면 모서리 위치패널이 달라붙을 화면 각 모퉁이 지정.
auto_dismiss불리언truetrue, false시간 흐름에 따른 자동 닫힘 타이머를 구동.
auto_dismiss_delay실수10.03.0 ~ 30.0퀵 액세스가 닫히기 전 화면에 열려 있을 최대 대기 시간.
pause_countdown_on_hover불리언truetrue, false패널에 마우스 오버 시 자동 소멸 카운트를 정지.
overlay_scale실수1.00.75 ~ 1.5미리보기 패널의 전체 시각 스케일 보정.
drag_drop불리언truetrue, false드래그 앤 드롭을 통한 파일 공유 허용.
actions_order문자열 배열기본값액션 고유 UIDs 목록버튼 정렬 레이아웃 규칙 순서 설정.
enabled_actions문자열 배열기본값액션 고유 UIDs 목록화면에 실제로 배치할 퀵 버튼 기능들 선택.

기록 보관소 ([history])

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
enabled불리언truetrue, false캡처 이력 데이터를 내부에 로깅하도록 활성화.
retention_days정수300 ~ 90이력을 저장할 수 있는 유효 일수 (0은 삭제 없음).
max_count정수5000 ~ 1000로깅할 수 있는 최대 역사 이력 행 개수 제한.
background_style문자열"hud""hud", "solid"기록 창의 비주얼 뒷배경 불투명 모드 테마.
open_on_launch불리언falsetrue, falseSnapzy 앱 론칭 시 기록 브라우저 창을 자동 소환.
floating.enabled불리언truetrue, false투명 화면에 둥둥 뜨는 역사 HUD 바 출력 여부.
floating.position문자열"topCenter"HUD 정렬 유형역사 HUD 바를 화면의 어느 방향에 띄울지 조율.
floating.max_displayed_items정수103 ~ 20역사 HUD에 노출할 썸네일 카드 최대 개수 지정.
floating.scale실수1.00.8 ~ 1.2띄워진 역사 HUD 툴바 크기 확대/축소.

클라우드 설정 ([cloud])

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
provider문자열"aws_s3""aws_s3", "cloudflare_r2"사용할 가상 원격 클라우드 서비스 제공처 지정.
bucket문자열""버킷 주소 명칭S3 또는 R2 원격 저장소 버킷 이름 지정.
region문자열"us-east-1"AWS S3 리전 코드데이터가 입출력될 지역 코드 (S3 지정 시 필수).
endpoint문자열""접속 주소 URLAPI 엔드포인트 URL 주소 (R2 지정 시 필수).
custom_domain문자열""도메인 URL공유 링크 생성을 위한 커스텀 호스트 도메인 지정.
expire_time문자열"7d""1d", "3d", "7d", "14d", "30d", "60d", "90d", "permanent"임시 발급된 접속 링크의 만료 기간 설정.
uploads_window_position문자열"center""top", "center", "bottom"업로드 진척 상황 팝업 창의 중심 위치 설정.

보안 공지 — AWS Access Key, Secret Token 등 민감한 개인 인증용 계정 키 정보는 저장소 유출 위험(GitHub 등 퍼블릭 레포)을 원천 방지하기 위해 텍스트 방식의 config.toml절대 노출 및 기록되지 않습니다. 대신 기기 내의 macOS Keychain 서비스에서 보안 암호화 보관 처리됩니다.

주석 판넬 에디터 ([annotate])

프로퍼티 명칭데이터 유형기본값사용 가능한 옵션 / 허용 범위상세 설명
clipboard_image_open_behavior문자열"ask""ask", "loadAutomatically", "doNothing"에디터 시작 시 클립보드 안에 복사된 이미지 자동 처리 방식.
close_after_drag불리언truetrue, false드래그하여 외부 복사 내보내기 끝난 즉시 주석 창 소멸.
bring_forward_after_drag불리언falsetrue, false드래그가 수신된 대상 타겟 앱을 OS 화면 최상단 전면 이동.
quick_properties_sync불리언truetrue, false색칠 도구 간 선택한 펜 굵기와 색상 속성을 즉각 공유.

유효성 검사 및 에러 해결

Snapzy는 config.toml 로드 시 엄격한 값 규격 체크를 수행합니다:

  • 범위 초과 경고: 특정 프로퍼티 값이 권장되는 유효 바운더리를 넘어가게 기재하면(예: fps = 150 또는 overlay_scale = 3.0), Snapzy는 로깅 영역에 Warning 문구를 뱉고 해당 속성을 스킵한 채 공장 기본값(Default)을 꺼내서 대입합니다.
  • 데이터 타입 불일치: 잘못된 자료형(예: Boolean 속성에 일반 텍스트 문자열 지정)을 써넣게 되면 구문 분석 도중 치명적인 에러(Error)를 반환합니다. 이 경우에는 해당 섹션의 설정을 통째로 읽어 들이지 않으며, 기존 앱 내부 설정을 그대로 복원해 사용합니다.
  • 오류 내역 파악: config.toml 검사 시 적발된 각종 문법 오류나 경고 메시지 목록은 앱 설정창의 고급(Advanced) 탭 설정 뷰 동기화 란에서 즉각 육안으로 파악하실 수 있습니다.

최고의 작업물을
캡처할 준비가 되셨나요?

macOS용 최고의 화면 캡처 도구를 만드는 오픈소스 커뮤니티에 참여하세요.

macOS 13+ · Intel 및 Apple Silicon