키, 포맷, 종료 코드
send-keys 의 키 이름, -F 의 포맷 변수, 모든 명령의 종료 코드예요.
키 이름
Enter, Escape, Tab, BTab, BSpace, Space, Up, Down, Left, Right, Home, End, PageUp(PgUp, PPage), PageDown(PgDn, NPage), IC(Insert), DC(Delete), F1~F12. 앞에 C-(Ctrl), M-(Alt), S-(Shift)를 붙여 조합해요(C-c, M-x, S-Up, ^c도 돼요). 이름은 대소문자를 가리지 않아요. tmux 3과 같은 바이트를 보내는지 대조했어요. 키 이름이 아닌 인자는 글자 그대로 가요.
프로그램이 application cursor 모드를 켜면(vim 등) 방향키는 ESC O A 형태로 바뀌어요. tmux와 같아요.
포맷 변수
list-sessions -F, new-session -P -F, display-message에서 써요.
| 변수 | 뜻 |
|---|---|
session_name, session_id, session_created, session_attached, session_windows | 세션 이름, $로 시작하는 id(pane_id는 %), 만든 시각(유닉스 초), 붙은 터미널 수, 창 수(늘 1) |
window_index, window_id, window_name, window_width, window_height, window_panes | 창 정보(창은 늘 하나) |
pane_id, pane_index, pane_pid, pane_width, pane_height | 패널 정보, 프로그램의 pid |
pane_current_command, pane_current_path | 지금 실행 중인 명령 이름과 폴더 |
pane_dead, pane_in_mode | 늘 0(tmux 스크립트 호환용. window_index, pane_index도 늘 0) |
cursor_x, cursor_y, alternate_on | 커서 위치(0부터), 대체 화면 사용 여부 |
history_size, history_limit | 스크롤백 줄 수와 한도 |
version | 답하는 서버(또는 임베디드 엔진)의 zeropty 버전 |
tmux와 같은 세션에서 대조했어요. #{version}만 쓰는 포맷은 세션 없이도 돼요(zeropty display -p '#{version}'는 실행 중인 서버의 버전, zeropty -V는 CLI 자신의 버전). -t가 없는 세션을 가리키면 display-message는 tmux처럼 세션 변수를 비운 포맷을 출력하고 종료 코드 0이에요. 세션이 있는지 확인하려면 has-session을 쓰세요. 없는 변수는 tmux처럼 빈 문자열이고, 조건식(#{?...})과 수식어(#{t:...})는 안 돼요.
종료 코드
| 코드 | 뜻 |
|---|---|
| 0 | 성공 |
| 1 | 실패: 없는 세션(display-message -t는 예외, 포맷 변수 참고), 모르는 옵션, wait-pane 시간 초과·세션 종료, grep-panes·has-session의 "없음", 서버 없음(no server running on ...) |
| 2 | 사용법 오류: 인자 없이 실행, zeropty help <모르는 명령>, attach의 모르는 인자 |