TL;DR
- Hafþi for Mac은 Swift와 AppKit으로 구현한 네이티브 macOS 터미널이며, SwiftTerm 에뮬레이션과 Metal 렌더링(사용 가능할 때), Core Graphics 대체 렌더링을 제공함.
- 0.1.0 베타 3은 Apple Silicon 및 macOS 13 이상을 지원하며, Xcode나 빌드 도구 없이 설치 가능함.
- macOS 유사 터미널에서 로컬 셸을 실행하고, 창·입력·글꼴·색상·배경 이미지·스크롤백 설정을 제공함.
- Fish, Starship,
tgpt는 별도 설치하는 선택 기능이며,tgpt가 제안하는 명령은 앱에서 자동 실행되지 않음. - Linux 버전과 달리 Mac 앱은 AppKit 환경설정과 macOS 투명도를 사용하며, MIT 라이선스가 적용됨.
Hafþi for Mac
- Linux용 Hafþi의 네이티브 macOS 버전으로, Swift와 AppKit으로 작성됨.
- 터미널 에뮬레이션은
SwiftTerm이 처리하며, Metal 렌더링을 사용할 수 있을 때 적용하고 사용할 수 없으면 Core Graphics로 대체함.
다운로드
- Apple Silicon용 Hafþi 0.1.0 beta 3 다운로드 파일은
Hafthi-0.1.0-beta.3-macOS-arm64.zip이며, 압축을 푼 뒤Hafþi.app을 Applications로 드래그해 설치함. - 실행 조건은 macOS 13 이상이며, 다운로드한 앱 실행에는 Xcode나 빌드 도구가 필요하지 않음.
- 베타는 임시 서명(ad hoc signing) 상태이며 Apple Developer ID로 공증되지 않음.
- macOS가 첫 실행을 차단하면 앱을 연 뒤 System Settings → Privacy & Security → Open Anyway에서 Hafþi를 허용하면 됨. Mac 전체에서 Gatekeeper를 비활성화할 필요는 없음.
기능
- 터미널: macOS 유사 터미널에서 실제 로컬 셸을 실행하며, ANSI 색상, 선택, 스크롤백, 대화형 전체 화면 프로그램을 지원함. 명령은 Mac에서 실행됨.
- 창과 입력: 크기 조절이 가능한 여러 창, 복사, 붙여넣기, 전체 선택, 스크롤백 지우기, 오른쪽 클릭 메뉴, Control과 마우스 휠을 이용한 글꼴 확대·축소를 제공함. å, ä, ö 같은 문자를 입력할 때 Option을 계속 사용할 수 있음.
- 모양: 글꼴 종류와 크기, 글자·배경·커서 색상, 배경 불투명도, 터미널 여백, 스크롤백 길이를 설정할 수 있으며, 변경 사항은 열린 창에도 적용됨.
- 이미지: PNG, JPEG, WebP 또는 애니메이션 GIF를 선택적 배경으로 설정할 수 있으며, Off, Banner, Full 이미지 모드를 제공함. Banner는 터미널 텍스트 위쪽에 이미지를 두고, Full image는 창 전체에서 텍스트 뒤에 이미지를 표시함.
- 셸과 프롬프트: Fish가 설치되어 있으면 자동으로 사용하고, 그렇지 않으면 기본 로그인 셸을 사용함. Hafþi에서는 Fish 시작 메시지가 기본적으로 숨겨지며, Fish가 설치된 경우 Starship을 자동으로 활성화할 수 있음.
- 명령 도움말: 환경설정과 오른쪽 클릭 메뉴에서 선택적으로
tgpt를 연동함. 질문은tgpt의 온라인 제공업체로 전송되며, 제안된 셸 명령은 표시만 되고 실행되지 않음.
단축키
- 새 창:
⌘ N - 환경설정:
⌘ , - 복사 / 붙여넣기 / 전체 선택:
⌘ C / ⌘ V / ⌘ A - 글꼴 크기 확대 / 축소:
⌘ + / ⌘ −또는 Control과 마우스 휠 tgpt에 질문하기(활성화된 경우):Control + Shift + H- 실행 중인 명령 중단:
Control + C - 오른쪽 클릭 메뉴에는 Reset Font Size, Clear Scrollback, Edit Hafþi Config도 포함됨. 마지막 창을 닫으면 앱이 종료됨.
선택 사항인 Fish와 Starship
- Fish를 Hafþi의 기본 셸로 사용하려면
brew install fish로 별도 설치함. Fish가 없으면 일반 로그인 셸이 열림. - 새 창에서 Fish 환영 메시지를 표시하려면 환경설정에서 켬. 메시지 숨김 설정은 Hafþi가 시작한 Fish 세션에만 적용되며 Fish 설정 파일은 수정하지 않음.
- Starship은
brew install starship으로 별도 설치함. Fish와 Starship이 모두 설치된 경우 새 Fish 창은 기본적으로 Starship을 사용함. - 환경설정에서 Hafþi의 자동 Starship 초기화를 전환할 수 있음.
config.fish가 이미 Starship을 초기화하면 Hafþi는 해당 설정을 유지함. - 전환 설정은 새 창에 적용되며
config.fish를 변경하지 않음. 다른 로그인 셸을 사용하는 경우 Starship 셸 설정 안내를 따라야 함. Fish와 Starship은 앱에 포함되지 않음.
선택 사항인 명령 도움말
- 환경설정에서 Command help를 활성화함.
brew install tgpt로tgpt를 별도 설치하거나, Install tgpt…를 클릭해 명령을 터미널 프롬프트에 입력한 뒤 직접 Enter를 누를 수 있음. - 환경설정에서 macOS 터미널 관련 질문을 입력하고 Ask tgpt를 클릭하거나, 오른쪽 클릭 메뉴에서 질문 입력란을 열 수 있음. 답변은 터미널에 표시됨.
- 질문은
tgpt의 온라인 제공업체로 전송되며 Hafþi는 제안된 명령을 자동으로 실행하지 않음.
환경설정과 구성
⌘ ,에서 글꼴, 색상, 불투명도, 여백, 스크롤백, 이미지·GIF 모드, Fish 환영 메시지, Starship, 명령 도움말을 설정함.- 환경설정은
~/Library/Application Support/Hafthi/config.json에 저장됨. 오른쪽 클릭 메뉴의 Edit Hafþi Config에서 해당 파일을 열 수 있음. - Fish 환영 메시지와 Starship 자동 시작 변경 사항은 새 창부터 적용됨.
소스에서 빌드
- 빌드 요구 사항은 macOS 13 이상, Apple Silicon Mac, Xcode Command Line Tools임. 도구 설치 명령은
xcode-select --install임. - 저장소
https://github.com/pdahlbeck/hafthi-mac.git을 복제하고hafthi-mac디렉터리에서swift run --build-system native HafthiMac을 실행해 빌드함. - 독립 실행형 앱 번들을 로컬에서 만들려면
bash build-app.sh를 실행한 뒤open build/Hafþi.app으로 엶.
포팅 상태
- 이 버전은 macOS 베타임.
- Linux 버전은 자체
wgpu환경설정 인터페이스와 Wayland 전용 투명도를 사용함. Mac 앱은 네이티브 AppKit 환경설정, macOS 투명도, 선택적 Metal 렌더링을 사용함. - 분할 창과 Open File Manager Here처럼 Linux에서 개발 중인 기능은 Mac 기능으로 안내하지 않음.
라이선스
- Hafþi는 MIT 라이선스를 적용함.
SwiftTerm도 MIT 라이선스이며 해당 라이선스 문서를 참조함. - Starship은 사용자가 설치하는 구성 요소로 Hafþi에 포함되지 않으며 ISC 라이선스를 적용함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요