테마
기본 GJC red-claw 다크 테마, 테마 설정이 저장되는 위치, 커스텀 테마 로딩 방식, 그리고 터미널 이미지 프로토콜 제어(GJC_FORCE_IMAGE_PROTOCOL, GJC_ALLOW_SIXEL_PASSTHROUGH).
Gajae-Code(gjc)는 JSON 컬러 토큰으로 구동되는 테마 TUI를 제공합니다. 명시적인 사용자 설정이 항상 우선합니다. 기본 모습은 GJC red-claw 다크 테마입니다.
기본 테마
기본 다크 테마는 red-claw입니다. 따뜻한 red-claw accent와 강한 상태 대비를 가진 GJC 기본 다크 테마입니다. 라이트 외형 터미널은 blue-crab을 기본으로 씁니다.
설정 스키마의 기본값:
| 설정 | 기본값 |
|---|---|
theme.dark | red-claw |
theme.light | blue-crab |
symbolPreset | unicode |
colorBlindMode | false |
이 값들은 전역 설정 YAML <agentDir>/config.yml(기본 ~/.gjc/agent/config.yml)에 저장됩니다. 레거시 플랫 theme: "name"은 휘도 감지에 따라 중첩 theme.dark / theme.light로 마이그레이션됩니다.
자동 슬롯 선택
테마가 자동일 때, GJC는 다음 순서로 터미널 외형에서 다크/라이트 슬롯을 고릅니다.
COLORFGBG 배경 인덱스(< 8이면 다크, >= 8이면 라이트).자동 모드는 터미널 외형 변화, SIGWINCH, macOS 폴백 옵저버 시 슬롯을 다시 평가합니다.
테마가 제어하는 것
테마 시스템은 TUI 컬러 토큰을 구동합니다. 다음 항목이 포함됩니다.
- 전경/배경, 마크다운 스타일
- 선택기/에디터/설정 목록 어댑터
- 심볼 프리셋(
unicode | nerd | ascii)과 오버라이드 - 네이티브 구문 강조 색
- 상태 줄 세그먼트 색
커스텀 테마는 모든 colors 토큰이 필수입니다. export와 symbols는 선택입니다.
내장 vs 커스텀 테마
테마 조회 순서:
- 내장 임베디드 테마(
red-claw,blue-crab,claude-code,codex,opencode, legacy dark/light 테마). - 커스텀 테마 파일:
<customThemesDir>/<name>.json.
커스텀 테마 디렉터리의 기본 경로는 ~/.gjc/agent/themes입니다. GJC_CODING_AGENT_DIR($GJC_CODING_AGENT_DIR/themes)로 오버라이드할 수 있습니다. 이름 충돌 시 내장이 우선합니다.
번들 테마
| 테마 | 잘 맞는 경우 |
|---|---|
red-claw | 다크 터미널의 GJC 기본 정체성. |
blue-crab | 라이트 터미널 또는 OS 라이트 외형. |
claude-code | GJC를 떠나지 않고 Claude Code 감각을 유지할 때. |
codex | Codex 같은 어두운 작업 공간. |
opencode | OpenCode 감각을 번들 picker에서 쓰고 싶을 때. |
커스텀 테마 만들기
~/.gjc/agent/themes/my-theme.json.name, 선택적 vars, 그리고 모든 필수 colors 토큰을 포함합니다. 선택적으로 symbols와 export도.red-claw를 고르세요.설정 테마 선택기 동작:
- 선택기는 확정 전용입니다. 방향키 탐색은 렌더링 테마를 바꾸지 않습니다.
- Enter로 확정하기 전까지 표시명과 저장명이 일치합니다.
- 인터랙티브 실행 중에는 커스텀 테마 파일 편집이 저장 시 자동 리로드됩니다.
- 내장 테마는 감시하지 않습니다. 리로드 오류 시 마지막으로 성공적으로 로드된 테마가 유지됩니다.
- 명시적 전환이 실패하면 내장
dark로 폴백합니다.
터미널 이미지 프로토콜
Gajae-Code는 터미널 이미지 프로토콜로 인라인 이미지를 렌더링합니다. 감지는 자동이지만, 환경 변수로 강제할 수 있습니다.
| 변수 | 동작 |
|---|---|
GJC_FORCE_IMAGE_PROTOCOL | 이미지 프로토콜을 강제 — kitty, iterm2/iterm, sixel, none. |
GJC_ALLOW_SIXEL_PASSTHROUGH | GJC_FORCE_IMAGE_PROTOCOL=sixel일 때 SIXEL 패스스루 허용. |
GJC_FORCE_IMAGE_PROTOCOL=none으로 설정하면 인라인 이미지를 완전히 끕니다(멀티플렉서나 이미지 이스케이프를 잘못 처리하는 터미널에서 유용). GJC_ALLOW_SIXEL_PASSTHROUGH는 강제 프로토콜이 sixel일 때만 적용됩니다.
관련 감지 신호
다음은 런타임 신호로 읽힙니다. 보통 손으로 설정하지 않고, 터미널/OS가 자동으로 설정합니다.
COLORTERM,TERM,WT_SESSION— 색 지원 능력(테마 컬러 모드).COLORFGBG— 터미널 배경 명/암 자동 감지.
컬러 모드 해석:
COLORTERM=truecolor|24bit또는WT_SESSION— truecolor.TERM이dumb/linux/ 빈 값 — 256-color.- 그 외 — truecolor.