# Twin - 텍스트 모드 윈도우 환경 (Textmode WINdow)

> Clean Markdown view of GeekNews topic #22591. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=22591](https://news.hada.io/topic?id=22591)
- GeekNews Markdown: [https://news.hada.io/topic/22591.md](https://news.hada.io/topic/22591.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2025-08-19T09:31:01+09:00
- Updated: 2025-08-19T09:31:01+09:00
- Original source: [github.com/cosmos72](https://github.com/cosmos72/twin)
- Points: 11
- Comments: 0

## Summary

X11의 **그래픽 윈도우 환경**을 텍스트 모드에서 구현하여, 마우스와 **터미널 에뮬레이터**를 지원하는 윈도우 매니저로 **여러 텍스트 윈도우의 독립적 표시, 가상 화면, 메뉴 시스템** 등 다양한 기능을 제공합니다. **리눅스, macOS, FreeBSD, Android** 등 폭넓은 플랫폼과 아키텍처를 지원하며, 네트워크 투명 클라이언트로 **다양한 디스플레이 환경**에서 손쉽게 윈도우 전환 및 확장이 가능합니다. 각 윈도우는 **내부에 다른 윈도우나 가젯 포함**, 대용량 가상 화면, 메뉴 시스템 등 독자적 구조로 외부 프로그램과의 연동 및 커스터마이즈가 유연합니다.

## Topic Body

- X11 그래픽 환경의 핵심 개념을 **텍스트 모드로 구현**하여, **텍스트 디스플레이에서 윈도우 환경을 제공**   
- **여러 윈도우**의 독립적 표시, 외부 프로그램과의 상호작용, 메뉴 및 가젯 지원, **가상 화면 및 스크롤** 등의 기능 제공   
- 마우스를 지원하는 **윈도우 매니저**이며, **내장 터미널 에뮬레이터**도 포함  
- **다양한 디스플레이**(텍스트 터미널, X11, 셀프 - Twin 자신을 다른 Twin에 표시, twdisplay 클라이언트)에서 동작 가능  
  - twdisplay는 네트워크 투명 디스플레이 클라이언트로, 온더플라이로 여러 디스플레이 연결/분리 가능   
- **리눅스, macOS, FreeBSD, Android** 등 다양한 플랫폼에서 테스트되었으며, 여러 아키텍처(i386, x86\_64, arm 등) 지원  
  
### 주요 차별점   
  
- **각 윈도우에 메뉴가 연동**되어 있고, 포커스된 윈도우의 메뉴만 표시됨  
  - 여러 창이 동일 메뉴를 공유할 수 있음  
- **윈도우의 테두리는 각 윈도우의 일부**로 외부 프로그램에서 일부 커스터마이즈 가능  
  - 단, 버튼/스크롤바의 위치 및 스타일은 Twin 내장 윈도우 매니저가 통제 (twinrc 파일로 Look&Feel 설정 가능)  
- 윈도우는 단순히 사각형이 아니라, **윈도우 내부에 다른 윈도우나 ‘가젯’(버튼 등)** 을 포함 가능  
  - 또한 윈도우보다 긴 줄, 많은 줄을 포함할 수 있어 스크롤 지원  
- **가상 화면(Virtual Screen) 지원**  
  - 한 화면에 64K 문자 셀 등 대용량 공간 제공, 마우스 버튼과 이동으로 스크롤 및 화면 전환 가능  
- **내장 윈도우 매니저**  
  - 포커스 이동, 창 이동/크기조절, 가상 화면 전환, 메뉴 동작, 키/마우스 이벤트 전달, 스크롤 동작 등 제어  
- **내장 터미널 에뮬레이터**  
  - 별도 xterm 등 없이 일반 tty 프로그램 실행 가능  
  - 외부용 클라이언트 `twterm`도 포함되어 필요 시 사용 가능 (내장 코드 필요시 자동 로드)

## Comments



_No public comments on this page._
