기타 Lobsters · 2026-10-09

"내 터미널 테마를 그대로"… 가독성까지 자동으로 맞춰주는 TUI 테마 기술

핵심 요약
  • 터미널 도구 Pi가 사용자의 기존 터미널 색상을 감지해 자동으로 최적의 UI 테마를 생성하는 '시스템 테마'를 기본 탑재했습니다.
  • 460여 개 터미널 테마를 분석한 결과 기존 ANSI 색상은 명도와 대비 기준이 제각각이라 가독성 확보가 어려웠습니다.
  • 인간의 시각 인지를 반영한 OKLCH 색 공간을 활용해 사용자의 색감을 유지하면서도 명도를 계산해 완벽한 가독성을 구현했습니다.
요약 터미널 도구 'Pi' 개발사 Earendil이 사용자의 터미널 색상 테마를 자동으로 감지해 최적의 대비율을 갖춘 UI를 구성해 주는 '시스템 테마' 기술을 공개했습니다. 대부분의 개발자와 터미널 사용자는 각자 선호하는 커스텀 테마를 터미널에 적용해 둡니다. 이에 Pi 팀은 단순히 고정된 테마를 강요하는 대신 사용자의 터미널 색상을 읽어와 자연스럽게 어우러지는 테마를 만들고자 했습니다. 하지만 터미널 표준인 16색 ANSI 팔레트(1970년대 ECMA-48 및 ANSI X3.64 규격 기반)는 색상 이름만 정의할 뿐 배경색과의 대비나 밝기 기준이 없습니다. 실제로 인기 터미널 고스티(Ghostty)의 460여 개 테마를 분석한 결과, 밝은 색 변형이 다크 테마에서조차 60%만 일반 색상보다 대비가 높았고, 라이트 테마에서는 25%에 불과했습니다. 또한 보조 텍스트에 자주 쓰이는 'Bright black'은 대부분의 다크 테마에서 WCAG 접근성 기준(3:1)조차 충족하지 못했습니다. 특히 Pi처럼 본문, 흐린 텍스트, 에러 패널 등 약 60가지의 색상 역할이 필요한 복잡한 TUI(텍스트 유저 인터페이스) 환경에서는 기존 ANSI 색을 그대로 쓰면 가독성이 크게 떨어지는 문제가 발생했습니다. 이를 해결하기 위해 개발진은 모니터 하드웨어 중심의 RGB 색 공간 대신 인간의 시각 인지를 반영한 'OKLCH' 색 공간을 도입했습니다. RGB는 명도 축이 없어 대비를 직접 제어하기 어렵지만, 명도(Lightness), 채도(Chroma), 색조(Hue) 축을 가진 OKLCH를 사용하면 사용자 테마의 고유한 색조를 유지하면서도 배경 대비에 맞춰 명도를 정밀하게 계산해 가독성을 완벽하게 보장할 수 있다는 설명입니다.
Sponsored · 광고