
nchat은 Linux와 macOS에서 Telegram, WhatsApp, Signal을 사용할 수 있는 터미널 기반 멀티프로토콜 메신저다. 메시지 전송·편집·검색과 미디어 저장, 알림 등을 제공하지만 공식 메신저를 대체하는 완전한 기능의 클라이언트가 아니라 필수 기능에 초점을 둔 경량 도구이며, 현재 유지보수 모드다.
프로젝트 저장소: nchat
메시지에는 마크다운 형식을 적용할 수 있고, 답장·삭제·편집·전달, 그룹 채팅에서의 사용자 멘션과 반응 전송을 지원한다. 사진·동영상·문서 같은 미디어를 보고 저장할 수 있으며 읽음·수정 표시, 사용자 상태(온라인·자리 비움·입력 중), 읽지 않은 다음 채팅으로 이동, 채팅 보관·고정·삭제, 채팅 내 메시지 검색 기능도 있다. 대화·연락처·이모지·파일 목록과 메시지 기록 캐시 및 텍스트 내보내기, 새 메시지 데스크톱 알림, 이모지 표시 방식 전환도 제공한다. 테마와 키 바인딩은 Themes 위키를 통해 사용자 지정할 수 있다.
설치와 빌드
nchat은 Linux와 macOS에서 개발·시험됐다. 현재 확인된 시험 환경은 macOS Sequoia 15.5와 Ubuntu 24.04 LTS다.
macOS에서는 Homebrew로 안정 버전을 설치한다.
brew tap d99kris/nchat brew install nchat
필요하면 --without-whatsapp 또는 --without-telegram 옵션으로 프로토콜을 제외할 수 있다. 예를 들어 Telegram을 제외하려면 다음과 같이 설치한다.
brew install nchat --without-telegram
Arch Linux에서는 AUR 도우미 yay를 이용해 최신 Git 버전, 안정 버전 또는 미리 빌드된 바이너리를 설치할 수 있다.
yay -S nchat-git
yay -S nchat
yay -S nchat-bin
미리 빌드된 바이너리는 Linux의 x86_64·arm64( glibc >= 2.28 또는 musl)와 macOS arm64를 실험적으로 지원한다. 설치·제거 명령은 다음과 같다.
curl -fsSL https://raw.githubusercontent.com/d99kris/nchat/master/utils/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/d99kris/nchat/master/utils/uninstall.sh | bash
기본 설치 위치는 ~/.local/{bin,share}이며 NCHAT_PREFIX 환경 변수로 바꿀 수 있다. 예시는 다음과 같다.
export NCHAT_PREFIX=/usr/local
소스에서 빌드할 때는 Telegram 라이브러리 tdlib를 비롯한 코드가 많아 첫 빌드에 비교적 오랜 시간이 걸릴 수 있다. 소스를 내려받으려면 다음을 실행한다.
git clone https://github.com/d99kris/nchat && cd nchat
macOS, Alpine, Arch, Fedora, Gentoo, Raspbian, Ubuntu, Void에서는 제공되는 make.sh 스크립트를 사용할 수 있다.
./make.sh deps
./make.sh build && ./make.sh install
이 방식의 기본 설치 위치는 /usr/local 같은 시스템 경로다. NCHAT_PREFIX를 사용하면 사용자 쓰기 권한이 있는 경로에 설치해 sudo나 doas 사용을 피할 수 있다.
export NCHAT_PREFIX=~/.local
수동 빌드의 의존성 설치 명령은 운영체제별로 다르다.
macOS:
brew install gperf cmake openssl ncurses ccache readline help2man sqlite libmagic go
Arch:
sudo pacman -S ccache cmake file go gperf help2man ncurses openssl readline sqlite zlib base-devel
Debian 계열(Ubuntu, Raspbian 등):
sudo apt install ccache cmake build-essential gperf help2man libreadline-dev libssl-dev libncurses-dev libncursesw5-dev ncurses-doc zlib1g-dev libsqlite3-dev libmagic-dev golang
Fedora:
sudo dnf install git cmake clang golang ccache file-devel file-libs gperf readline-devel openssl-devel ncurses-devel sqlite-devel zlib-devel
Gentoo:
sudo emerge -n dev-util/cmake dev-util/ccache dev-util/gperf sys-apps/help2man sys-libs/readline dev-libs/openssl sys-libs/ncurses sys-libs/zlib dev-db/sqlite sys-apps/file dev-lang/go
Void:
sudo xbps-install base-devel go ccache cmake gperf help2man libmagick-devel readline-devel sqlite-devel file-devel openssl-devel
Wayland 기반 시스템에서 클립보드를 사용하려면 wl-clipboard가 필요하다. 클립보드의 이미지를 바로 붙여넣으려면 libpng-dev가 필요하며, X11에서는 libxcb1-dev와 libx11-dev도 설치해야 한다. 빌드와 설치는 다음 명령으로 진행한다.
mkdir -p build && cd build && cmake .. && make -s
sudo make install
기본 빌드에는 G++ 사용 시 약 3.5GB, clang++ 사용 시 약 1.5GB의 RAM이 필요하다. 메모리를 줄이는 방법은 저메모리 시스템 빌드 안내를 참고한다. 소스 빌드에서는 Signal 지원을 제외한 기능이 기본 활성화된다. Signal은 Signal 안내, 다른 기능 플래그는 Feature Flags에 설명돼 있다.
계정 설정과 사용
실행 형식은 nchat [OPTION]이다. 설정 모드로 계정을 추가하려면 다음을 실행한다.
nchat --setup
설정 과정에서 국가 코드를 포함한 전화번호를 입력한다. 기본 인증 방식은 QR 코드이며, 휴대전화의 공식 앱으로 코드를 스캔한다. Telegram에서는 앱의 Settings → Devices에서 Link Desktop Device를 선택한다. 인증 코드를 사용하려면 USE_PAIRING_CODE 환경 변수를 설정한다. 설정을 마치면 nchat의 메인 화면이 열린다. 여러 프로토콜이나 프로필을 추가하려면 nchat을 종료한 뒤 설정 절차를 반복한다. 계정 제거에는 nchat --remove를 사용한다.
주요 명령행 옵션은 다음과 같다.
-d, --confdir <DIR>:~/.config/nchat대신 사용할 설정 디렉터리 지정-e, --verbose: 상세 로그 활성화-ee, --extra-verbose: 더 상세한 로그 활성화-h, --help: 도움말 표시 후 종료-k, --keydump: 키 코드 덤프 모드-m, --devmode: 개발자 모드-r, --remove: 메신저 계정 제거-s, --setup: 메신저 계정 설정-v, --version: 버전 정보 표시 후 종료-x, --export <DIR>: 메시지 캐시를 지정 디렉터리로 내보내기
기본 조작 키는 다음과 같다.
PageDn·PageUp: 대화 기록 다음·이전 페이지,Tab·Sh-Tab: 다음·이전 채팅Ctrl-f: 읽지 않은 채팅으로 이동,Ctrl-g: 도움말 표시 전환,Ctrl-l: 연락처 목록 표시 전환Ctrl-n: 채팅으로 이동,Ctrl-p: 상단 표시줄 전환,Ctrl-q: 종료Ctrl-s: 이모지 삽입,Ctrl-t: 파일 전송,Ctrl-x: 메시지 전송,Ctrl-y: 이모지 표시 전환KeyUp: 메시지 선택,Alt-@: 멘션 삽입,Alt-a: 현재 채팅 보관,Alt-d: 현재 채팅 삭제 또는 나가기Alt-e: 외부 편집기로 작성,Alt-i: 자동 답장 작성,Alt-n: 연락처 검색Alt-p: 현재 채팅 고정·고정 해제,Alt-t: 외부 전화 걸기,Alt-/: 채팅 내 검색,Alt-?: 다음 검색 결과Alt-$: 외부 맞춤법 검사,Alt-,·Alt-.: 연락처 목록 폭 줄이기·늘리기
선택한 메시지에는 Ctrl-d(삭제), Ctrl-r(첨부 파일 다운로드), Ctrl-v(첨부 파일 열기·보기), Ctrl-w(링크 열기), Ctrl-x(답장), Ctrl-z(편집)를 사용할 수 있다. Alt-c는 메시지를 클립보드에 복사하고, Alt-q는 인용·답장한 메시지로 이동하며, Alt-r은 전달, Alt-s는 반응 추가·제거, Alt-w는 외부 메시지 뷰어로 연다.
입력창에서 Ctrl-a·Ctrl-e는 줄의 시작·끝으로 이동하고, Ctrl-c는 입력 내용을 지운다. Ctrl-k·Ctrl-u는 커서 뒤·앞의 내용을 지운다. Alt-Left·Alt-Right는 한 단어씩 이동하고, Alt-Backsp·Alt-Delete는 앞·뒤 단어를 지운다. Alt-Tab은 공백 네 칸을 입력한다. Alt-c는 선택한 메시지가 없을 때 입력 내용을 복사하고, Alt-v는 붙여넣기, Alt-x는 잘라내기에 사용한다.
데이터와 설정
사용자 데이터는 기본적으로 ~/.config/nchat에 저장된다. 기본 파일 권한은 해당 사용자만 접근하도록 제한하지만, 사용자의 비공개 파일에 접근할 수 있는 사람은 nchat의 개인 데이터에도 접근할 수 있다. 간단한 공격 경로를 막기 위해 디스크 암호화를 사용하고 ~/.config/nchat을 암호화하지 않은 상태로 백업하지 않는 방안이 적절할 수 있다.
설정 파일은 ~/.config/nchat/app.conf, ui.conf, key.conf, color.conf와 프로필별 설정 파일로 나뉜다. 앱 설정에는 첨부 파일 처리·캐시·클립보드 명령·프록시·시간 표시 등이, UI 설정에는 알림·상태 공유·채팅 목록·확인 창 등이 포함된다. 키와 색상 설정으로 조작 키와 화면 표시를 바꿀 수 있다. 설정 파일의 기본값 및 각 항목 설명은 저장소의 설정 문서에 있다.
app.conf에서 첨부 파일 전송 방식은 attachment_send_type으로 정한다. 기본값 1은 파일 종류(오디오·동영상·이미지·문서)를 감지해 해당 유형으로 보내며, 0은 모두 문서로 보낸다. 2는 기본값 방식에 더해 텍스트나 인용 없이 파일만 보낼 때 webp는 스티커로, mp4/m4v는 테두리 없는 자동 재생 GIF로 보낸다. attachment_prefetch는 다운로드 시점을 정한다. 0은 열거나 저장할 때, 기본값 1은 메시지를 선택할 때, 2는 메시지를 받을 때 다운로드한다.
cache_enabled는 캐시 사용 여부를, cache_read_only는 캐시에 읽기 전용으로 접근할지 정한다. 후자는 주로 디버깅용이다. clipboard_*_command는 시스템 클립보드 대신 쓸 명령을 설정하며 자세한 내용은 클립보드 안내를 참고한다. downloads_dir를 지정하지 않으면 ~/Downloads가 있을 때 그곳에 저장하고, 없으면 홈 디렉터리를 사용한다. emoji_list_all을 켜면 일반 터미널에서 제대로 표시되지 않을 수 있는 이모지도 목록에 포함한다. 링크 미리보기 설정은 Telegram에서 보낸 메시지에만 적용된다. message_delete는 다른 사용자가 삭제한 메시지를 WhatsApp·Signal에서 지우거나 [This message was deleted]로 대체·접두하는 방식을 정한다. 본인이 삭제한 메시지는 이 설정과 관계없이 로컬에서 지워진다.
SOCKS5 프록시는 host와 port가 필수이며 user, pass는 서버에 따라 선택 사항이다. 처음 프록시를 설정할 때는 먼저 인자 없이 nchat을 실행해 설정 디렉터리를 만든 다음 ~/.config/nchat/app.conf의 프록시 값을 편집하고 nchat -s로 계정을 설정하는 방법을 권한다. timestamp_iso를 켜면 화면과 내보내기에서 YYYY-MM-DD HH:MM 형식을 사용한다. 기본값은 오늘 날짜에 HH:MM, 지난주에는 DAY HH:MM, 올해에는 DD MMM HH:MM, 다른 연도와 기록 내보내기에는 DD MMM YYYY HH:MM을 쓰는 사람 친화적 형식이다.
USE_PAIRING_CODE를 설정하면 QR 대신 인증·페어링 코드를 쓰며, Telegram·WhatsApp에 적용된다. USE_QR_TERMINAL은 QR 코드를 터미널에 표시하고 GUI 이미지 표시 기능 감지를 끈다. version_used는 마지막으로 성공적으로 실행한 버전을 기록하는 내부 항목으로, 시작 시 충돌·멈춤 문제를 디버깅하는 데 쓰일 수 있다.
ui.conf에서는 첨부 파일 표시, 자동 답장, 외부 편집기·전화·파일 선택 명령, 읽음 처리, 알림, 상태 공유, 화면 구성 등을 설정한다. 자동 답장 기능은 기본 비활성화다. compose 도구가 셸 환경에 API 키가 설정돼 있을 경우 제3자 서비스를 이용해 비용이 발생할 수 있기 때문이다. 자동 답장에 전달할 메시지 수는 auto_compose_history_count로 정한다. 사용자 지정 명령에는 대화 기록이 담긴 임시 파일 경로를 대신 넣을 %1이 필요하다. 설정하지 않으면 번들된 compose 스크립트를 임시 경로에 풀어 다음 명령을 사용한다.
python3 '(tempdir)/compose' -c '%1'
자세한 내용은 Auto-Compose 안내에 있다. 첨부 파일·링크 열기 명령은 %1을 파일 이름 또는 URL로 바꿔 실행한다. 지정하지 않으면 Linux에서는 xdg-open, macOS에서는 open을 사용한다. 외부 편집기 명령이 없으면 EDITOR, 그 값도 없으면 nano를 사용한다. 메시지 보기 명령은 PAGER를 따르고, 설정되지 않으면 less를 쓴다.
데스크톱 알림은 desktop_notify_enabled를 켜는 것만으로는 표시되지 않는다. 다른 desktop_notify_* 항목도 활성화해야 하며 현재 채팅·다른 채팅, 터미널 활성 여부, 연결 상태에 따라 알림을 조정할 수 있다. 사용자 지정 알림 명령의 %1은 보낸 사람 또는 ‘그룹 이름 - 보낸 사람 이름’, %2는 메시지 내용으로 바뀐다. 이 값은 셸 삽입을 막기 위해 작은따옴표로 감싸야 한다. 기본 명령은 Linux에서 notify-send 'nchat' '%1: %2', macOS에서 osascript -e 'display notification "%1: %2" with title "nchat"'이다.
온라인 상태 공유를 끄면 WhatsApp에서 다른 사용자의 온라인·입력 중 상태 업데이트도 중지된다. 터미널 활성 상태에 따라 온라인 상태를 동적으로 바꾸도록 설정하면 터미널이 비활성일 때 WhatsApp의 다른 사용자 온라인·입력 중 상태 업데이트가 중단된다. 메시지를 본 시점에 읽음 확인을 보내지 않도록 설정하면 다음 페이지, 끝으로 이동하거나 채팅에서 메시지·파일을 보낼 때 읽음 처리한다. 음소거된 채팅의 읽지 않은 표시 여부는 읽지 않은 채팅으로 이동하는 기능에도 반영된다.
key.conf는 ncurses 매크로(예: KEY_CTRLK), 16진 키 코드(예: 0x22e), 8진 키 코드열(예: \033\177), 일반 ASCII 문자 하나 또는 KEY_NONE으로 키를 지정한다. 키 코드를 확인하려면 nchat -k를 실행한다. 이 모드는 8진 코드와 해당하는 ncurses 매크로 이름을 출력한다.
color.conf에서는 normal, underline, reverse, bold, italic 속성과 검정·빨강·초록·노랑·파랑·자홍·청록·흰색·회색 및 밝은 색을 사용할 수 있다. 사용자 지정 색상은 0xff8937 같은 16진 RGB 값으로 지정한다. 수신 그룹 대화 색상 항목에 usercolor를 지정하면 사용자 ID 해시를 바탕으로 ~/.config/nchat/usercolor.conf의 색을 선택한다. 테마 파일은 소스의 themes 디렉터리에 있으며 nchat을 종료한 상태에서 ~/.config/nchat/로 복사해 적용한다. 제공 테마는 ayu-dark, basic-color, catppuccin-mocha, default, dracula, espresso, gruvbox-dark, gruvbox-dark-hard, purple-light, solarized-dark-higher-contrast, tokyo-night, tomorrow-night, zenbones-dark, zenburned다. 예시 화면은 테마 위키에서 볼 수 있다.
설정 항목의 줄을 지우고 nchat을 다시 실행하면 기본 항목이 채워진다. 설정 파일은 종료할 때 다시 기록된다. nchat 실행 중 외부에서 파일을 수정하면 해당 파일은 건드리지 않으며 그 세션에서 UI로 바꾼 설정도 저장하지 않는다.
프로토콜별 설정은 ~/.config/nchat/profiles/ 아래에 저장된다. Telegram 설정에는 Markdown 변환 사용 여부와 Telegram Markdown 버전(기본값 1), 여러 프로필에서 상태 표시줄에 쓸 선택적 짧은 이름이 있다. WhatsApp과 Signal 프로필에도 표시 이름을 지정할 수 있다. 기본 이름은 프로필이 하나일 때 Telegram, WhatsAppMd, Signal이며 같은 프로토콜 프로필이 여러 개면 전화번호가 붙은 이름을 사용한다.
문제 해결과 프로젝트 범위
Linux에서 Alt 키 단축키가 작동하지 않으면 터미널에서 meta 키가 escape를 보내도록 설정한다. macOS Terminal에서는 프로필의 “Use Option as Meta key”를 켠다. 그래도 문제가 있으면 nchat -k로 키 코드를 확인해 ~/.config/nchat/key.conf를 수정한다.
Enter 키로 바로 메시지를 보내려면 ~/.config/nchat/key.conf에 send_msg=KEY_RETURN을 설정한다. Alt/Option-Enter로 줄바꿈을 입력하려면 ~/.config/nchat/ui.conf에서 linefeed_on_enter=0으로 바꾸고 키 설정에 linebreak=\33\15를 지정한다. tmux에서 사용자 지정 색상이 보이지 않으면 TERM=xterm-256color nchat처럼 사용자 지정 색상을 지원하는 TERM을 사용해 본다. 보낸 메시지가 보이지 않으면 터미널이 회색을 검정으로 표시하는지 확인하고 ~/.config/nchat/color.conf에서 gray 항목을 제거할 수 있다. Linux에서 터미널 투명도가 작동하지 않으면 사용자 지정 기본 배경을 지우고 default_color_bg=로 설정해 본다.
Telegram과 WhatsApp을 함께 사용하거나 전환할 때 권장하는 방법은 프로토콜·전화번호마다 설정 디렉터리를 따로 두고 각 터미널 창이나 탭에서 별도 인스턴스를 실행하는 것이다. 별칭을 다음처럼 만들 수 있다.
alias telegram='nchat -d ~/.config/nchat-telegram' alias whatsapp='nchat -d ~/.config/nchat-whatsapp'
각 프로토콜을 별도로 설정한다.
telegram -s whatsapp -s
대신 한 설정 디렉터리에 여러 계정을 넣으려면 각 프로토콜·전화번호마다 설정 모드를 실행하고 초기 동기화 후 종료한다.
nchat -s
Telegram·WhatsApp 설정 시 기본 QR 스캔 대신 코드를 쓰려면 다음과 같이 실행한다. Telegram은 인증 코드, WhatsApp은 페어링 코드를 사용한다.
USE_PAIRING_CODE=1 nchat -s
QR 코드가 보이지 않을 때는 이미지 표시 가능한 GUI가 있는지 nchat의 감지 결과(로그의 “has gui”)를 확인한다. 페어링 코드를 쓰거나 QR을 터미널에 강제로 표시하려면 다음을 사용한다.
USE_QR_TERMINAL=1 nchat -s
빌드 중 c++: fatal error: Killed signal terminated program cc1plus가 나오면 사용 가능한 RAM이 부족해 OOM killer가 컴파일을 종료했을 수 있다. RAM이 4GB 미만이면 저메모리 빌드 안내를 참고한다. 4GB 이상이라면 병렬 작업 수가 너무 많을 수 있으며 Arch AUR 설치에서 발생할 수 있다. AUR에서는 병렬 작업 수를 사용 가능한 RAM(GB)을 4로 나눈 값으로 제한하는 방법이 안내돼 있다. 예를 들어 8GB 시스템은 작업 수를 2로 설정한다.
CMAKE_BUILD_PARALLEL_LEVEL=2 yay -S nchat
또는 시스템 사양에 따라 병렬 작업 수를 정하는 make.sh로 소스 빌드를 할 수 있다. 설정 문제는 디버깅 안내를 참고한다.
nchat은 기능 개발을 마쳤으며 유지보수 모드에 있다. 공식 Telegram·WhatsApp·Signal 앱과 대등한 모든 기능을 제공하려는 것이 아니라 터미널에서 쓰기 좋은 필수 기능을 제공하는 경량 클라이언트를 지향한다. 자세한 범위는 Project Scope에 있다. 기여자는 기여 지침과 설계 노트도 참고할 수 있다.
다른 터미널 메신저로는 Telegram용 tg와 tgt, WhatsApp용 whatscli, Signal용 gurk-rs가 소개돼 있다.
기술 정보와 라이선스
nchat은 기본적으로 자체 Telegram API ID와 해시를 사용한다. 사용자 ID와 해시는 my.telegram.org에서 얻을 수 있으며, 새 Telegram 계정을 설정할 때 TG_APIID와 TG_APIHASH 환경 변수를 지정해 사용할 수 있다. 예시 값은 유효한 값으로 바꿔야 한다.
TG_APIID="123456" TG_APIHASH="aaeaeab342aaa23423" nchat -s
주요 구현 언어는 C++이며 일부는 Go로 작성됐다. 소스 트리에는 apathy, cereal, clip, QR-Code-generator, mautrix-signal, stb, sqlite_modern_cpp, tdlib, whatsmeow가 포함된다. 바이너리에는 통합된 THIRD_PARTY_LICENSES 파일이 배포된다. tdlib, whatsmeow, signal 라이브러리는 활발히 개발되고 있어 nchat 유지관리자가 정기적으로 갱신·통합해야 한다. 최신 또는 특정 버전으로 갱신하는 스크립트 사용 예시는 다음과 같다.
./utils/tdlib-update 8517026 ./utils/whatsmeow-update 7aedaa1 ./utils/signal-update 93da772
소스는 MIT 라이선스로 배포된다. 바이너리는 Signal 지원을 끄지 않으면 GNU AGPL v3, Signal 지원을 끄면 GNU GPL v3로 배포된다.
부록: 원문 예시
assert_abort=0 attachment_prefetch=1 attachment_send_type=1 cache_enabled=1 cache_read_only=0 clipboard_copy_command= clipboard_has_image_command= clipboard_paste_command= clipboard_paste_image_command= coredump_enabled=0 downloads_dir= emoji_list_all=0 link_send_preview=1 logdump_enabled=0 mentions_quoted=1 message_delete=1 proxy_host= proxy_pass= proxy_port= proxy_user= timestamp_iso=0 use_pairing_code=0 use_qr_terminal=0 version_used=
attachment_indicator=📎 attachment_open_command= away_status_indication=0 auto_compose_command= auto_compose_enabled=0 auto_compose_history_count=25 auto_select_chat_timeout_sec=1 call_command= chat_picker_sorted_alphabetically=0 confirm_archiving=1 confirm_deletion=1 confirm_send_pasted_image=1 desktop_notify_active_current=0 desktop_notify_active_noncurrent=1 desktop_notify_command= desktop_notify_connectivity=1 desktop_notify_enabled=0 desktop_notify_inactive=1 downloadable_indicator=+ edited_indicator=✎ emoji_enabled=1 entry_height=4 failed_indicator=✗ file_picker_command= file_picker_persist_dir=1 help_enabled=1 help_prefix_ctrl=^ help_prefix_meta=M- home_fetch_all=0 linefeed_on_enter=1 link_open_command= list_enabled=1 list_width=14 listdialog_show_filter=1 mark_read_any_chat=0 mark_read_on_view=1 mark_read_when_inactive=0 message_edit_command= message_open_command= muted_indicate_unread=1 muted_notify_unread=0 muted_position_by_timestamp=1 notify_every_unread=1 online_status_share=1 online_status_dynamic=1 phone_number_indicator= pinned_indicator=⚲ proxy_indicator=🔒 read_indicator=✓ reactions_enabled=1 spell_check_command= status_broadcast=1 status_enabled=1 syncing_indicator=⇄ tab_size=4 terminal_bell_active=0 terminal_bell_inactive=1 terminal_title= top_enabled=1 top_show_version=0 transfer_send_caption=1 typing_status_share=1 undo_clear_input=1 unread_indicator=*
archive_chat=\33\141 auto_compose=\33\151 backspace=KEY_BACKSPACE backspace_alt=KEY_ALT_BACKSPACE backward_kill_word=\33\177 backward_word= begin_line=KEY_CTRLA cancel=KEY_CTRLC clear=KEY_CTRLC copy=\33\143 cut=\33\170 decrease_list_width=\33\54 delete=KEY_DC delete_chat=\33\144 delete_line_after_cursor=KEY_CTRLK delete_line_before_cursor=KEY_CTRLU delete_msg=KEY_CTRLD down=KEY_DOWN edit_msg=KEY_CTRLZ end=KEY_END end_line=KEY_CTRLE ext_call=\33\164 ext_edit=\33\145 find=\33\57 find_next=\33\77 forward_msg=\33\162 forward_word= goto_chat=KEY_CTRLN home=KEY_HOME increase_list_width=\33\56 jump_pinned=KEY_CTRLP jump_quoted=\33\161 kill_word= left=KEY_LEFT linebreak=KEY_RETURN next_chat=KEY_TAB next_page=KEY_NPAGE ok=KEY_RETURN open=KEY_CTRLV open_link=KEY_CTRLW open_msg=\33\167 other_commands_help=KEY_CTRLO paste=\33\166 pin=\33\160 prev_chat=KEY_BTAB prev_page=KEY_PPAGE quit=KEY_CTRLQ react=\33\163 right=KEY_RIGHT save=KEY_CTRLR select_contact=\33\156 select_emoji=KEY_CTRLS select_mention=\33\62 send_msg=KEY_CTRLX spell=\33\44 tab=\33\11 terminal_focus_in=KEY_FOCUS_IN terminal_focus_out=KEY_FOCUS_OUT terminal_resize=KEY_RESIZE toggle_emoji=KEY_CTRLY toggle_help=KEY_CTRLG toggle_list=KEY_CTRLL toggle_top=KEY_NONE transfer=KEY_CTRLT unread_chat=KEY_CTRLF up=KEY_UP
default_color_bg= default_color_fg= dialog_attr= dialog_attr_selected=reverse dialog_color_bg= dialog_color_fg= entry_attr= entry_color_bg= entry_color_fg= help_attr=reverse help_color_bg=black help_color_fg=white history_name_attr=bold history_name_attr_selected=reverse history_name_recv_color_bg= history_name_recv_color_fg= history_name_recv_group_color_bg= history_name_recv_group_color_fg= history_name_sent_color_bg= history_name_sent_color_fg=gray history_text_attachment_color_bg= history_text_attachment_color_fg=gray history_text_attr= history_text_attr_selected=reverse history_text_quoted_color_bg= history_text_quoted_color_fg=gray history_text_reaction_color_bg= history_text_reaction_color_fg=gray history_text_recv_color_bg= history_text_recv_color_fg= history_text_recv_group_color_bg= history_text_recv_group_color_fg= history_text_sent_color_bg= history_text_sent_color_fg=gray list_attr= list_attr_selected=reverse list_color_bg= list_color_fg= list_color_unread_bg= list_color_unread_fg= listborder_attr= listborder_color_bg= listborder_color_fg= status_attr=reverse status_color_bg= status_color_fg= top_attr=reverse top_color_bg= top_color_fg=
local_key= markdown_enabled=1 markdown_version=1 profile_display_name=
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요