프로젝트 소개

animfetch는 터미널 상단에 고정된 애니메이션 시스템 페치(시스템 정보와 ASCII 아트)를 표시하는 터미널 유틸리티로, 사용자의 셸은 그 아래에서 계속 작동합니다. Linux와 macOS를 대상으로 하며 Rust로 작성되었습니다. 핵심 동작: - `--pin`은 스크롤 영역을 설정하여 상단 행을 고정한 후 분리하여 다시 그리며, 사용자 셸은 기록, 완성, 별칭이 유지된 상태로 아래에서 실행됩니다. `--unpin`은 이를 해제합니다. - `--play`는 제자리에서 몇 초간 애니메이션을 재생하고 종료합니다. - `--once`는 단일 정적 프레임을 출력합니다. - 플래그 없이 실행하면 animfetch가 프롬프트를 소유하는 대화형 모드가 시작됩니다. 애니메이션 및 렌더링: - 색상이 있는 것과 없는 것을 포함한 대규모 내장 애니메이션 라이브러리(예: cat-run, fox-run, dolphin-swim, blackhole, earth, saturn, dragon, rocket). - 실행 시 `-a <이름>`으로 애니메이션을 선택하거나 `--set <이름>`으로 기본값을 설정합니다. - `--style`은 그리기 방법을 선택합니다: `half`와 `quad`는 단색 블록을 렌더링하고 모든 터미널에 맞게 크기를 조정합니다; `ramp`는 커버리지를 문자에 매핑합니다; `raw`는 아트의 고유 문자를 그대로 출력하여 손으로 그리거나 미리 색칠된 ASCII에 적합합니다. - 옵션에는 `--width`, `--height`, `--fps`, `--no-color`, `--art-color own|theme`가 포함됩니다. - 출력을 파이프하거나 `NO_COLOR=1`을 설정하면 자동으로 정적 경로로 대체됩니다. 설치: - Arch Linux는 `paru -S animfetch-bin` 또는 `animfetch-git`을 사용합니다. - Nix/NixOS는 `nix run github:Andrew-Velox/animfetch` 또는 flake 입력으로 추가하여 사용합니다. - 모든 Linux 또는 macOS용 사전 빌드 바이너리 설치 스크립트는 `~/.local/bin` 또는 루트로 `/usr/local/bin`에 설치하며 `ANIMFETCH_BINDIR`로 재정의할 수 있습니다. - 소스에서 Rust 1.88 이상으로 `cargo install --locked --git ...`을 통해 설치합니다. 구성: - 선택적 `~/.config/animfetch/config.toml`; 모든 키는 선택 사항이며 잘못된 파일은 기본값으로 대체됩니다. - `color_source = "palette"`로 설정하면 matugen, pywal 또는 wallust 팔레트를 읽어 데스크톱 테마를 따릅니다; `--pin` 아래에서는 변경 시 다시 읽어 테마 변경 시 실행 중인 애니메이션을 다시 색칠합니다. 셸 통합: - bash, zsh, fish용 예제 시작 줄은 비대화형 셸과 `scp`를 방지합니다; README는 시작 파일에서 입력을 기다리므로 `animfetch`를 단독으로 사용하지 말 것을 권고합니다. 대화형 모드 키: - Enter는 페치 아래에 출력을 표시하며 명령을 실행합니다; Ctrl-C는 중단 또는 종료; Esc는 종료; Ctrl-D는 빈 줄에서 종료; Ctrl-U는 줄 지우기; Ctrl-W는 마지막 단어 삭제. `cd`와 `exit`는 내부적으로 처리되며 나머지는 `$SHELL -c`로 실행됩니다. 별칭, 기록, 완성 기능이 없는 프롬프트가 있는 런처로 설명됩니다. 크레딧에는 일부 애니메이션이 kyome22의 RunCat에서 Apache License 2.0에 따라 ASCII로 다시 그려졌다고 명시되어 있습니다.