테마
sophonz 테마 파일 — iTerm2 색 테마의 키에 터미널 둘레 앱의 색을 더한 형식 — 스키마, 모든 키, 내려받을 테마, 가져오는 방법.
테마는 터미널, 그리고 원하면 그 둘레의 앱까지 칠하는 JSON 파일입니다. 앱은 사이드바, 탭, 에이전트 차트, 메뉴, 대화상자를 말합니다. 파일 형식 theme v1은 iTerm2 색 테마에 키 몇 개를 더한 것입니다. 그래서 JSON으로 쓴 iTerm2 테마는 그대로 올바른 테마이고, .itermcolors 파일도 그대로 읽습니다.
| 터미널 색 | 앱 색(UI … Color) | 테마 가져오기 | |
|---|---|---|---|
| 데스크탑 앱 | 예 | 예(0.1.29 이상) | 설정 → Terminal theme → + Import…(0.1.28 이상) |
| 브라우저 터미널 | 예 | 예, 데스크탑 레이아웃에서(st 0.3.81 이상) | 설정 → Terminal theme → + Import…(st 0.3.80 이상) |
| iPhone, Android | 예 | 아니요. 폰 앱은 자기 모양을 지킵니다 | 계정에 있는 테마를 읽습니다 |
가져온 테마는 계정에 남습니다(최대 16개). 그 계정으로 로그인한 앱은 모두 기본 테마 네 개 뒤에 이 테마들을 보여 줍니다. 지금 쓰는 테마도 계정에 저장되는 터미널 설정의 하나입니다. 데스크탑 앱은 0.1.27부터, 브라우저 터미널은 st 0.3.79부터 이 설정을 따릅니다.
테마 내려받기
각 파일에 터미널 색과 앱 색이 들어 있습니다. 내려받아 가져오거나, 직접 만들 때 출발점으로 쓰세요.
| 테마 | 모양 | |
|---|---|---|
| sophonz | Obsidian의 기본 어두운 모양이자 앱의 기본 테마. 고쳐 쓰기 좋은 파일입니다. | 내려받기 |
| sophonz Light | Obsidian의 기본 밝은 모양. 기본 테마의 밝은 쪽입니다. | 내려받기 |
| Dracula | Dracula의 사이드바와 선택 색, 보라 강조색. | 내려받기 |
| Nord | 앱은 Polar Night, 강조색은 Frost. | 내려받기 |
| Tokyo Night | Night 변형의 가장 어두운 파랑, 파랑 강조색. | 내려받기 |
| Catppuccin Mocha | base, mantle, surface, mauve 강조색. | 내려받기 |
| Gruvbox Dark | 사이드바는 hard 배경, 파랑과 노랑. | 내려받기 |
| Solarized Light | 앱은 base3와 base2, 파랑 강조색. | 내려받기 |
sophonz와 sophonz Light는 Obsidian의 기본 테마이고, Obsidian 1.8.4에서 읽은 값입니다. 그래서 앱에서 연 볼트가 앱과 같은 색으로 보입니다. 설정의 Appearance가 오가는 것은 이 둘뿐입니다. sophonz를 고르고 Appearance가 밝음(또는 시스템이 밝은 System)이면 앱은 sophonz Light를 그립니다. 다른 테마는 자기 모양을 지킵니다.
Dracula, Nord, Tokyo Night, Catppuccin, Gruvbox, Solarized 파일의 터미널 색은 iTerm2-Color-Schemes(MIT)에서 가져왔습니다. 앱 색은 각 테마의 팔레트에서 골랐습니다.
가져오기
데스크탑 앱이나 브라우저 터미널에서 설정을 열고 Terminal theme 줄의 + Import…를 누릅니다. 그 줄에 파일을 끌어 놓아도 됩니다. 여러 개를 한 번에 넣어도 되고, 마지막 것이 바로 골라집니다.
- 읽는 것: 이 페이지의 테마 JSON, iterm2colorschemes.com에서 받은 iTerm2
.itermcolors파일, 같은 모음의 Windows Terminal JSON. - 잘못된 파일: 이유와 함께 거절되고 아무것도 바뀌지 않습니다. 예:
"Backgrund Color" is not a key of a theme (theme-v1),missing Ansi 7 Color. - 같은 이름: 이름에서 나온 id가 같은 테마를 다시 넣으면 원래 것을 바꿉니다.
- 지우기: 그 테마 칸에 포인터를 올리고 ×를 누릅니다. 쓰던 테마면 터미널은 sophonz로 돌아갑니다.
파일 형식
{
"$schema": "https://www.sophonz.io/schemas/theme-v1.json",
"format": "sophonz-theme",
"version": 1,
"name": "Night Shift",
"author": "you",
"appearance": "dark",
"Ansi 0 Color": "#21222c",
"Ansi 1 Color": "#ff5555",
"…": "Ansi 2 Color부터 Ansi 15 Color까지 같은 방식",
"Background Color": "#282a36",
"Foreground Color": "#f8f8f2",
"Cursor Color": "#f8f8f2",
"Selection Color": "#44475a",
"UI Sidebar Color": "#21222c",
"UI Accent Color": "#bd93f9"
}("…" 줄은 키가 아닙니다. 실제 파일에는 ANSI 색 16개가 모두 있습니다.)
파일 정보
| 키 | |
|---|---|
$schema | https://www.sophonz.io/schemas/theme-v1.json. 편집기가 파일을 검사하게 합니다. 선택입니다. |
format, version | "sophonz-theme"과 1. 선택이라서 JSON으로 쓴 일반 iTerm2 테마도 테마입니다. 다른 값이면 거절합니다. |
name | 1–60자. 테마 목록에 보입니다. 없으면 파일 이름을 씁니다. |
author | 100자까지. 읽고 남기지 않습니다. |
description | 300자까지. 읽고 남기지 않습니다. |
appearance | "dark" 또는 "light". 없으면 배경색의 휘도가 0.5를 넘을 때 밝은 테마로 봅니다. 앱 색이 있으면 앱의 모양도 정합니다(아래). 폰 앱은 아직 배경색으로 판단합니다. |
터미널 색
ANSI 색 16개와 배경색, 글자색은 꼭 있어야 합니다.
| 키 | 없을 때 |
|---|---|
Ansi 0 Color … Ansi 7 Color | 필수: 검정, 빨강, 초록, 노랑, 파랑, 자홍, 청록, 흰색 |
Ansi 8 Color … Ansi 15 Color | 필수: 같은 순서의 밝은 색 |
Background Color | 필수 |
Foreground Color | 필수 |
Cursor Color | 글자색 |
Cursor Text Color | 배경색(블록 커서 밑의 글자) |
Selection Color | 배경색에서 글자색 쪽으로 4분의 1 간 색 |
Selected Text Color | 글자 원래 색 |
Bold Color | 글자 원래 색 |
256색 팔레트의 16–255번은 모든 테마에서 xterm의 표준 큐브와 회색입니다.
앱 색
UI … Color는 모두 선택입니다. 하나도 없으면 데스크톱 앱(0.2.0부터)은 터미널 색에서 앱 색을 만듭니다. 바탕과 사이드바는 배경색, 패널·경계·hover는 배경 위에 글자색을 5·14·8% 섞은 색, 흐린 글자는 62%, 선택은 터미널 선택색, 강조·묻는 색·성공·오류는 ANSI 4·3·2·1입니다. 0.2.0 이전에는 하나도 없으면 앱이 원래의 밝은 모양이나 어두운 모양을 지킵니다. 하나라도 있으면 테마의 appearance가 앱의 모양을 정합니다. 버튼과 입력란도 그에 맞춰 밝거나 어두워지고, 그 테마를 쓰는 동안 설정의 Appearance는 쓰이지 않습니다. 테마가 주지 않은 색은 그 모양의 원래 색입니다(데스크톱 0.2.0부터는 위처럼 터미널 색에서 만듭니다).
| 키 | 보이는 곳 |
|---|---|
UI Background Color | 타이틀 바, 칸 머리, 빈 공간. 브라우저에서는 페이지 |
UI Sidebar Color | 왼쪽 사이드바 |
UI Panel Color | 떠 있는 면: 에이전트 차트 카드, 메뉴, 팝오버, 대화상자, 상태 막대의 팝오버 |
UI Border Color | 창의 구역 사이와 카드 둘레의 선 |
UI Hover Color | 포인터 밑의 줄이나 버튼 |
UI Selection Color | 고른 줄, 탭, 선택지. 주어진 색 그대로 칠하므로 원하는 진하기로 주세요. 기본값은 배경 위 약 22%의 파랑입니다. |
UI Text Color | 사이드바, 탭, 메뉴, 대화상자의 이름과 글 |
UI Muted Text Color | 보조 글: 이름 밑의 명령, 수, 안내. 가장 흐린 글은 이 색과 배경 사이로 그립니다. |
UI Accent Color | 앞에 있는 세션, 링크, 주 버튼, 포커스 테두리, 일하는 에이전트 |
UI Agent Color | 에이전트 배지, 답을 기다리는 에이전트 |
UI Success Color | 끝남, 온라인, 통과 |
UI Error Color | 오류, 실패, 포인터 밑의 닫기 버튼 |
iTerm2의 다른 키
Link Color, Badge Color, Tab Color, Cursor Guide Color, Match Background Color, Underline Color, Active Pane Border Color, IME Cursor Color도 올바른 키입니다. 그래서 iTerm2 테마가 그대로 통과합니다. 그리지도 남기지도 않습니다.
iTerm2 3.5는 밝은 모드와 어두운 모드용으로 색을 두 번 씁니다: Background Color (Dark), Background Color (Light) 같은 식입니다. 터미널 키와 iTerm2 키에는 둘 다 올바르고, UI 키에는 쓸 수 없습니다. 꼬리표 없는 키가 이기고, 없으면 (Dark)를 씁니다. (Light)는 읽지 않습니다.
그 밖의 키가 있으면 파일이 올바르지 않습니다.
색 값
모든 색은 #rrggbb이거나 iTerm2의 사전입니다.
"Background Color": {
"Red Component": 0.157,
"Green Component": 0.165,
"Blue Component": 0.212,
"Alpha Component": 1,
"Color Space": "sRGB"
}| 키 | |
|---|---|
Red Component, Green Component, Blue Component | 필수, 0–1 |
Alpha Component | 0–1. 읽고 무시합니다. 색은 불투명합니다. |
Color Space | sRGB(기본)나 Calibrated는 sRGB로, P3(Display P3)는 sRGB로 바꿔 씁니다. 그 밖의 값은 거절합니다. |
제한과 검증
- 스키마:
theme-v1.json은 JSON Schema(2020-12)입니다. 모든 앱이 테마 JSON을 같은 규칙으로 검사합니다(데스크탑 앱 0.1.29, st 0.3.81 이상). 키, 값, 필수 색을 남기기 전에 확인합니다. - 크기와 개수: 파일은 256 KB까지입니다. 계정은 테마를 16개까지 둡니다.
- id:
custom-뒤에 이름을 소문자, 숫자,-로 바꿔 붙입니다. 40자까지입니다. 그런 글자가 하나도 없는 이름(한글만 있는 이름 등)은custom-theme이 됩니다. - 남는 것: 계정에는
id,name,appearance와 위의 색이#rrggbb로 남습니다. iTerm2의 다른 키,author,description은 빠집니다. - 다른 형식:
.itermcolors(Apple property list)와 Windows Terminal JSON(black…brightWhite,background,foreground,cursorColor,selectionBackground)은 이 스키마가 아니라 각자의 규칙으로 읽습니다. 앱 색은 없습니다.
편집기도 검사합니다
파일 맨 위에 $schema 줄이 있으면 VS Code처럼 JSON Schema를 아는 편집기가 쓰는 동안 파일을 검사합니다. 틀린 키나 잘못된 색에 표시를 하고, 모든 키를 설명과 함께 제안합니다.