Changelog

최근 수정사항

pytmux 는 활발히 개선되고 있습니다. 이 페이지는 날짜별 변경 내역으로, 2026년 6월 2일 첫 커밋부터 지금까지 더해지거나 바뀐 내용을 모아 둔 곳입니다 (6월 30일 소개 사이트 공개가 그 중간 이정표입니다). 대부분은 그날 바로 반영됩니다.

읽는 법. 지금은 변화가 잦아 하루 단위로 묶어 최신 날짜가 맨 위에 오도록 정리합니다. 여기 적힌 것은 실제로 화면에서 보이고 체감되는 변화 위주이며, 내부 성능·안정화 작업은 요약만 적었습니다. 전체 변경 이력은 GitHub 커밋 로그에 있습니다.

2026-07-15 수요일

  • 문서 가이드가 안내하던 설정 명령 중 실제로는 동작하지 않던 것을 바로잡았습니다. 마우스 가이드가 Windows 마우스 이동 패스스루를 set win-mouse-motion on 으로 안내했는데, 이 형식은 아무 일도 하지 않고 조용히 무시됐습니다 — 올바른 형식은 set 을 뺀 win-mouse-motion on 입니다. 아울러 설정 파일 가이드가 "설정 파일의 set … 줄은 실행 중 :set … 으로 즉시 바꿀 수 있다"고 일반화했지만, :set 이 먹는 것은 mouse·prefix·mode-keys 등 일부뿐이라 나머지(strip-box-drawing·inactive-dim·language 등)는 set 없이 이름만 쳐야 합니다 — 실제 동작에 맞게 고쳤습니다.
    왜: 문서가 없는 조작을 광고하면 사용자는 자기가 틀린 줄 압니다 — 조용히 무시되는 명령은 오타와 구분되지 않습니다. 이번 점검은 사이트 31개 페이지의 명령·키·기본값을 코드에서 기계로 추출해 전수 대조했고, 그 밖에 권한모드 선택지(accept 누락)·토큰 팝업 탭 구성·설정 팝업의 항목 이름 표기도 실제 화면과 맞췄습니다.
  • 플러그인 새 플러그인 mdir — 1990년대 한국의 국민 파일 관리자 Mdir III 를 재현한 팝업 파일 관리자가 들어왔습니다(Esc:mdir, 별칭 m). 검정 바탕 다열 리스트·확장자별 색·하단 집계/시계줄까지 원본 배포판을 조사해 실측 재현했고, Space 태그 후 복사/이동/삭제/이름변경/새디렉토리, 정렬·필터·숨김 토글, 내장 텍스트 뷰어, zip/tar 내부 보기, F10 디렉토리 트리(ncd 연동), F4 패널 cd 까지 지원합니다. 파일 조작은 pytmux 서버가 직접 수행해 원격 탭이면 원격 머신의 파일시스템에 적용되고, 삭제는 확인 팝업(기본 취소)·덮어쓰기는 2단계 확인을 거칩니다.
    왜: ncd(디렉토리 이동)만으로는 파일을 만지려면 결국 셸 명령을 쳐야 했습니다 — Mdir 세대에게 익숙한 조작감 그대로, 탐색과 파일 정리를 팝업 하나에서 끝냅니다.
    색까지 원본 그대로: 초판의 배색이 원본 Mdir 과 미묘하게 달라, 원본 배포판 스크린샷의 픽셀을 직접 추출해 시안(#00aaaa) 크롬(상·하단 바·구분선·테두리)과 밝은 초록(#55ff55) 선택막대까지 실측값으로 맞췄습니다 — 그 시절 화면과 나란히 놓아도 같아 보입니다. 자세한 사용법은 mdir 플러그인 가이드에.
  • 문서 플러그인 13개 각각에 스크린샷·명령·키를 담은 개별 가이드 페이지가 생겼습니다. 플러그인 개요의 표에서 이름을 클릭하면 상세 페이지(/guide/plugin/<이름>)로 갑니다 — Claude 통합 6종, 탐색(ncd·mdir), 오버레이(clock·calendar), IME 배지, Perforce, REC 캡처까지 전부. 아울러 가이드/문서 페이지에서 섹션 사이가 과도하게 벌어지던 문제(모바일에서 특히)를 함께 고쳤습니다.
  • 탭이 많을 때 EscTab 으로 목록을 띄워 골라 전환합니다(탭 스위처). 지금까지 탭 전환은 번호를 알아야(Esc1–9) 하거나 한 칸씩(prefixn/p) 옮겨야 했습니다. 이제 EscTab 을 누르면 열린 탭 목록이 뜨고, Tab 을 누를 때마다 다음(Shift+Tab 은 이전) 탭이 선택만 됩니다 — 마음에 드는 탭에서 Enter 를 누르면 그 탭으로 전환하고, Esc원래 탭 그대로 취소됩니다. 열자마자 다음 탭이 선택돼 있어 Esc Tab Enter 만 치면 바로 다음 탭입니다. 목록의 번호·순서는 탭바에 보이는 그대로라(고정 탭은 * 표시로 뒤쪽) 목록의 3번이 곧 Esc3 과 같은 탭입니다.
    왜 Windows 의 Alt+Tab 처럼 "Shift 를 놓으면 전환" 이 아닌가: 터미널은 키를 뗐다는 사실을 알려주지 않습니다 — 눌린 것만 전달되고 뗌(release) 이벤트가 아예 없습니다. 그래서 "누르고 있는 동안 목록" · "놓으면 확정" 은 터미널 앱이 원리적으로 만들 수 없어, 가장 가까운 동선인 Enter 확정으로 넣었습니다. 또 Shift+Tab 자체를 스위처에 쓰지 않은 이유는, 그 키가 Claude 의 권한 모드 순환(shift+tab to cycle)에 이미 쓰이고 있어서입니다 — 패널 안에서 Shift+Tab종전대로 Claude 에 그대로 전달됩니다.
  • 원격 같은 원격 서버에 다시 붙어도, 고정(핀)해 둔 원격 탭이 이제 풀리지 않습니다. 원격 탭이 열려 있는 상태에서 같은 서버에 다시 remote-attach 하면 (예: 탭이 새로 늘어 목록을 갱신하려고) 걸어 두었던 핀이 전부 풀렸습니다 — 다시 붙을 때 연결을 새로 여는데, 핀을 연결에 딸린 것으로 두어 옛 연결과 함께 사라졌기 때문입니다. 핀은 연결이 아니라 내 화면의 탭바 취향이라, 이제 호스트 기준으로 기억해 다시 붙어도 그대로 유지됩니다. 그 사이 원격에 새로 생긴 탭은 비고정으로 붙고, 없어진 탭의 핀은 조용히 사라집니다 — 달라진 탭만 갱신됩니다. 끊겼다 자동 재연결될 때도 마찬가지로 유지됩니다. 다만 remote-detach직접 떼어내면 그 호스트의 핀은 잊습니다 — 다시 붙이는 것은 새로 보는 것이므로 전부 비고정으로 시작합니다.
  • 작성창 여러 줄로 쓰던 프롬프트를 작성창으로 가져올 때, 이제 윗줄까지 전부 따라옵니다. Claude 프롬프트에 여러 줄을 입력한 상태에서 EscInsert(맥은 Shift+Delete)로 작성창을 열면, 마지막 한 줄만 넘어오고 윗줄들이 사라졌습니다. pytmux 는 지금까지 사용자가 친 키를 세어 프롬프트 내용을 짐작했는데, Claude 에서 줄바꿈(Option+Enter 등)을 넣으면 그 신호가 Enter(제출)와 똑같이 도착해 — pytmux 는 "보냈구나" 하고 그때까지 센 내용을 버렸습니다. 그래서 마지막 줄바꿈 뒤에 친 것만 남았습니다. 이제 키를 세는 대신 화면에 실제로 보이는 입력창을 그대로 읽어 가져옵니다 — 줄바꿈이 어떻게 들어왔든 보이는 그대로 전부 옵니다. 덤으로 ↑ 로 불러온 예전 프롬프트다른 곳에서 들어온 입력처럼 이 창에서 치지 않은 내용도 이제 함께 따라옵니다.
  • 스크롤백 긴 대화에서 EscCtrl+↑/↓ 로 내가 이전에 입력한 프롬프트 위치로 건너뜁니다. Claude 와 길게 대화하다 보면 "아까 뭘 시켰더라" 를 찾으러 한참 스크롤해야 했습니다. 이제 EscCtrl+↑ 를 누르면 바로 앞에 보낸 프롬프트가 화면 맨 위로 올라오고, 계속 누르면 한 턴씩 거슬러 올라갑니다 — Ctrl+↓ 는 반대로 되짚어 내려옵니다. 프롬프트는 한 턴의 시작이라 화면 맨 위에 놓아, 거기서부터 주고받은 내용을 그대로 읽어 내려갈 수 있습니다. 점프하면 스크롤 모드가 되어 ↑↓·PgUp 으로 주변을 살펴보다가 Escq원래 자리(맨 아래)로 돌아옵니다. (Claude 가 돌고 있는 패널에서만 동작합니다 — 일반 셸에서는 인용문·diff 의 > 를 프롬프트로 잘못 짚지 않도록 켜지 않습니다.)
  • 토큰 회사(조직) 관리 설정 승인 화면이 뜨는 계정은, 숨은 /usage 조회가 거기서 멈춰 사용 한도(5h·주간 %)가 통째로 안 잡히던 문제를 고쳤습니다. 텔레메트리 등 조직 차원의 관리 설정이 걸린 계정은 Claude Code 를 새로 띄울 때 "Managed settings require approval" 승인 화면이 한 번 뜹니다. 그런데 pytmux 가 시간대별 한도 %를 채우려고 사람 없이 띄우는 숨은 /usage 조회 세션도 이 화면을 그대로 만나는데, 누구도 답해 줄 수 없어 부팅 대기시간이 다 되도록 기다리다 조용히 포기했습니다 — 그래서 이 화면이 뜨는 조직 계정은 한도 %가 어제 고친 별도 터미널 기록을 포함해 전혀 쌓이지 않았습니다. 이제 이 화면을 보면 기본 선택지 (1. Yes, I trust these settings)를 그대로 확정해 자동으로 통과시키고 원래 조회를 이어갑니다.
  • Claude 권한 모드 팝업이 이제 하단의 모드 표시(⏵⏵ auto mode on)를 클릭할 때만 열립니다. 지금까지는 그 줄 전체가 클릭 영역이라, 옆의 (shift+tab to cycle) 같은 힌트 문구를 누르거나 그 줄의 빈 곳을 짚어도 모드 선택 팝업이 떠서 성가셨습니다. 이제 모드 이름이 적힌 부분만 반응하고, 줄의 나머지는 여느 화면처럼 클릭이 패널로 그대로 전달됩니다. (실행 중 esc to interrupt 클릭 = 중단은 종전대로입니다.)
  • 복사 Windows 패널에서도, 화면 폭 때문에 여러 줄로 접힌 긴 명령이 이제 한 줄로 복사됩니다. 마우스로 긁어 복사할 때 pytmux 는 원래 자동 줄바꿈(접힘)과 실제 줄바꿈을 구분해 접힌 줄을 한 줄로 이어 왔는데, Windows 는 콘솔(ConPTY)이 줄을 미리 접어서 전달하는 바람에 이 구분 신호가 아예 오지 않아 — 로컬이든 원격 탭이든 Windows 패널만 보이는 줄마다 줄바꿈이 들어가, 여러 줄에 걸친 명령을 붙여넣으면 조각조각 실행됐습니다. 이제 Windows 패널은 마지막 칸까지 꽉 찬 줄이 다음 줄로 이어지는 모양이면(구분선 ·상자 테두리 는 제외) 접힌 줄로 보고 한 줄로 잇습니다. 결과 — 여러 줄로 보이는 긴 명령을 긁어 붙여넣으면 한 줄 그대로 실행됩니다.

2026-07-14 화요일

  • 탭을 고정(핀)해 오른쪽으로 밀리면, 이제 보이는 순서에 맞춰 탭 번호도 다시 매겨집니다. EscShift+P 로 일부 탭을 고정하면, 그 탭들은 탭바의 오른쪽 구역으로 모여 보입니다. 그런데 화면에 보이는 위치Esc숫자 로 이동하는 탭 번호가 서로 어긋나, 왼쪽에서 세 번째로 보이는 탭인데 3 을 눌러도 다른 탭으로 가는 일이 있었습니다(특히 원격 탭이 섞여 있을 때 두드러졌습니다). 이제 왼쪽부터 보이는 순서 그대로 1, 2, 3… 으로 번호를 매겨, 보이는 순서 = 누르는 번호가 항상 일치합니다.
  • 디렉토리이동 디렉토리 트리 점프(:ncd)에서, 다른 OS 를 원격으로 조종할 때 이동(cd)이 실패하던 문제를 고쳤습니다. :ncd 로 폴더를 골라 Enter 하면 그 폴더로 cd 합니다. 그런데 이 cd 명령의 형식을 내가 보고 있는 기기가 아니라 명령이 실제로 실행되는 셸의 OS 에 맞춰야 하는데, 종전엔 보는 쪽 기준으로 만들었습니다. 그래서 Windows 에서 macOS·Linux 패널을 원격으로 조종하면 윈도우 전용 형식(cd /d "…")이 그대로 나가 cd: string not in pwd: /d 로 실패했습니다. 이제 명령을 실행할 셸의 OS에 맞춰 형식을 정해, 어느 기기에서 조종하든 올바르게 이동합니다.
  • 토큰 pytmux 패널이 아닌 별도 터미널에서 Claude 를 써도, 그 시간대의 사용 한도(5시간·주간 %)가 이제 기록됩니다. 토큰 사용량 [기간] 화면의 5h%·1w% 칸은 pytmux 가 숨은 /usage 조회로 채웁니다. 그런데 이 조회는 지금까지 pytmux 패널 안에서 Claude 가 돌고 있을 때만 떠서, Claude 를 별도 터미널에서 쓰면 토큰 양(왼쪽 숫자)은 잡혀도 그 시간대의 한도 %가 빈칸(·)으로 남았습니다 — 수동으로 /usage 를 친 순간만 채워졌습니다. 이제 pytmux 가 최근 Claude 사용 기록을 신호로 삼아, 패널이 없어도 한도 조회를 주기적으로 띄웁니다 — 별도 터미널로 써도 시간대별 한도 %가 이어집니다. (Claude 를 아예 안 쓰는 동안에는 조회하지 않으며, 이미 지나간 빈 시간대는 소급해 채울 수 없습니다.)

2026-07-13 월요일

  • 이름동기화 이름 동기화가 탭·패널·Claude 세션 이름을 한 번 맞춘 뒤에는, 그 뒤에 손수 바꾼 이름을 더 이상 되돌리지 않습니다. :namesync 규칙에 걸린 폴더에서 Claude 를 켜면 그 탭·패널·Claude 세션 이름이 지정 키워드로 한 번 통일됩니다. 그런데 그 뒤 Claude 세션 이름을 수동으로 바꿔도(/rename), 시간이 지나면 다시 원래 키워드로 되돌아가는 문제가 있었습니다 — Claude 가 잠깐 사라졌다 뜨거나 서버가 세션을 유지한 채 재시작될 때마다 동기화가 다시 발동했기 때문입니다. 이제 한 번 맞춘 패널은 같은 탭·같은 패널·같은 Claude 세션인 한 다시 건드리지 않아, 손수 지은 이름이 그대로 유지됩니다(새 셸을 띄우면 그때 다시 한 번 동기화).
  • 원격 여러 기기가 한 화면을 함께 볼 때, 화면 크기를 "지금 쓰는 창"에 맞추도록 고를 수 있습니다. 한 세션을 여러 접속이 함께 보면, 화면 크기는 tmux 처럼 가장 작은 접속에 맞춰집니다(smallest, 기본). 그래서 다른 기기에 작은 창이 하나라도 붙어 있으면, 지금 크게 보고 있는 창의 아래·오른쪽에 빈 띠가 남았습니다 (07-11 원격 화면 여백 참고 — 그 작은 창을 키우거나 끊으면 해결). 이제 취향에 따라 :window-size latest(마지막으로 조작한 창 크기에 맞춤) 또는 largest(가장 큰 창)로 바꿀 수 있습니다 — :settings → 동작 → 공유크기 에서도 고를 수 있습니다. 단, 큰 쪽에 맞추는 방식에서는 작은 창 쪽이 화면을 다 못 담아 오른쪽·아래가 잘립니다(하나의 공유 화면을 나눠 보는 구조의 한계). 그래서 기본은 아무도 안 잘리는 smallest 로 두고, 필요할 때만 켜는 선택 항목으로 넣었습니다.
  • 토큰 토큰 사용량 [기간] 뷰에서 월·연 합계 행의 막대를 없애, 주·일·시각 그래프가 더 길고 뚜렷하게 보입니다. 이 화면의 막대는 가장 큰 값에 맞춰 길이가 정해지는데, 월 합계는 그 아래 주·일·시각을 모두 더한 값이라 언제나 가장 길었습니다. 그래서 월 막대가 화면 폭을 독차지하고, 정작 비교하고 싶은 주·일·시각 막대는 짧게 뭉개져 차이를 알아보기 어려웠습니다. 이제 월·연 합계 행은 막대를 그리지 않아(숫자 합계는 그대로 표시), 나머지 막대가 주·일·시각 중 가장 큰 값을 기준으로 다시 펴져 의미 있는 길이로 나타납니다.
  • 복사 Windows 에서 마우스로 복사한 한글이 깨지던 문제를 고쳤습니다. 어제 추가한 마우스 드래그 복사로 한글을 복사해 붙여넣으면 알 수 없는 한자·기호로 깨져 나왔습니다. 원인은 윈도우 클립보드 도구가 주고받는 글자를 시스템 코드페이지(한국어 Windows 는 cp949)로 잘못 해석한 것이었습니다. 이제 복사·붙여넣기 모두 유니코드 그대로 오가, 한글·이모지·여러 줄이 안전하게 복사됩니다.
  • 작성창 맥에서도 여러 줄 작성창을 EscShift+Delete 로 열 수 있습니다. 이 작성창(블록 선택 편집 → 활성 패널에 투입)은 지금까지 EscInsert 로 열었는데, 맥 키보드에는 Insert 키가 없어 열 방법이 없었습니다. 이제 맥에서는 Shift+Delete 가 Insert 와 같은 역할을 해, 윈도우·맥 모두 같은 방식으로 작성창을 엽니다.

2026-07-12 일요일

  • 복사 이제 그냥 마우스로 드래그하면 그 패널 내용만 자동으로 복사됩니다 — 외곽선·옆 패널 없이. 지금까지는 화면을 드래그해도 복사가 안 되거나(Ctrl+C 무반응), Shift+드래그로 복사하면 터미널이 화면 전체를 긁어 pytmux 패널 외곽선(│)과 옆 패널 내용까지 함께 복사되어 불편했습니다. 이제 왼쪽 버튼으로 드래그하면 pytmux 가 드래그를 시작한 패널 안으로만 선택을 가둬, 손을 떼는 순간 OS 클립보드로 자동 복사합니다 — Shift 도 Ctrl+C 도 필요 없고 외곽선·옆 패널은 안 딸려옵니다. Claude 처럼 마우스를 쓰는 화면 위에서도 됩니다(그 화면의 마우스 드래그는 복사에 양보). 드래그가 아닌 클릭은 종전대로 버튼/포커스로 갑니다. 끄려면 set mouse-drag-copy off — 그러면 드래그는 앱으로 가고, 선택은 Shift·copy-mode(prefix [)로 합니다.

2026-07-11 토요일

  • 원격 원격 화면이 작게(빈 여백 띠) 남고, 다른 접속을 끊어도 다시 작아지던 문제를 고쳤습니다. 한 원격 서버를 여러 기기가 함께 보거나 예전에 끊긴 접속 흔적이 남아 있으면, 화면 크기가 tmux 처럼 가장 작은 접속에 맞춰져 지금 보는 큰 화면의 아래·오른쪽에 빈 띠가 남았습니다. 게다가 그 접속을 끊거나 "다른 접속 내보내기"(detach -a)를 해도 곧바로 자동 재접속해 다시 작아졌습니다. 이제 의도적으로 내보낸 접속은 다시 붙지 않아 (detach -a · 접속을 가진 기기에서 remote-detach) 화면이 바로 가득 찹니다. 절전·네트워크 단절로 생긴 유령 접속까지 자동으로 정리하려면, 원격 서버를 여는 호스트에 SSH keepalive 를 설정하세요 — 가이드 10. 원격 페더레이션에 macOS·Linux·Windows 방법을 정리했습니다.
  • 원격 같은 원격 서버에서 열어 둔 다른 탭을, 지금 보는 탭에 패널로 합칠 수 있습니다. 지금까지는 마우스로 탭을 끌어다 놓아야만 같은 원격 서버의 두 탭을 한 화면(패널 분할)으로 합칠 수 있었습니다. 이제 :merge-remote-tab 명령이나 우클릭 메뉴 → 패널에서, 같은 원격 서버에서 열린 다른 탭을 목록으로 띄워 골라 현재 탭에 패널로 합칠 수 있습니다 — 마우스 없이 키보드만으로도 됩니다. (합칠 때 h/v 로 좌우·상하 분할 방향을 고를 수 있습니다.)
  • 설치 필요한 구성요소가 빠졌을 때, 알 수 없는 오류 대신 설치 방법을 안내합니다. pytmux 는 화면 표시에 textual·pyte 같은 추가 구성요소가 필요합니다. 이들이 설치되지 않은 채 실행하면 지금까지는 알아보기 어려운 오류 메시지만 그대로 쏟아졌습니다. 이제 빠진 구성요소의 이름과 함께, 지금 쓰는 파이썬에 맞춘 설치 명령 (python -m pip install -r requirements.txt)을 바로 알려 주고 종료합니다.

2026-07-10 금요일

  • 원격 분리해 둔 원격 탭이, 원격 쪽에서 다른 탭을 닫아도 계속 숨겨진 채 유지됩니다. 어제(07-09) 추가한 원격 탭 하나씩 닫기에서, 탭을 분리한 뒤 원격 서버 쪽에서 다른 탭을 닫거나 순서를 바꾸면 내가 숨겨 둔 탭이 엉뚱한 탭으로 옮겨가거나 다시 나타나던 문제를 고쳤습니다. 원격 탭을 위치가 아니라 고유한 안정 표식으로 추적하게 바꿔, 원격 쪽 탭 구성이 어떻게 바뀌어도 내가 분리한 바로 그 탭만 정확히 숨겨진 채 유지됩니다.
  • 원격 고정(핀)해 둔 원격 탭도 원격 쪽 탭 변화에 안 어긋납니다. 위의 분리 수정과 같은 원리로, 원격 탭을 고정해 둔 경우에도 원격 서버 쪽에서 다른 탭을 닫거나 순서를 바꾸면 고정 표시가 엉뚱한 탭으로 옮겨가던 문제를 함께 고쳤습니다. 고정도 위치가 아니라 고유한 안정 표식으로 추적해, 원격 쪽 탭 구성이 바뀌어도 내가 고정한 그 탭이 그대로 고정됩니다.
  • Windows Claude 종료 요약이 마침 치던 명령을 실수로 실행하던 문제를 고쳤습니다. Claude 를 끝내면 나오는 토큰 사용량 요약은 셸 프롬프트를 정리하려고 Enter 를 몇 번 보냅니다. 그런데 Claude 가 막 끝난 직후 다음 명령을 치고 있던 중이면, 그 Enter 가 치던 명령을 그대로 제출해 버릴 수 있었습니다. 이제 입력 중이면 요약을 잠시 미뤘다가 입력을 끝낸 뒤에 표시해, 치던 명령이 의도치 않게 실행되지 않습니다.
  • Windows 새 탭·새 패널이 Enter 를 누르기 전까지 빈 화면으로 나오던 문제를 고쳤습니다. 어제(07-09) 넣은 콘솔 UTF-8 자동 전환의 부작용이었습니다. 한국어 Windows(cp949)에서 chcp 65001 전환은 콘솔이 글자 폭을 다시 계산하며 화면을 통째로 지우는 동작을 동반하는데, 셸이 프롬프트를 먼저 그린 뒤에 전환이 실행되면 그 클리어가 프롬프트를 지워 버려 새 탭이 빈 화면으로 보였습니다(Enter 를 치면 새 프롬프트가 나와 그때부터 정상). 이제 UTF-8 전환을 셸이 뜨기 전에 먼저 완료하고(늦어지면 전환을 포기해 화면을 지키는 쪽을 우선), 미리 준비해 두는 콘솔 풀에는 채워 넣는 시점에 전환을 끝내 새 탭 속도도 그대로입니다.
  • 표시 Claude Code 화면의 회색 블록 속 검은 직사각형 구멍을 메꿨습니다. Claude Code 는 대화 블록을 회색 배경으로 칠하면서, 표(탭 문자) 간격의 공백만 기본 배경으로 내보냅니다. 그 공백 칸에는 터미널의 기본 배경(대개 검정)이 그대로 비쳐, 회색 블록 한가운데 검은 사각형들이 뚫린 것처럼 보였습니다. 이제 같은 배경색 사이에 낀 짧은 공백 구간은 주변과 같은 배경으로 채워 표시합니다(다른 프로그램 화면에 영향이 없도록 양쪽 배경이 같은 짧은 구간만).
  • Windows 완전 재시작 후 첫 실행이 "서버 기동 실패"로 끝나던 문제를 고쳤습니다. Windows 에서 kill-server 로 pytmux 를 완전히 끝낸 뒤 다시 실행하면 첫 번째 시도가 늘 실패하고 두 번째에야 열렸습니다. 원인은 이전 서버가 남긴 옛 포트 기록 파일: Windows 는 아무도 듣지 않는 포트로의 접속 시도를 곧바로 거절하지 않고 제한시간을 다 채우게 만들기 때문에, 새 서버가 이미 떠 있는데도 기동 확인이 옛 포트만 두드리다 4초 예산을 넘겨 실패로 오판했습니다. 이제 서버(와 세션유지 도우미)가 종료할 때 포트 기록을 스스로 정리하고, 혹시 남아 있어도(강제 종료 등) 죽은 포트 확인을 짧게 끊어 첫 실행부터 바로 열립니다.

2026-07-09 목요일

  • 원격 다른 서버의 원격 탭을 이제 하나씩 닫을 수 있습니다. remote-attach 로 붙여 온 원격 탭은, 지금까지 하나를 닫으면 그 서버에서 온 원격 탭이 한꺼번에 전부 사라졌습니다. 이제 탭의 [x](또는 Escx)로 그 탭 하나만 화면에서 분리되고, 같은 서버의 다른 원격 탭과 원격 셸은 그대로 남습니다. 그 서버의 마지막 원격 탭까지 닫으면 연결이 정리됩니다. 분리한 탭은 다시 붙이거나 pytmux 를 재시작해도 숨긴 상태가 유지됩니다.
  • Windows 한국어 Windows 에서 패널 속 한글이 깨지고 화면이 무너지던 문제를 고쳤습니다. 한국어 Windows 의 콘솔은 기본 문자 인코딩이 옛 방식(cp949)이라, Claude Code 처럼 UTF-8 로 출력하는 최신 도구의 한글이 이상한 한자·물음표로 깨지고 제어 코드까지 글자로 새어 나와 화면 배치 전체가 어긋나 보였습니다. 이제 pytmux 가 패널을 열 때 그 패널의 콘솔을 UTF-8 로 자동 전환해(수동 chcp 65001 의 자동화) 한글과 화면이 온전하게 나옵니다. 옛 인코딩으로 출력하는 특수한 도구를 쓴다면 PYTMUX_KEEP_CODEPAGE 환경변수로 이 자동 전환을 끌 수 있습니다.
  • Windows Claude 종료 시 나오는 토큰 사용량 요약이 더는 프롬프트에 덮이지 않습니다. Windows 에서 Claude 를 끝내면 나오는 토큰 요약이 셸 프롬프트와 겹쳐, Enter 를 누를 때마다 프롬프트가 요약을 한 줄씩 덮어버렸습니다. 이제 요약 블록을 프롬프트 위에 두고 새 프롬프트와 커서가 그 아래에 오도록 바꿔, 이후 타이핑이나 Enter 가 요약을 건드리지 않습니다.
  • 토큰 토큰 사용량 [세션] 뷰에서 행을 선택해도 현재 세션 표시가 유지됩니다. [세션] 뷰는 지금 보고 있는 탭의 세션을 주황색으로 알려 주는데, 그 행을 선택(파란 막대)하면 색이 덮여 어느 행이 현재 세션인지 알 수 없었습니다. 이제 선택된 상태에서도 주황색 글자가 그대로 보입니다.

2026-07-08 수요일

  • 이름 동기화 자동 이름 맞추기가 입력 중에는 끼어들지 않습니다. 이름 동기화(또는 탭→세션 이름 맞추기)가 Claude 세션에 /rename 을 자동으로 넣을 때, 마침 Claude 입력창에 무언가 타이핑하던 중이면 그 글자를 덮어써 엉키던 문제를 고쳤습니다. 이제 입력창에 쓴 내용이 있으면 이름 맞추기를 잠시 미뤘다가, 그 줄을 보내거나 지워 입력창이 빈 다음에 조용히 적용합니다.
  • Windows Windows 에서도 Claude 를 끝내면 토큰 사용량 요약이 항상 보입니다. 지난 7월 5일 고친 ‘Claude 종료 시 토큰 요약 표시’가 Windows 에서는 안 뜰 때가 있던 것을 마저 고쳤습니다. Windows 의 기본 셸(cmd)로 돌아온 것을 pytmux 가 셸로 알아보지 못해 종료를 놓치던 탓으로, 이제 cmd·PowerShell 로 돌아와도 토큰 요약을 놓치지 않습니다.
  • 작성창 여러 줄 작성창에서 Ctrl+Home·Ctrl+End 로 글 전체의 맨 처음·맨 끝으로 한 번에 이동할 수 있습니다. Claude 패널의 ESCInsert 작성창에서, 줄 단위로 움직이는 Home·End 와 달리 Ctrl+Home 은 글 전체의 맨 앞으로, Ctrl+End 는 맨 끝으로 커서를 옮깁니다.
  • 이름 동기화 정해 둔 폴더에서 Claude Code 를 실행하면 탭·패널 이름과 Claude 세션 이름이 미리 정한 키워드로 한 번에 맞춰집니다. 컴퓨터·운영체제·폴더별로 키워드를 정해 두면(:namesync 편집기로 규칙을 추가·수정), 그 폴더에서 Claude 를 띄우는 순간 pytmux 탭 이름과 패널 제목이 그 키워드로 바뀌고, Claude 세션/rename 으로 같은 이름이 됩니다. 여러 대의 컴퓨터에서 경로가 서로 달라도 각 컴퓨터·OS 에 맞는 규칙이 알아서 적용됩니다. 기존 Claude 기능과 분리된 새 플러그인이라, 필요 없으면 꺼 둘 수 있습니다.

2026-07-07 화요일

  • 작성창 여러 줄 작성창에 붙여넣은 이미지·여러 줄 내용이 그대로 딸려오고, 작성창 안에서도 붙여넣기·명령을 쓸 수 있습니다. Claude 패널에서 ESCInsert 로 여는 여러 줄 작성창이, 프롬프트에 이미 붙여넣어 둔 이미지나 여러 줄 텍스트까지 이제 함께 불러옵니다(전에는 이미지가 빠졌습니다 — Claude 가 붙여넣은 이미지를 [Image #N] 첨부로 바꿔 화면에서 원래 경로를 되돌릴 수 없던 탓). 작성창 안에서 텍스트·이미지를 새로 붙여넣어도 그대로 유지되고, 작성창을 닫고 프롬프트로 돌아가도 남습니다. 또 작성창이 열린 채로 ESC:명령(예: 이미지 붙여넣기)을 실행할 수 있습니다. (이 때문에 작성창에서 ESC 는 이제 ‘메뉴’로 바뀌어, 취소는 ESC 를 두 번 누릅니다.)
  • 마우스 마우스를 움직였을 때 명령줄에 이상한 글자가 쏟아지던 문제를 고쳤습니다. 일부 터미널 프로그램(마우스를 쓰는 TUI)을 끝낸 뒤 마우스를 움직이면 35;34;55M 같은 뜻 모를 문자가 명령줄에 마구 입력되던 현상으로, 특히 원격 탭()에서 눈에 띄었습니다. 프로그램이 종료되면서 마우스 추적을 끄는 신호를 여러 개 한꺼번에 묶어 보내면 pytmux 가 그 신호를 놓쳐 마우스 상태가 켜진 채로 남았던 것으로, 이제 묶음 신호도 제대로 알아채 마우스 움직임이 더는 글자로 새어 나오지 않습니다. (움직임을 멈추면 잠잠해지지만 다시 움직이면 재발하던 것도 함께 해소됩니다.)
  • 원격 원격 탭에 걸어 둔 고정(핀)이 재시작 후에도 유지됩니다. 다른 컴퓨터에 붙어 만든 원격 탭()Shift+P고정해 두었다가 전체 재시작(restart-all)을 하면 그 고정이 풀려 버리던 문제를 고쳤습니다. 고정 정보가 재시작 때 함께 저장되지 않아 다시 연결하면 사라졌던 것으로, 이제 원격 탭 고정도 재시작 뒤 그대로 살아납니다. (일반 로컬 탭 고정은 원래부터 유지됐습니다.)

2026-07-06 월요일

  • 여러 줄 작성창에 프롬프트 기호가 딸려오지 않습니다. Claude 패널에서 ESCInsert 로 여는 여러 줄 작성창(블록 선택 편집이 되는 별도 입력창)이 지금 입력하던 내용을 미리 채울 때, 프롬프트 앞의 기호()까지 함께 들어가던 문제를 고쳤습니다. 최신 Claude Code 가 프롬프트 기호를 > 에서 로 바꾼 것을 반영해, 이제 실제 입력한 글자만 깔끔하게 옮겨옵니다.
  • 성능 · Windows Windows 에서 앱이 처음 뜨는 속도가 빨라졌습니다. Windows 는 (macOS 와 달리) 터미널을 담당하는 백그라운드 호스트 프로세스를 따로 띄워야 하는데, 그 준비를 서버가 켜지는 동안 미리·겹쳐서 시작하도록 바꿨습니다. 또 호스트 연결을 기다릴 때 쓰던 고정 대기 시간(0.1초)을 없애 준비되는 즉시 붙도록 해, 콜드 스타트에서 체감되는 지연을 줄였습니다. (새 탭 열기·종료 속도는 Windows 콘솔이 터미널마다 별도 프로세스를 요구하는 구조상 한계가 있어 그대로입니다 — 이 부분은 원인을 분석해 문서로 남겼습니다.)

2026-07-05 일요일

  • Claude 를 끝내면 토큰 사용량이 항상 보입니다. Claude Code 세션을 exit 로 끝냈을 때 이번 세션에 쓴 토큰 사용량 요약보일 때도 안 보일 때도 하던 문제를 고쳤습니다. 사용량 한도(/usage) 정보가 마침 없을 때 요약이 통째로 비던 것이 원인으로, 이제 이번 세션 토큰 총량을 항상 함께 보여 비지 않으며(한도 막대는 있을 때 곁들입니다), 셸로 돌아온 순간을 놓치지 않도록 종료 감지도 더 끈질기게 재시도합니다.
  • 안정성·보안 여러 클라이언트가 붙거나 느린·원격 연결이 섞여도 화면 갱신이 멈추지 않도록 서버의 화면 송신 경로를 한 갈래로 정리하고, 만일 렌더 루프가 예기치 못하게 멈춰도 스스로 되살아나도록 했습니다. 아울러 Windows 로컬 연결의 인증 전 동시 연결 수를 제한해 자원 고갈(DoS)을 막았습니다.
  • 안정성 · Windows 서버를 껐다 켜거나 재시작하면 백그라운드 터미널 호스트가 곧바로 정리됩니다. Windows 에서 종료 뒤에도 그 프로세스가 최대 20초 넘게 고아로 남던 문제를 고쳐, 즉시 결정적으로 종료되도록 했습니다.

2026-07-04 토요일

  • 원격 탭에 붙으면 화면 크기가 제대로 맞습니다. ssh 로 원격 세션에 다시 연결할 때 화면이 예전에 접속했던 다른(작은) 기계의 크기로 고착되던 문제를 고쳤습니다 — 끊긴 연결을 제때 회수하도록 해, 지금 보고 있는 화면 크기에 맞춰 펼쳐집니다.
  • 상태줄의 현재 모델 배지가 정확해졌습니다. 화면 아래 상태줄의 현재 Claude 모델 배지가, 대화나 문서 본문에 적힌 다른 모델 이름을 현재 모델로 잘못 읽어 엉뚱하게 표시되던 문제를 고쳤습니다. 이제 진짜 모델 배지에만 반응하고, 배지가 화면에 없으면 /usage 로 정확히 확인합니다.
  • display-popup 으로 대화형 팝업을 띄웁니다. display-popup(별칭 popup) 명령이 이제 tmux 처럼 대화형 셸·TUI 를 화면 중앙에 떠 있는 팝업으로 실행합니다 (전에는 명령 출력만 보여 주는 비대화형이었습니다). 크기·명령을 -w/-h/-C 로 지정하고, 명령이 끝나면 팝업이 자동으로 닫힙니다.

2026-07-03 금요일

  • 원격 서버가 이상해도 내 화면이 안전합니다. ssh 로 원격 pytmux 탭을 보는 중 상대 서버가 손상되거나 악의적인 화면 프레임을 보내면 클라이언트가 통째로 종료되던 문제를 고쳤습니다 — 이제 이상한 프레임은 조용히 버리고 앱은 계속 돕니다.
  • 보안·안정성 전체 코드베이스를 보안 점검한 뒤 하드닝했습니다 — 토큰·세션 상태 같은 민감 파일 권한을 소유자 전용(0600)으로 통일하고, Windows 로컬 연결의 인증 전 자원 고갈(DoS)을 막고, ssh 자기접속 차단· 공개 사이트 CSP·배포 파이프라인 고정 등을 적용했습니다.
  • 부하가 걸려도 화면이 흔들리지 않습니다. 옆 패널에서 무거운 작업(벤치마크 등)이 CPU 를 가득 채우면 Claude Code 화면이 잠깐 반쪽으로 겹쳐 보이던 문제를 고쳤습니다. 프레임 도중 출력이 잠시 멈춰도 반쪽 화면을 강제로 내보내지 않고 직전 완성 화면을 그대로 유지하도록 대기 창을 넉넉히(0.15초 → 1초) 늘렸습니다 — 잘 짠 앱일수록 오히려 더 안전하고, 진짜로 멈춘 앱은 1초 안에 자동으로 풀립니다.
  • Windows 에서 :ncd 디렉토리 트리가 현재 폴더를 제대로 짚습니다. Windows 기본(host) 모드에서 :ncd(디렉토리 트리로 이동)를 열면 항상 최상위 드라이브만 강조되고 지금 있는 폴더를 못 찾던 문제를 고쳤습니다. 서버를 재시작해 다시 붙은 뒤에도 현재 위치가 유지됩니다.

2026-07-01 수요일

  • 실수로 앱이 통째로 닫히지 않습니다. 원격 탭이 열려 있는 채로 마지막 로컬 탭을 닫으면 앱 전체가 종료되는데, 이제 정말 끝낼지 확인을 먼저 받습니다.
  • 토큰 사용량 세션 뷰가 더 정확해졌습니다. 세션 목록이 날짜뿐 아니라 날짜 + 시각을 함께 보여주고, 같은 날 안에서도 실제 시:분 기준 최신순으로 정렬됩니다(전에는 하루 단위로만 정렬돼 순서가 뒤섞였습니다).
  • 안정성 Windows 에서 재시작 후 마우스 이동·클릭이 프롬프트에 좌표 문자로 새던 문제를 고쳤습니다 — 재시작을 제자리 재접속으로 바꿔 콘솔·마우스 상태를 건드리지 않도록 했습니다.

2026-06-30 화요일 · 소개 사이트 공개 🚀

  • 소개 사이트를 공개했습니다. pytmux.woojinkim.org 에서 기능·화면·설치·상세 가이드를 한곳에서 볼 수 있습니다. 스크린샷은 클릭하면 크게 확대됩니다.
  • Claude 화면 깨짐 자동 완화. 화면이 깨졌을 때만(깨짐 신호가 보일 때만) 자동으로 다시 그리는 on-corruption 모드를 더했습니다 — 스크롤·동기화 출력 근본 수정 위에 얹은 바닥 안전망입니다.

2026-06-29 월요일

  • Claude 화면 Claude 화면에서 글자가 겹쳐 보이던 근본 원인을 고쳤습니다. 화면의 일부 영역만 위·아래로 밀어 올리는 터미널 신호(SU·SD, 스크롤 영역 스크롤)를 pytmux 가 처리하지 못해 Claude 출력이 서로 겹쳐 그려지던 것을 제대로 구현해 근본 수정했습니다. 그동안 임시로 얹어 두었던 재구성 레이어 플러그인은 역할을 다해 제거했습니다.
  • Windows Windows 에서 Claude Code 를 실행하면 키 입력이 멈추던 문제를 고쳤습니다.
  • 공유 세션 여러 사람이 같은 세션을 함께 볼 때 생기던 화면 속 빈 띠를 없앴습니다. 응답 없이 끊긴(죽은) 클라이언트를 제때 회수하지 못해 그 자리가 빈 줄로 남던 것을 고쳤습니다.

2026-06-25 목요일

  • 표시 ssh 로 한글·중문·일문 단말에 접속했을 때 패널 테두리와 글자가 한 칸씩 밀려 겹쳐 보이던 문제를 고쳤습니다. 단말마다 폭이 애매한 문자('모호폭')를 1칸으로 그리는지 2칸으로 그리는지 스스로 알아내 일관되게 처리하고, 그 설정을 원격 탭에도 전파합니다. 박스 그리기·블록 문자는 1칸으로 예외 처리해 테두리가 어긋나지 않습니다.
  • 설정 모호폭 처리를 실행 중에 바꿀 수 있고, set 명령이 옵션을 미리 제안합니다. :set ambiguous-width narrow|wide|auto 로 즉시 전환하고, set 명령에서 옵션 이름과 값을 흐릿한 미리보기(ghost)와 후보 목록(↑↓)으로 자동완성합니다.
  • 안정성 화면 갱신이 밀려도 앱이 통째로 종료되지 않습니다. 갱신이 쌓여 일부를 버려야 할 때(backpressure) 클라이언트가 끝나 버리던 것을 고쳐, 이제 조용히 끊고 자동으로 다시 연결합니다.

2026-06-24 수요일

  • 원격 · 토큰 원격 탭을 보는 중에는 토큰 사용량 팝업이 그 상대 컴퓨터의 토큰을 보여줍니다. 어느 기계의 값인지 ⇄host 라벨로 출처를 표시하고, 요청한 화면에만 회신하며, 상대가 응답하지 않으면 안내를 띄우고 넘어갑니다.
  • 토큰 집계가 더 정확해졌습니다. 표시 값에 캐시(cache) 사용분까지 포함해 실제 사용량에 더 가깝게 맞췄습니다.

2026-06-23 화요일

  • 토큰 토큰 사용량을 화면 스크랩이 아니라 실제 대화 기록에서 실측합니다. Claude Code 의 대화 기록(트랜스크립트)을 직접 읽어 회계하도록 바꿔, 화면만 긁을 때 놓치던 양을 되살렸습니다. 팝업 수치가 실제와 맞도록 지난 기간까지 소급해 복원했습니다.
  • 원격 원격 탭에 붙을 때 상대 서버가 꺼져 있으면 알아서 띄웁니다. ssh 로 원격 세션에 연결할 때 상대 pytmux 서버를 자동으로 기동해 연결 신뢰성을 높였습니다.
  • 프롬프트 작성 팝업에서 Ctrl+A 로 전체 선택할 수 있습니다.

2026-06-22 월요일

  • 탭 고정 자주 쓰는 탭을 고정(핀)해 실수로 닫히지 않게 할 수 있습니다. Shift+P 로 탭을 고정하면 탭바 오른쪽 구역에 따로 모여 눈에 잘 띄고 실수로 닫는 것을 막아 줍니다. 원격 탭도 고정할 수 있습니다.
  • 마우스 · Windows Windows 에서 마우스를 움직이면 좌표 문자가 새던 문제를 고쳤습니다. ConPTY 가 마우스 추적을 과하게 광고하던 것을 눌러, 마우스 움직임이 명령줄로 새어 나오지 않도록 했습니다.
  • 모델 배지 상태줄의 현재 Claude 모델 배지가 정확해졌습니다. sonnet-255 같은 오표기를 바로잡고, 작업 도중 모델이 잠깐 다른 모델로 튀어 보이던 것도 안정화했습니다.
  • 여러 줄 프롬프트를 이력 팝업에서 여러 행으로 펼쳐 볼 수 있습니다.

2026-06-21 일요일

  • 토큰 토큰 사용량 뷰를 모델별 색으로 나눠 보여줍니다. Haiku·Sonnet·Opus·Fable 를 서로 다른 색으로 분해하고 범례를 붙였으며, 막대도 모델 구성비대로 색을 나눕니다. 기간 뷰는 월→주→일→시각 하나의 계층 시간 트리로 통합했습니다.
  • 상태줄 현재 Claude 모델 배지를 상태줄에 항상 표시하고, 세션을 시작할 때 어떤 모델인지 힌트 배지를 곁들입니다.
  • 네트워크가 끊겨 응답이 없을 때 스스로 다시 시도합니다. Claude 가 No response from API 상태에 빠지면 이를 감지해 1분 뒤 자동 재시도합니다.

2026-06-20 토요일

  • 서버 정보 서버 정보 팝업에 최근 60분 응답 지연(RTT) 그래프가 생겼습니다. 연결이 얼마나 빠릿한지 한눈에 볼 수 있고, 그래프는 디스크에 남아 재시작해도 유지됩니다. F10 으로 전체 메뉴에 바로 들어갈 수 있습니다.
  • 안정성 · 보안 끊긴 연결 회수·백그라운드 호스트 멈춤·자원 누수 등 여러 안정성 문제를 손봤습니다. 아울러 적대적인 입력을 견디는지 보안 레드팀(퍼징·자원 감시)을 강화했습니다.
  • 원격 원격 탭의 닫기([x])가 앱 종료 대신 연결 해제(detach)로 이어집니다. 또 세션 끝의 피드백 문구 숨김을 별도 플러그인으로 분리했고, 명령 프롬프트가 인자 이력(remote-attach 등)을 추천·자동완성합니다.

2026-06-19 금요일

  • 작성창 Claude 프롬프트를 여러 줄로 골라 편집하는 작성창이 생겼습니다. ESCInsert 로 여는 여러 줄 작성창(컴포즈 오버레이)이 지금 입력하던 내용을 이어받고, 저장하지 않은 초안을 보존하며 한글 입력도 지원합니다. (이후 이미지·붙여넣기까지 더해집니다.)
  • 컨텍스트 메뉴 서브메뉴가 오른쪽으로 펼쳐지고, 박스 바깥을 누르면 닫힙니다.
  • 보안 · 안정성 백그라운드 터미널 호스트 연결에 인증을 더하는 등 보안을 손봤고, 전체 재시작(restart-all) 뒤 유휴 Claude 패널이 비던 문제를 고쳤습니다.

2026-06-18 목요일

  • Windows Windows 에서 서버를 재시작해도 실행 중이던 프로그램이 살아남습니다. 터미널을 별도 프로세스(아웃오브프로세스 pty-host)로 옮겨, 서버가 껐다 켜져도 그 안에서 돌던 작업이 이어지도록 했습니다.
  • Claude 이 컴퓨터의 Claude 세션 목록을 골라 새 탭에서 이어갈 수 있습니다. claude-resume 플러그인으로 지난 세션을 피커에서 골라 재개하고, 세션을 끝내면 토큰 사용량 화면이 자동으로 뜹니다.
  • 설정 · 키 설정 팝업에 '키' 탭을 새로 두어 ESC 모드·prefix 모드 바인딩을 한눈에 볼 수 있게 했습니다. Shift+ESC 가 안 되는 단말을 위해 ESC 모드에서 e 로 활성 패널에 ESC 를 보낼 수 있습니다.

2026-06-17 수요일 · 깃헙에 공개 시작 🐙

  • Claude 계정 Claude 계정에 별칭을 붙여 왼쪽 아래에 표시할 수 있습니다. 감지된 계정을 나열하고 별칭을 편집·표시 방식을 고르는 관리 화면을 더했습니다.
  • 토큰 토큰 사용량 시간(hour) 뷰에 주간 한도(1w%) 열이 생겼고, 팝업의 탭·필터를 2단으로 다시 짰습니다.
  • 원격 원격 탭을 보는 중 동작이 엉뚱한 로컬 패널로 가던 버그들을 고쳤습니다. 붙여넣기·이름 변경(rename)·디렉토리 트리(:ncd)가 이제 원격 쪽에 제대로 전달됩니다. 화면을 통째로 다시 그리는 redraw 명령도 새로 넣었습니다.
  • 구성 설정·상태·기록을 PYTMUX_HOME 한 디렉토리로 통합(선택)해 관리가 쉬워졌습니다.

2026-06-17 부터 GitHub 공개 저장소에도 변경 기록이 남기 시작했습니다. 그 아래(이전)는 Perforce 형상관리 기록에서 복원한 초기 개발 이력으로, 눈에 보이는 큰 변화 위주로 추렸습니다.

2026-06-15 월요일

  • 화면 처리 화면을 그리는 VT 해석기를 자체 구현한 것으로 바꿨습니다. 그동안 여러 곳에 두었던 예외 처리(우회)를 하나로 흡수하면서 속도는 그대로 유지했고, :set vt_parser 로 전환할 수 있습니다. 이후 화면 겹침·스크롤 문제를 근본적으로 고치는 토대가 됩니다.
  • 상태줄 상태줄의 배지를 눌러 바로 조작할 수 있습니다. 사용 한도·자동재개(AR)·경고 배지를 클릭·터치하면 관련 팝업이 열립니다. 원격 탭에서 자동재개가 엉뚱한 탭에 걸리던 버그도 고쳤습니다.
  • 사용량 한도 한도 팝업을 다듬었습니다 — 막대의 빈 부분을 회색 트랙으로 구분하고, 계정 이메일을 전체 표시하며, 박스 바깥을 눌러 닫을 수 있습니다. 네트워크 오류 시 최대 5분까지 재시도합니다.

2026-06-14 일요일

  • 플러그인 플러그인 관리 팝업(:plugins)이 생겼습니다. 설치된 기능 목록을 보고 개별로 켜고 끌 수 있으며, 설정은 저장돼 다음에도 유지됩니다.
  • 토큰 사용량 팝업의 빽빽하던 상단 한도 정보를 [한도] 전용 서브뷰로 분리해 작은 화면에서도 깔끔해졌고, 버전 팝업은 가운데 정렬·실시간 업타임으로 다듬었습니다.

2026-06-13 토요일

  • 원격 다른 컴퓨터의 pytmux 탭을 내 창으로 끌어와 함께 다루는 기능을 강화했습니다. 원격 탭을 분홍색으로 뚜렷이 구분하고 로컬 탭과 섞이지 않게 했으며, 원격에서 pytmux 를 또 실행하면 거부하는 대신 바깥 세션에 자동으로 이어 붙입니다.
  • 플러그인 프롬프트 이력을 독립 플러그인으로 다시 만들고, 화면 출력 캡처(REC) 기능도 플러그인으로 분리했습니다. 현재 워크스페이스의 Perforce 제출 목록을 보는 :p4changes 플러그인도 추가했습니다.
  • 보안·성능 전체 코드를 감사해 속도·보안 개선 14건을 반영했습니다.

2026-06-12 금요일

  • 다국어 모든 화면을 한국어·영어로 전환할 수 있습니다. :set lang ko|en 로 상태줄·메뉴·팝업 문구가 통째로 바뀝니다(클라이언트별 설정).
  • 토큰 토큰 사용량 팝업을 다시 설계했습니다 — 한 표에 한 가지 관점(기간·계정·세션)만 담아 요일·계정별로 파고들 수 있습니다.
  • Windows · 표시 Windows 터미널 백엔드를 새 방식(owned ConPTY)으로 기본 전환하고, 비활성 패널을 흐리게(dim) 처리해 외곽선 없이도 활성 패널이 구분되도록 했습니다.

2026-06-11 목요일

  • 토큰 토큰 사용률을 화면 스크랩 대신 실제 한도(/usage)로 표시하도록 1차 기준을 바꿔, 상태줄 수치가 실제와 맞게 됐습니다.
  • Windows Windows 에서 한글 등 여러 바이트 글자가 깨지던 문제를 고쳤습니다. 터미널을 직접 소유하는 새 백엔드(owned ConPTY)로 글자 경계 손상을 해결했습니다.
  • 사용량 화면에 다음 리셋까지 남은 시간을 카운트다운으로 보여주는 뷰를 더했습니다.

2026-06-10 수요일

  • IME 한/영 입력 상태를 오른쪽 위 배지로 보여줍니다. 지금 어느 입력 상태인지 별도 플러그인 배지로 확인할 수 있습니다.
  • Claude 컨텍스트가 꽉 차 멈추면 자동으로 복구합니다 — 하드스톱을 감지하면 즉시 /compact 를 넣어 이어가게 합니다.
  • 패널 제목 줄을 잡아끌어(드래그) 자리 맞바꿈·다른 탭으로 이동·새 탭으로 분리할 수 있습니다. 시계·달력도 각각 플러그인으로 분리했습니다.

2026-06-09 화요일

  • 디렉토리 이동 디렉토리 트리로 폴더를 오가는 :ncd 가 생겼습니다. 루트부터 현재 폴더까지 트리로 펼쳐 화살표로 탐색하고 이름 일부를 입력해 빠르게 찾을 수 있습니다(옛 Norton Commander 풍 파랑·시안 팔레트).
  • IME 한글을 조합할 때 패널 테두리에 잔상이 남던 문제를 고쳤습니다. 하드웨어 커서를 활성 패널 커서에 맞춰 해결했습니다.
  • 플러그인 Claude 관련 기능·시계·달력·ncd 를 각각 플러그인으로 분리했습니다 — 디렉토리를 지우면 그 기능만 조용히 사라지는 구조입니다.

2026-06-08 월요일

  • Claude 새 Claude 세션을 자동으로 준비하고(원격제어+권한 자동 1회), 상태줄의 모델 배지를 눌러 모델·컨텍스트를 바꾸는 팝업을 엽니다.
  • 사용량 /usage 의 세션·주간 한도를 막대 그래프로 보여주고, 전송 오류가 나면 1분 뒤 자동으로 다시 시도합니다.
  • 단일 Claude 패널의 탭 이름을 바꾸면 Claude 세션에도 /rename 으로 반영됩니다.

2026-06-07 일요일

  • 사용량 숨은 세션으로 실제 사용 한도를 확보하는 '그림자 /usage' 조회를 도입해, 표시되는 한도가 실제 값과 맞도록 했습니다.
  • 보안 연결 인증 토큰으로 허가되지 않은 접속을 차단하고, 접속자 신원(UID)을 검증하며, 토큰·세션 같은 민감 파일 권한을 소유자 전용(0600)으로 잠갔습니다.
  • 토큰 토큰 기록 저장소를 SQLite 로 옮기고 세션별 집계 화면을 더했습니다. 전체 재시작(restart-all) 시 화면 색·커서·위치도 정확히 복원됩니다.

2026-06-06 토요일

  • 성능 화면 갱신을 크게 빠르게 했습니다. 바뀐 줄만 골라 보내(트래픽 약 28배 절감)·다시 그려(바쁠 때 약 18배) 원격·고부하에서 훨씬 매끄럽습니다.
  • 재시작 작업을 유지한 채 서버를 다시 시작하는 restart-all 과, 미리 안전을 점검하는 restart-check(드라이런)를 추가했습니다. version 으로 버전·업타임도 볼 수 있습니다.
  • 문서 상세 매뉴얼과 실제 화면 스크린샷(SVG)을 갖췄습니다.

2026-06-05 금요일

  • 품질 Windows·macOS·Linux 3개 OS 자동 테스트(CI)와 OS별 성능 벤치마크를 갖춰, 어느 환경에서도 깨지지 않게 계속 검증합니다.
  • 명령 프롬프트에서 한/영 오타를 자동으로 되살립니다 — 한글로 잘못 친 명령을 알아서 영문으로 고쳐 줍니다.
  • 클립보드의 이미지를 패널에 붙여넣으면 파일로 저장해 경로를 넣어 주고, 시계·달력 오버레이를 명령으로 켜고 끌 수 있습니다.

2026-06-04 목요일

  • 재시작 작업을 잃지 않고 서버를 다시 시작하는 토대를 놓았습니다 — 패널·세션 상태를 저장했다가 그대로 복원합니다.
  • Windows Windows 지원을 시작했습니다. 터미널(ConPTY)·프로세스·통신 계층을 플랫폼 공용으로 추상화하고 실제 Windows 11 에서 검증했습니다.
  • 우클릭 컨텍스트 메뉴를 통일하고(대상 패널만 밝게, 나머지는 흐리게), 탭·패널 트리 개요(로컬/원격·실행 앱·전환·종료)와 날짜 클릭 달력, 프롬프트 이력·토큰 트리·REC 정보 팝업을 더했습니다.
  • 네트워크가 느려지면 패널 외곽선이 빨개지고, 끊긴 연결은 스스로 다시 붙습니다. 클립보드 이미지 붙여넣기(Ctrl+V)도 지원합니다.

2026-06-03 수요일

  • 구조를 세션 → 탭 → 패널로 정리하고 상단 탭바를 도입했습니다. 탭을 드래그해 재정렬하고, 활성/비활성 패널을 색 박스로 구분합니다.
  • Claude Claude Code 실행 상태를 탭 아이콘으로 표시하고, 활성 Claude 패널의 토큰·컨텍스트 사용량을 상태줄에 보여줍니다.
  • 명령 프롬프트 자동완성·카테고리별 도움말 팝업을 갖추고, 헤드리스 테스트 스위트와 화면 기록·재생(record/replay) 진단 도구를 마련했습니다. 어디서든 pytmux 로 실행되는 설치 스크립트와 SSH/mosh 자동 접속도 추가했습니다.

2026-06-02 화요일 · pytmux 탄생 🌱

  • pytmux 첫 구현. Python/Textual 로 만든 tmux 유사 터미널 멀티플렉서가 이날 태어났습니다. 패널 분할·줌·레이아웃·swap/rotate·join/break, 탭(윈도우) 관리, 복사 모드(스크롤백 검색·선택·클립보드 연동), 커스터마이즈 가능한 상태줄, 시계·달력·팝업, send-keys·capture-pane 같은 자동화까지 tmux 의 핵심을 하루에 갖췄습니다.
  • pytmux 만의 기능 — Claude Code 토큰 리밋 자동 재개. 처음부터 Claude Code 사용 한도에 걸리면 자동으로 이어서 재개하는 기능을 패널별로 켤 수 있게 넣었습니다. 이것이 pytmux 를 tmux 와 다르게 만든 출발점입니다.
  • 풀스크린 TUI·와이드 문자 렌더 기반. 대체 화면 버퍼(Claude Code 등 전체화면 앱)와 이모지·CJK 같은 두 칸 폭 글자를 제대로 그리도록 초기 렌더링을 잡았습니다.

2026-06-02 가 pytmux 의 첫 커밋입니다. 여기까지가 지금까지의 전체 개발 이력입니다.