테마

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부터 이 설정을 따릅니다.

테마 내려받기

각 파일에 터미널 색과 앱 색이 들어 있습니다. 내려받아 가져오거나, 직접 만들 때 출발점으로 쓰세요.

테마모양
sophonzObsidian의 기본 어두운 모양이자 앱의 기본 테마. 고쳐 쓰기 좋은 파일입니다.내려받기
sophonz LightObsidian의 기본 밝은 모양. 기본 테마의 밝은 쪽입니다.내려받기
DraculaDracula의 사이드바와 선택 색, 보라 강조색.내려받기
Nord앱은 Polar Night, 강조색은 Frost.내려받기
Tokyo NightNight 변형의 가장 어두운 파랑, 파랑 강조색.내려받기
Catppuccin Mochabase, 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개가 모두 있습니다.)

파일 정보

키
$schemahttps://www.sophonz.io/schemas/theme-v1.json. 편집기가 파일을 검사하게 합니다. 선택입니다.
format, version"sophonz-theme"과 1. 선택이라서 JSON으로 쓴 일반 iTerm2 테마도 테마입니다. 다른 값이면 거절합니다.
name1–60자. 테마 목록에 보입니다. 없으면 파일 이름을 씁니다.
author100자까지. 읽고 남기지 않습니다.
description300자까지. 읽고 남기지 않습니다.
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 Component0–1. 읽고 무시합니다. 색은 불투명합니다.
Color SpacesRGB(기본)나 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를 아는 편집기가 쓰는 동안 파일을 검사합니다. 틀린 키나 잘못된 색에 표시를 하고, 모든 키를 설명과 함께 제안합니다.