Об этом проекте

animfetch — это терминальная утилита, которая отображает анимированный системный фетч (системная информация плюс ASCII-арт), закреплённый в верхней части терминала, пока собственная оболочка пользователя продолжает работать под ним. Она предназначена для Linux и macOS и написана на Rust. Основное поведение: - `--pin` задаёт область прокрутки, чтобы верхние строки оставались фиксированными, затем отсоединяет и перерисовывает их, пока оболочка пользователя работает ниже с сохранением истории, автодополнения и псевдонимов. `--unpin` отменяет это. - `--play` анимирует на месте в течение нескольких секунд и завершается. - `--once` выводит один статический кадр. - Запуск без флагов включает интерактивный режим, в котором animfetch владеет приглашением. Анимации и рендеринг: - Большая библиотека встроенных анимаций, как нецветных, так и цветных, включая животных, объекты и персонажей (например, cat-run, fox-run, dolphin-swim, blackhole, earth, saturn, dragon, rocket). - Выбор анимации для каждого запуска с помощью `-a <name>` или установка значения по умолчанию с помощью `--set <name>`. - `--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` при запуске от root, с переопределением через `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`. Он описывается как лаунчер с приглашением, а не полноценная оболочка (без псевдонимов, истории и автодополнения). В разделе благодарностей отмечено, что некоторые анимации перерисованы в ASCII из RunCat от kyome22 под лицензией Apache License 2.0.