pax_global_header00006660000000000000000000000064145324743110014516gustar00rootroot0000000000000052 comment=98a3befd4b6d55953d91bcb5173d3abd04d97392 hyfetch-1.4.11/000077500000000000000000000000001453247431100132345ustar00rootroot00000000000000hyfetch-1.4.11/.gitattributes000066400000000000000000000001021453247431100161200ustar00rootroot00000000000000# Auto detect text files and perform LF normalization * text=auto hyfetch-1.4.11/.github/000077500000000000000000000000001453247431100145745ustar00rootroot00000000000000hyfetch-1.4.11/.github/ISSUE_TEMPLATE/000077500000000000000000000000001453247431100167575ustar00rootroot00000000000000hyfetch-1.4.11/.github/ISSUE_TEMPLATE/content_request.md000066400000000000000000000007321453247431100225250ustar00rootroot00000000000000--- name: Content Request about: Suggest supporting new flags, distros, package managers, etc. title: '' labels: 'content-request' assignees: '' --- ### Describe the content Describe the content you would like to see added to HyFetch. ### Links Please include relevant links to the content. e.g. For distros, include a link to the distro's official website, download link, or development repository. ### Additional context Add any other context about the problem here. hyfetch-1.4.11/.github/ISSUE_TEMPLATE/feature_request.md000066400000000000000000000011451453247431100225050ustar00rootroot00000000000000--- name: Feature Request about: Suggest a new idea for this project title: '' labels: 'feature-request' assignees: '' --- **Is your feature request related to a problem? Please describe.** A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] **Describe the solution you'd like** A clear and concise description of what you want to happen. **Describe alternatives you've considered** A clear and concise description of any alternative solutions or features you've considered. **Additional context** Add any other context or screenshots about the feature request here. hyfetch-1.4.11/.github/ISSUE_TEMPLATE/hf_bug.md000066400000000000000000000013221453247431100205310ustar00rootroot00000000000000--- name: HyFetch Bug Report about: Create a report for coloring related bugs. title: '' labels: 'hyfetch' assignees: '' --- ### Describe the bug A clear and concise description of what the bug is. - [ ] Does this issue still occur in the master branch? (**Required**) ### Expected behavior A clear and concise description of what you expected to happen. ### Screenshots Please include a screenshot of your system information if the specific system environment is relevant to the bug. If applicable, add screenshots to help explain your problem. ### Config file Please paste the content of `~/.config/hyfetch.json` below: ```json "(here)" ``` ### Additional context Add any other context about the problem here. hyfetch-1.4.11/.github/ISSUE_TEMPLATE/nf_bug.md000066400000000000000000000015061453247431100205430ustar00rootroot00000000000000--- name: Neofetch Bug Report about: Create a report for system-information related bugs. title: '' labels: 'neofetch' assignees: '' --- ### Describe the bug A clear and concise description of what the bug is. - [ ] Does this issue still occur in the master branch? (**Required**) ### Expected behavior A clear and concise description of what you expected to happen. ### Screenshots Please include a screenshot of your system information if the specific system environment is relevant to the bug. If applicable, add screenshots to help explain your problem. ### Config file 1. Run `cp ~/.config/neofetch/config.conf conf.txt` 2. Drag `conf.txt` here to upload it. ### Verbose log 1. Run `neofetch -vv 2> neofetch.log` 2. Drag `neofetch.log` here to upload it. ### Additional context Add any other context about the problem here. hyfetch-1.4.11/.github/PULL_REQUEST_TEMPLATE.md000066400000000000000000000010261453247431100203740ustar00rootroot00000000000000 ### Description Describe the goals that the pull request accomplishes. ### Relevant Links If there are related issues, please link them here. Please also include links relevant to the changes. e.g. For new distros, include a link to the distro's official website, download link, or development repository. ### Screenshots If applicable, please include screenshots before and after your changes. ### Additional context Add any other context about the problem or changes here. hyfetch-1.4.11/.github/workflows/000077500000000000000000000000001453247431100166315ustar00rootroot00000000000000hyfetch-1.4.11/.github/workflows/arch_package.yml000066400000000000000000000034541453247431100217520ustar00rootroot00000000000000name: arch_package on: release: types: [created] jobs: build: runs-on: ubuntu-latest container: image: archlinux options: --privileged volumes: - /sys/fs/cgroup:/sys/fs/cgroup steps: - name: Prepare environment run: | pacman -Syu --needed --noconfirm base-devel git openssh sed -i '/E_ROOT/d' /usr/bin/makepkg - name: Import AUR key run: | mkdir ~/.ssh && chmod 700 ~/.ssh echo '${{secrets.AUR_SSH_PRIVATE_KEY}}' >> ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H aur.archlinux.org >> /etc/ssh/ssh_known_hosts - name: Clone from AUR run: | export GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa' git clone ssh://aur@aur.archlinux.org/hyfetch.git - name: Upgrade PKGBUILD run: | cd hyfetch sed -i "/^pkgver=/cpkgver=${{github.ref_name}}" PKGBUILD sed -i "/^pkgrel=/cpkgrel=1" PKGBUILD - name: Makepkg run: | cd hyfetch yes | makepkg -si - name: Test hyfetch run: | hyfetch --test-print - name: Upload binaries to release uses: shogo82148/actions-upload-release-asset@v1 with: upload_url: ${{ github.event.release.upload_url }} asset_path: hyfetch/hyfetch*.pkg.tar.* - name: set git info run: | git config --global user.name "Aleksana BOT" git config --global user.email "me@aleksana.moe" - name: Update PKGBUILD to AUR run: | cd hyfetch rm -r .SRCINFO && makepkg --printsrcinfo >.SRCINFO git stage . && git commit -m "BOT: upgrade to ${{github.ref_name}}" export GIT_SSH_COMMAND='ssh -i ~/.ssh/id_rsa' git push hyfetch-1.4.11/.github/workflows/release.yml000066400000000000000000000070671453247431100210060ustar00rootroot00000000000000name: release on: push: branches: - "release/*" jobs: testing: name: testing release runs-on: ubuntu-latest if: ${{ !startsWith(github.event.head_commit.message,'release') }} steps: - name: Checkout repo uses: actions/checkout@v3 - name: Get tags run: git fetch --all --tags - name: Get version run: | BRANCH=$(git symbolic-ref --short HEAD) VER=${BRANCH#*release/} if [[ $(git tag | grep ${VER}rc) ]];then TAGS=$(git tag | grep ${VER}rc | awk 'END {print}') REL=${TAGS##*rc} let REL++ else REL=1 fi echo "BUILDVER=${VER}rc${REL}" >> $GITHUB_ENV - name: Update versions run: | sed -i "/^ *VERSION = /cVERSION = '${{ env.BUILDVER }}'" hyfetch/constants.py - name: Making tags run: | git config user.name github-actions git config user.email github-actions@github.com git stage . git commit -m "tagged unstable ${{ env.BUILDVER }}" git tag --force ${{ env.BUILDVER }} - name: Upload changes run: | git pull && git push && git push --tags - name: Deploy to PYPI uses: casperdcl/deploy-pypi@v2 with: password: ${{ secrets.PYPI_API_TOKEN }} pip: wheel -w dist/ --no-deps . release: name: formal release runs-on: ubuntu-latest if: ${{ startsWith(github.event.head_commit.message,'release') }} steps: - name: Checkout repo uses: actions/checkout@v3 with: fetch-depth: 0 - name: Get version run: | BRANCH=$(git symbolic-ref --short HEAD) echo "BUILDVER=${BRANCH#*release/}" >> $GITHUB_ENV - name: Update package.json uses: jossef/action-set-json-field@v2 with: file: package.json field: version value: ${{ env.BUILDVER }} - name: Update neofetch version run: | REVISION=$(expr $(git rev-list --count HEAD neofetch) - 2902) sed -i "/^ *version=/cversion=7.4.0r${REVISION}" neofetch - name: Update other versions run: | sed -i "/^ *VERSION = /cVERSION = '${{ env.BUILDVER }}'" hyfetch/constants.py sed -i "/^ *### Unpublished/c### ${{ env.BUILDVER }}" README.md - name: Make final tags run: | git config user.name github-actions git config user.email github-actions@github.com git stage . && git commit -m "tagged stable ${{ env.BUILDVER }}" git tag --force ${{ env.BUILDVER }} - name: Merge branch and push run: | parent=$(git show-branch \ | grep -F '*' \ | grep -v "$(git rev-parse --abbrev-ref HEAD)" \ | head -n1 \ | sed 's/.*\[\(.*\)\].*/\1/' \ | sed 's/[\^~].*//') git checkout ${parent} git merge release/${{ env.BUILDVER }} --allow-unrelated-histories git pull --all && git push --all && git push --tags - name: Generate changelog from README run: (sed '0,/^ *### ${{ env.BUILDVER }}/d;/^ *#/,$d' temp_CHANGELOG.md - name: Publish release uses: ncipollo/release-action@v1 with: bodyFile: "temp_CHANGELOG.md" tag: ${{ env.BUILDVER }} token: ${{ secrets.GH_TOKEN }} hyfetch-1.4.11/.github/workflows/shellcheck.yml000066400000000000000000000007141453247431100214630ustar00rootroot00000000000000name: Shellcheck on: push: branches: [ "master" ] pull_request: branches: [ "master" ] workflow_dispatch: jobs: # Shellcheck check: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: Install shellcheck run: sudo apt-get update && sudo apt-get install -y shellcheck - name: Run shellcheck run: | shellcheck -V shellcheck neofetch ./neofetch hyfetch-1.4.11/.gitignore000066400000000000000000000025571453247431100152350ustar00rootroot00000000000000# Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ *.egg-info/ .installed.cfg *.egg MANIFEST # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .nox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover .hypothesis/ .pytest_cache/ # Translations *.mo *.pot # Django stuff: *.log local_settings.py db.sqlite3 # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # IPython profile_default/ ipython_config.py # pyenv .python-version # celery beat schedule file celerybeat-schedule # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ .dmypy.json dmypy.json # Pyre type checker .pyre/ # Custom .idea ._* webhook-log start_moderation.sh gh_moderator.toml moderator-data hyfetch-1.4.11/.vscode/000077500000000000000000000000001453247431100145755ustar00rootroot00000000000000hyfetch-1.4.11/.vscode/launch.json000066400000000000000000000006731453247431100167500ustar00rootroot00000000000000{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Python: Module", "type": "python", "request": "launch", "module": "hyfetch", "justMyCode": true } ] }hyfetch-1.4.11/CONTRIBUTING.md000066400000000000000000000074451453247431100154770ustar00rootroot00000000000000# How to Contribute * [Coding Conventions](#coding-conventions) * [ShellCheck](#shellcheck) * [No no's](#no-nos) * [If Statements](#if-statements) * [Case Statements](#case-statements) * [Making changes to Neofetch](#making-changes-to-neofetch) * [Adding support for a new Operating System / Distribution.](#adding-support-for-a-new-operating-system--distribution) ## Coding Conventions - Use `bash` built-ins wherever possible. - Try not to pipe (`|`) at all. - Limit usage of external commands `$(cmd)`. - Indent 4 spaces. - Use [snake_case](https://en.wikipedia.org/wiki/Snake_case) for function and variable names. - Keep lines below `100` characters long. - Use `[[ ]]` for tests. - Quote **EVERYTHING**. ### ShellCheck For your contribution to be accepted, your changes need to pass ShellCheck. ```sh shellcheck neofetch ``` **Note**: If you have trouble installing ShellCheck. You can open a pull request on the repo and our Travis.ci hook will run ShellCheck for you. ### No no's - Don’t use GNU conventions in commands. - Use POSIX arguments and flags. - Don’t use `cut`. - Use `bash`'s built-in [parameter expansion](http://wiki.bash-hackers.org/syntax/pe). - Don’t use `echo`. - Use `printf "%s\n"` - Don’t use `bc`. - Don’t use `sed`. - Use `bash`'s built-in [parameter expansion](http://wiki.bash-hackers.org/syntax/pe). - Don’t use `cat`. - Use `bash`'s built-in syntax (`file="$(< /path/to/file.txt)")`). - Don’t use `grep "pattern" | awk '{ printf }'`. - Use `awk '/pattern/ { printf }'` - Don’t use `wc`. - Use `${#var}` or `${#arr[@]}`. ### If Statements If the test only has one command inside of it; use the compact test syntax. Otherwise the normal `if`/`fi` is just fine. ```sh # Bad if [[ "$var" ]]; then printf "%s\n" "$var" fi # Good [[ "$var" ]] && printf "%s\n" "$var" # Also good (Use this for longer lines). [[ "$var" ]] && \ printf "%s\n" "$var" ``` ### Case Statements Case statements need to be formatted in a specific way. ```sh # Good example (Notice the indentation). case "$var" in 1) printf "%s\n" 1 ;; 2) printf "%s\n" "1" printf "%s\n" "2" ;; *) printf "%s\n" "1" printf "%s\n" "2" printf "%s\n" "3" ;; esac ``` ## Making changes to Neofetch ### Adding support for a new Operating System / Distribution. Adding support for a new OS/Distro requires adding the Name, Logo and Colors of the OS/Distro to the `get_distro_ascii()` function. The function is located right at the bottom of the script, one function above `main()`. Inside this function you’ll find an alphabetical list of each OS/Distro. Find the spot in the list your new OS/Distro fits into and start implementing your changes. If your OS/Distro requires changes to the actual information gathering functions then you can make these changes in the `get_*` functions. **Syntax**: - You have to escape back-slashes (`\`). (eg `\\`) - You can use `${c1}` to `${c6}`to color the ascii. - These are evaluated *after* we read the file. **Example**: ```sh "CRUX"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} odddd oddxkkkxxdoo ddcoddxxxdoool xdclodod olol xoc xdd olol xdc ${c2}k00${c1}Okdlol xxd${c2}kOKKKOkd${c1}ldd xdco${c2}xOkdlo${c1}dldd ddc:cl${c2}lll${c1}oooodo odxxdd${c3}xkO000kx${c1}ooxdo oxdd${c3}x0NMMMMMMWW0od${c1}kkxo oooxd${c3}0WMMMMMMMMMW0o${c1}dxkx docldkXW${c3}MMMMMMMWWN${c1}Odolco xx${c2}dx${c1}kxxOKN${c3}WMMWN${c1}0xdoxo::c ${c2}xOkkO${c1}0oo${c3}odOW${c2}WW${c1}XkdodOxc:l ${c2}dkkkxkkk${c3}OKX${c2}NNNX0Oxx${c1}xc:cd ${c2} odxxdx${c3}xllod${c2}ddooxx${c1}dc:ldo ${c2} lodd${c1}dolccc${c2}ccox${c1}xoloo EOF ;; ``` hyfetch-1.4.11/LICENSE.md000066400000000000000000000020731453247431100146420ustar00rootroot00000000000000The MIT License (MIT) Copyright (c) 2015-2023 Dylan Araps Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. hyfetch-1.4.11/MANIFEST.in000066400000000000000000000003031453247431100147660ustar00rootroot00000000000000include hyfetch/scripts/* recursive-exclude tools * recursive-exclude .github * recursive-exclude .vscode * exclude .gitignore exclude .gitattributes exclude package.json exclude CONTRIBUTING.mdhyfetch-1.4.11/Makefile000066400000000000000000000015511453247431100146760ustar00rootroot00000000000000PREFIX = /usr MANDIR = $(PREFIX)/share/man all: build build: python setup.py build install: python setup.py install --prefix=${PREFIX} install-doc: @mkdir -p $(DESTDIR)$(MANDIR)/man1 @cp -p docs/hyfetch.1 $(DESTDIR)$(MANDIR)/man1 @cp -p docs/neofetch.1 $(DESTDIR)$(MANDIR)/man1/neowofetch.1 uninstall: @rm -rf $(DESTDIR)$(PREFIX)/bin/hyfetch @rm -rf $(DESTDIR)$(PREFIX)/bin/neowofetch @rm -rf $(DESTDIR)$(MANDIR)/man1/hyfetch.1* @rm -rf $(DESTDIR)$(MANDIR)/man1/neowofetch.1* clean: rm -rf build/ HyFetch.egg-info install-neofetch: @mkdir -p $(DESTDIR)$(PREFIX)/bin @mkdir -p $(DESTDIR)$(MANDIR)/man1 @cp -p neofetch $(DESTDIR)$(PREFIX)/bin/neofetch @cp -p docs/neofetch.1 $(DESTDIR)$(MANDIR)/man1 @chmod 755 $(DESTDIR)$(PREFIX)/bin/neofetch uninstall-neofetch: @rm -rf $(DESTDIR)$(PREFIX)/bin/neofetch @rm -rf $(DESTDIR)$(MANDIR)/man1/neofetch.1* hyfetch-1.4.11/README.md000066400000000000000000001171121453247431100145160ustar00rootroot00000000000000# HyFetch neofetch with pride flags <3 screenshot ### Running Updated Original Neofetch This repo also serves as an updated version of the original `neofetch` since the upstream [dylanaraps/neofetch](https://github.com/dylanaraps/neofetch) doesn't seem to be maintained anymore (as of Oct 27, 2023, the original repo hasn't merged a pull request for almost 2 years). If you only want to use the updated neofetch without pride flags, you can use the `neofetch` script from this repo. To prevent command name conflict, I call it `neowofetch` :) * Method 1: `pip install -U hyfetch` then run `neowofetch` * Method 2: `npx neowofetch` * Method 3: `P="$HOME/.local/bin/neowofetch" curl -L nf.hydev.org -o $P && chmod +x $P` * Method 4: Run without install `bash <(curl -sL nf.hydev.org)` ## Installation ### Method 1: Install using Python pip (Recommended) Install Python >= 3.7 first. Then, just do: ```sh pip install -U hyfetch # or pipx install hyfetch ``` ### Method 2: Install using system package manager Currently, these distributions have existing packages for HyFetch: * Universal [Lure.sh](https://lure.sh/): `lure in hyfetch` (Thanks to [@Elara6331](https://github.com/Elara6331)) * Arch Linux: `sudo pacman -S hyfetch` (Thanks to [@Aleksana](https://github.com/Aleksanaa) and [@Antiz96](https://github.com/Antiz96)) * Nix: `nix-env -i hyfetch` (Thanks to [@YisuiDenghua](https://github.com/YisuiDenghua)) * Nix Profile: `nix profile install nixpkgs#hyfetch` * Guix: `guix install hyfetch` (Thanks to [@WammKD](https://github.com/WammKD)) * Slackware: `sbopkg -b hyfetch` [Slackbuild](https://slackbuilds.org/repository/15.0/desktop/hyfetch/?search=hyfetch) (Thanks to [@bittin](https://github.com/bittin) and Urchlay) * Homebrew: `brew install hyfetch` (Thanks to [@BKasin](https://github.com/BKasin) and [@osalbahr](https://github.com/osalbahr)) * openSUSE Tumbleweed: `zypper in python311-hyfetch` (Thanks to [@BKasin](https://github.com/BKasin)) * Gentoo: `emerge --ask app-misc/hyfetch` (Thanks to [@BKasin](https://github.com/BKasin)) [![Packaging status](https://repology.org/badge/vertical-allrepos/hyfetch.svg)](https://repology.org/project/hyfetch/versions) ### Method 3: Install the latest developmental version using git Install Python >= 3.7 first. Then run the following commands: ```sh git clone https://github.com/hykilpikonna/hyfetch.git cd hyfetch pip install . ``` ## Usage When you run `hyfetch` for the first time, it will prompt you to choose a color system and a preset. Just follow the prompt, and everything should work (hopefully). If something doesn't work, feel free to submit an issue! If you want to use the updated `neofetch` without LGBTQ flags, check out [this section](https://github.com/hykilpikonna/hyfetch#running-updated-original-neofetch) ## Questions and answers #### Q: How do I change my config? A: Use `hyfetch -c` #### Q: What do I do if the color is too dark/light for my theme? A: You can try setting the colors' "lightness" in the configuration menu. The value should be between 0 and 1. For example, if you are using dark theme and the rainbow flag is too dark to display, you can set lightness to 0.7. Feel free to experiment with it! ![image](https://user-images.githubusercontent.com/22280294/162614553-eb758e4e-1936-472c-8ca7-b601c696c6eb.png) #### Q: Why do you use pride flag's coloring? I don't think it looks nice at all. A: The core idea behind HyFetch coloring isn't just to make logos look nicer, it's about representation and identity. While it's okay to assess the visual appeal, you also need to understand that the LGBTQ+ flag colors serves a much deeper purpose than just aesthetics. For many in the LGBTQ+ community, these flags symbolize their identity, struggles, and pride. Integrating these symbols into a showcase of the tech specs they share can provide a sense of empowerment. It's combining their enthusiasm for their favorite distro / hardware with their LGBTQ+ identity. Also, by including flag coloring along with the updated neofetch, we're also broadcasting a wider message about the importance of inclusivity and representation. It's not just a design choice, it's a statement that promotes awareness and understanding toward the LGBTQ+ community. ## Contributing To make changes to our codebase, you first need to create a fork by clicking the "Fork" button on the top right. Then, you can clone your fork of the source code using `git clone https://github.com/{your username}/hyfetch.git`. After making changes to the source code, you can run `python -m hyfetch` in the root directory of your repo to test out your changes. If they work correctly, you can commit and push these changes using git command or Github Desktop. Then, you can create a pull request on Github so that it can go into our next release! You can also install your version locally by running `pip install .` in the repo root. ## Change Log ### About Notation Updates to HyFetch begins with the emoji 🌈 Updates to `neowofetch` begins with the emoji 🖼️ ### TODO * [ ] (Important!) Refactor flag storage & coloring to support non-stride patterns * [ ] Config menu: Allow left-right arrow keys for pagination ### Nightly Note: You can install the latest nightly version by using: ```sh pip install git+https://github.com/hykilpikonna/hyfetch.git@master ``` ### 1.4.11 * 🌈 Add ability to set backend args in hyfetch config file ([#181](https://github.com/hykilpikonna/hyfetch/pull/181)) * 🌈 Update makefile to be able to install hyfetch ([#174](https://github.com/hykilpikonna/hyfetch/pull/174)) * 🌈 Fix config file argument ([#177](https://github.com/hykilpikonna/hyfetch/pull/177)) * 🌈 Support pipx installation ([#188](https://github.com/hykilpikonna/hyfetch/pull/188), [#192](https://github.com/hykilpikonna/hyfetch/pull/192)) * 🌈 Create package for Debian, OpenSUSE, Homebrew, Gentoo, and lure.sh ([#184](https://github.com/hykilpikonna/hyfetch/pull/184), [#194](https://github.com/hykilpikonna/hyfetch/pull/194), [#207](https://github.com/hykilpikonna/hyfetch/pull/207), [#206](https://github.com/hykilpikonna/hyfetch/pull/206)) Huge thanks to @BKasin! * 🖼 DE - Fix DE empty bracket in macOS ([#172](https://github.com/hykilpikonna/hyfetch/pull/172)) * 🖼 Distro - Use /etc/debian_version to get .x on Debian ([#191](https://github.com/hykilpikonna/hyfetch/pull/191)) * 🖼 Distro - Add LainOS ([#190](https://github.com/hykilpikonna/hyfetch/pull/190)) * 🖼 Distro - Add aerOS ([dylanaraps#2360](https://github.com/dylanaraps/neofetch/pull/2360)) * 🖼 Distro - Add Xenia ([#197](https://github.com/hykilpikonna/hyfetch/pull/197)) * 🖼 Distro - Add EndeavourOS Small Option ([dylanaraps#2391](https://github.com/dylanaraps/neofetch/pull/2391)) * 🖼 Distro - Add AZOS ([dylanaraps#2339](https://github.com/dylanaraps/neofetch/pull/2339)) * 🖼 Distro - Add MainsailOS ([dylanaraps#2407](https://github.com/dylanaraps/neofetch/pull/2407)) * 🖼 Distro - Add Interix ([dylanaraps#2409](https://github.com/dylanaraps/neofetch/pull/2409)) * 🖼 Distro - Add Peropesis Linux ([dylanaraps#2414](https://github.com/dylanaraps/neofetch/pull/2414)) * 🖼 Distro - Add Adélie Linux ([#218](https://github.com/hykilpikonna/hyfetch/pull/218)) * 🖼 Distro - Add Xray_OS ([dylanaraps#2413](https://github.com/dylanaraps/neofetch/pull/2413)) * 🖼 Ascii - Update AOSC logo ([#185](https://github.com/hykilpikonna/hyfetch/pull/185)) * 🖼 Ascii - Update phyOS logo ([#211](https://github.com/hykilpikonna/hyfetch/pull/211)) * 🖼 Ascii - Update Parch logo ([dylanaraps#2045](https://github.com/dylanaraps/neofetch/pull/2045)) * 🖼 Ascii - Add linux_small ([dylanaraps#2417](https://github.com/dylanaraps/neofetch/pull/2417)) * 🖼 Bug Fix - Fix color blocks for bash !=3 & <5 ([#170](https://github.com/hykilpikonna/hyfetch/pull/170)) * 🖼 Bug Fix - Use sed -r instead of -E when using GNU sed ([#171](https://github.com/hykilpikonna/hyfetch/pull/171)) * 🖼 Bug Fix - Fixed Kubuntu recognized as Ubuntu ([dylanaraps#2411](https://github.com/dylanaraps/neofetch/pull/2411)) * 🖼 OS - Improved MacOS resolution detection ([dylanaraps#2356](https://github.com/dylanaraps/neofetch/pull/2356)) * 🖼 OS - Disable Hackintosh check on arm64 processors ([dylanaraps#2396](https://github.com/dylanaraps/neofetch/pull/2396)) * 🖼 OS - Add Windows NT ([#217](https://github.com/hykilpikonna/hyfetch/pull/217)) * 🖼 Terminal - Add support for alacritty's new config format ([#202](https://github.com/hykilpikonna/hyfetch/pull/202)) * 🖼 Terminal - Check for newer xfce4-term config ([#214](https://github.com/hykilpikonna/hyfetch/pull/214)) * 🖼 Package - Add support for npm global packages ([#215](https://github.com/hykilpikonna/hyfetch/pull/215)) ### 1.4.10 * 🌈 Add support for qwqfetch backend ([#148](https://github.com/hykilpikonna/hyfetch/pull/148)) * 🌈 Add nonhuman-unity flag ([#139](https://github.com/hykilpikonna/hyfetch/pull/139)) * 🌈 Add gynesexual, androsexual flags ([#157](https://github.com/hykilpikonna/hyfetch/pull/157)) * 🌈 Add option to disable pride month animation ([#134](https://github.com/hykilpikonna/hyfetch/pull/134)) * 🌈 Make ^C error message less aggressive (?) * 🌈 Fix: Should not assume ~/.config is writable ([#136](https://github.com/hykilpikonna/hyfetch/pull/136)) * 🌈 Fix: Foreground-background arrangement not detected ([#154](https://github.com/hykilpikonna/hyfetch/pull/154)) * 🖼 OS - Update macOS version name list ([#140](https://github.com/hykilpikonna/hyfetch/pull/140)) * 🖼 Ascii - Improve color removal ([#161](https://github.com/hykilpikonna/hyfetch/pull/161)) * 🖼 Ascii - Fix reset character performance ([#158](https://github.com/hykilpikonna/hyfetch/pull/158)) * 🖼 Distro - Smoothen the Tumbleweed logo ([dylanaraps#2342](https://github.com/dylanaraps/neofetch/pull/2342)) * 🖼 Distro - Update RebornOS logo ([dylanaraps#2358](https://github.com/dylanaraps/neofetch/pull/2358)) * 🖼 Distro - Update Venom Linux logo ([#166](https://github.com/hykilpikonna/hyfetch/pull/166)) * 🖼 Distro - Add Windows 95 ASCII logo ([dylanaraps#2346](https://github.com/dylanaraps/neofetch/pull/2346)) * 🖼 Distro - Add ParchLinux ([dylanaraps#2045](https://github.com/dylanaraps/neofetch/pull/2045)) * 🖼 Distro - Add OpenKylin ([dylanaraps#2341](https://github.com/dylanaraps/neofetch/pull/2341)) * 🖼 Distro - Add EvolutionOS ([dylanaraps#2350](https://github.com/dylanaraps/neofetch/pull/2350)) * 🖼 Distro - Add Salix ([dylanaraps#2357](https://github.com/dylanaraps/neofetch/pull/2357)) * 🖼 Distro - Add Panwah ([dylanaraps#2355](https://github.com/dylanaraps/neofetch/pull/2355)) * 🖼 Distro - Add PhyOS ([#142](https://github.com/hykilpikonna/hyfetch/pull/142)) * 🖼 Distro - Add Athena OS ([#130](https://github.com/hykilpikonna/hyfetch/pull/130)) * 🖼 Distro - Add Meowix ([#159](https://github.com/hykilpikonna/hyfetch/pull/159)) * 🖼 Distro - Add Slackel ([#167](https://github.com/hykilpikonna/hyfetch/pull/167)) * 🖼 Distro - Support *Wrt variants ([dylanaraps#2352](https://github.com/dylanaraps/neofetch/pull/2352)) * 🖼 Version - Fix a typo that broke OS detection on WSL ([#155](https://github.com/hykilpikonna/hyfetch/pull/155)) * 🖼 Packages - Implement --package_separate flag ([#135](https://github.com/hykilpikonna/hyfetch/pull/135)) * 🖼 Packages - Separate flatpak-system and flatpak-user ([#135](https://github.com/hykilpikonna/hyfetch/pull/135)) * 🖼 Packages - Add steam as a package manager ([#152](https://github.com/hykilpikonna/hyfetch/pull/152)) * 🖼 Packages - Add squirrel package manager ([#153](https://github.com/hykilpikonna/hyfetch/pull/153)) * 🖼 Packages - Make cargo run on all systems ([#146](https://github.com/hykilpikonna/hyfetch/pull/146)) * 🖼 Packages - Fix cargo package count ([#144](https://github.com/hykilpikonna/hyfetch/pull/144)) * 🖼 Packages - Add Devbox package manager ([#137](https://github.com/hykilpikonna/hyfetch/pull/137)) * 🖼 Packages - Fix phantom package when pm command fails ([#145](https://github.com/hykilpikonna/hyfetch/pull/145)) * 🖼 Packages - Update scratch package manager ([#165](https://github.com/hykilpikonna/hyfetch/pull/165)) * 🖼 Editor - Better version detection * 🖼 Resolution - Improve macOS resolution detection ([dylanaraps#2356](https://github.com/dylanaraps/neofetch/pull/2356)) * 🖼 Resolution - Add resolution lookup for iOS ([#164](https://github.com/hykilpikonna/hyfetch/pull/164)) * 🖼 Desktop - Display global KDE Plasma theme ([#163](https://github.com/hykilpikonna/hyfetch/pull/163)) * 🖼 IP - Improve macOS local IP detection ([dylanaraps#2362](https://github.com/dylanaraps/neofetch/pull/2362)) * 🖼 IP - Fix macOS route hangs on reverse DNS lookup * 🖼 Config - Allow specifying default config to copy to ~/.config ([#133](https://github.com/hykilpikonna/hyfetch/pull/133)) ### 1.4.9 * 🌈 Add pride month easter-egg animation! ⭐️ * 🌈 Autocompletion for bash, zsh, tcsh ([#96](https://github.com/hykilpikonna/hyfetch/pull/96)) * 🌈 Add nix profile installation method ([#114](https://github.com/hykilpikonna/hyfetch/pull/114)) * 🌈 Add experimental color overlay function for more accurate lightness adjusting (using `--c-overlay`) * 🌈 Allow neofetch argument passthrough (using `--args='...'`) * 🌈 Show recommended terminal size ([#129](https://github.com/hykilpikonna/hyfetch/pull/129)) * 🌈 Update issue & pull request templates * 🖼 Hostname - Fix FQDN substitution * 🖼 Version - Fix Windows version detection ([dylanaraps#2309](https://github.com/dylanaraps/neofetch/pull/2309)) * 🖼 Packages - Fix winget stuck on agreement ([#82](https://github.com/hykilpikonna/hyfetch/pull/82)) * 🖼 Distro - Fix Windows text encoding ([#115](https://github.com/hykilpikonna/hyfetch/pull/115)) * 🖼 Distro - Add Astra Linux ([dylanaraps#2313](https://github.com/dylanaraps/neofetch/pull/2313)) * 🖼 Distro - Add FemboyOS ([#121](https://github.com/hykilpikonna/hyfetch/pull/121)) * 🖼 Distro - Add Nobara Linux ([dylanaraps#2326](https://github.com/dylanaraps/neofetch/pull/2326)) * 🖼 Font - Fix Konsole ppid detection ([#116](https://github.com/hykilpikonna/hyfetch/pull/116)) * 🖼 Font - Fix Konsole terminal font detection ([#127](https://github.com/hykilpikonna/hyfetch/pull/127)) * 🖼 Image - Optimize sixel image display ([dylanaraps#2316](https://github.com/dylanaraps/neofetch/pull/2316)) ### 1.4.8 * 🌈 Improved Windows git bash detection ([#99](https://github.com/hykilpikonna/hyfetch/pull/99)) * 🌈 Improved color formatting codes ([#101](https://github.com/hykilpikonna/hyfetch/pull/101)) * 🌈 Allow specifying distro in config ([#102](https://github.com/hykilpikonna/hyfetch/pull/102)) * 🌈 Allow specifying custom ascii files ([#104](https://github.com/hykilpikonna/hyfetch/pull/104)) * 🌈 Add omniromantic and pangender flags ([#106](https://github.com/hykilpikonna/hyfetch/pull/106)) * 🌈 Now officially packaged for ArchLinux Community & Slackware! ([#112](https://github.com/hykilpikonna/hyfetch/pull/112) | [#109](https://github.com/hykilpikonna/hyfetch/pull/109)) * 🖼 Host - Update Apple device model detection. ([#111](https://github.com/hykilpikonna/hyfetch/pull/111)) * 🖼 Distro - Add Salient OS. ([dylanaraps#2301](https://github.com/dylanaraps/neofetch/pull/2301)) * 🖼 Distro - Add PikaOS. ([#105](https://github.com/hykilpikonna/hyfetch/pull/105)) * 🖼 Distro - Add Archcraft minimal variant. ([#108](https://github.com/hykilpikonna/hyfetch/pull/108)) * 🖼 Distro - Update Vanilla logo. ([#98](https://github.com/hykilpikonna/hyfetch/pull/98)) * 🖼 Distro - ChromeOS version improvements. ([dylanaraps#2305](https://github.com/dylanaraps/neofetch/pull/2305)) * 🖼 CPU - Improved multi-cpu ARM chip detection. ([#97](https://github.com/hykilpikonna/hyfetch/pull/97)) * 🖼 Packages - Support pipx package manager. ([#107](https://github.com/hykilpikonna/hyfetch/pull/107)) ### 1.4.7 * 🌈 Better Windows compatibility ([#45](https://github.com/hykilpikonna/hyfetch/pull/45), [#84](https://github.com/hykilpikonna/hyfetch/pull/84), [#87](https://github.com/hykilpikonna/hyfetch/pull/87), [#89](https://github.com/hykilpikonna/hyfetch/pull/89)) * 🌈 Add gendervoid flags ([#81](https://github.com/hykilpikonna/hyfetch/pull/81)) * 🌈 Fix ASCII extractor escape sequence generation ([#90](https://github.com/hykilpikonna/hyfetch/pull/90), [#91](https://github.com/hykilpikonna/hyfetch/pull/91)) * 🖼 Distro - Add CuteOS ([dylanaraps#2291](https://github.com/dylanaraps/neofetch/pull/2291)) * 🖼 Distro - Add Floflis ([dylanaraps#2289](https://github.com/dylanaraps/neofetch/pull/2289)) * 🖼 Distro - Add ArseLinux ([dylanaraps#2295](https://github.com/dylanaraps/neofetch/pull/2295)) * 🖼 Distro - Better Solaris support ([dylanaraps#2293](https://github.com/dylanaraps/neofetch/pull/2293)) * 🖼 Packages - Fix scoop package manager for Windows ([#93](https://github.com/hykilpikonna/hyfetch/pull/93)) * 🖼 Packages - Add Evox package manager for Stock Linux ([#95](https://github.com/hykilpikonna/hyfetch/pull/95)) * 🖼 WM - Fix false positive wm process name detection ([#88](https://github.com/hykilpikonna/hyfetch/pull/88), [#94](https://github.com/hykilpikonna/hyfetch/pull/94)) * 🖼 Misc - Added BIOS and bluetooth detection ### 1.4.6 * 🌈 Add compatibility for FastFetch version `>1.8.0` ([#62](https://github.com/hykilpikonna/hyfetch/pull/62)) * 🖼 Distro - Add Aperture Science ascii art ([#61](https://github.com/hykilpikonna/hyfetch/pull/61)) * 🖼 Distro - Add RhaymOS ([dylanaraps#2274](https://github.com/dylanaraps/neofetch/pull/2274)) * 🖼 Editor - Add editor information detection ([dylanaraps#2271](https://github.com/dylanaraps/neofetch/pull/2271)) * 🖼 Packages - Fix empty cargo directory ([#58](https://github.com/hykilpikonna/hyfetch/pull/58)) * 🖼 Terminal - Display gnome-console instead of kgx ([dylanaraps#2277](https://github.com/dylanaraps/neofetch/pull/2277)) * 🖼 Terminal - Fix terminal detection with new get_process_name function * 🖼 CPU - Detect ISA string on RISC-V CPUs ([#60](https://github.com/hykilpikonna/hyfetch/pull/60)) * 🖼 Song - Fix CMUS player song detection on macOS ([#55](https://github.com/hykilpikonna/hyfetch/pull/55)) * 🖼 Network - Fix macOS network detection ([#56](https://github.com/hykilpikonna/hyfetch/pull/56)) * 🖼 Misc - Change LICENSE year to 2023 ([#59](https://github.com/hykilpikonna/hyfetch/pull/59)) ### 1.4.5 * 🌈 **Support using FastFetch as a HyFetch backend** (`hyfetch -b fastfetch`) * 🌈 Add config file argument ([#48](https://github.com/hykilpikonna/hyfetch/pull/48)) * 🌈 Fix problems caused by color detection on Windows ([#16](https://github.com/hykilpikonna/hyfetch/pull/16)) * 🌈 Support pure-python distro detection for FastFetch * 🖼️ Distro - Add Aster Linux ([dylanaraps#2251](https://github.com/dylanaraps/neofetch/pull/2251)) * 🖼️ Distro - Add Hybrid Linux ([dylanaraps#2239](https://github.com/dylanaraps/neofetch/pull/2239)) * 🖼️ Distro - Add UrukOS ([dylanaraps#2258](https://github.com/dylanaraps/neofetch/pull/2258)) * 🖼️ Distro - Add Project Sasanqua ([dylanaraps#2264](https://github.com/dylanaraps/neofetch/pull/2264)) * 🖼️ Distro - Add Kali small variant ([dylanaraps#2242](https://github.com/dylanaraps/neofetch/pull/2242)) * 🖼️ Distro - Fix CachyOS matching ([dylanaraps#2026](https://github.com/dylanaraps/neofetch/pull/2026)) * 🖼 WM - Fix wm detection with `fuser` ([#39](https://github.com/hykilpikonna/hyfetch/pull/39)) * 🖼️ Memory - Make memory unit decimal calculation more accurate ([#52](https://github.com/hykilpikonna/hyfetch/pull/52)) * 🖼 Packages - Fix squirrel (Stock Linux) package count detection ([#39](https://github.com/hykilpikonna/hyfetch/pull/39)) * 🖼 Packages - Support cargo bin environment variable ([#49](https://github.com/hykilpikonna/hyfetch/pull/49)) * 🖼 Packages - Add tea.xyz package manager (issue [dylanaraps#2235](https://github.com/dylanaraps/neofetch/pull/2235)) ### 1.4.4 * 🌈 Fix Python 3.11 compatibility ([#35](https://github.com/hykilpikonna/hyfetch/pull/35)) * 🌈 Fix many overflow problems when screen is too small * 🖼️ Distro - Add Enso ([dylanaraps#2233](https://github.com/dylanaraps/neofetch/pull/2233)) * 🖼️ Memory - Optimize and fix memory unit conversion ([dylanaraps#2225](https://github.com/dylanaraps/neofetch/pull/2225)) * 🖼️ DE - Add dwl window manager ([dylanaraps#2234](https://github.com/dylanaraps/neofetch/pull/2234)) * 🖼️ DE - Fix XDG session detection for X11 ([dylanaraps#2232](https://github.com/dylanaraps/neofetch/pull/2232)) * 🖼️ CPU - Fix model detection for loongson ([#34](https://github.com/hykilpikonna/hyfetch/pull/34)) ### 1.4.3 * 🌈 **Auto detect terminal background color & rgb support** * 🌈 **Optimize experience on light-themed terminals** * 🌈 Fix bugs with lightness and light-mode config not applying * 🌈 Fix color alignment for distros with first color ≠ `${c1}` (e.g. Ubuntu Budgie) * 🌈 Add unlabeled flags ([#25](https://github.com/hykilpikonna/hyfetch/pull/25)) * 🌈 Add gender nonconforming & femboy & tomboy flags ([#32](https://github.com/hykilpikonna/hyfetch/pull/32)) * 🌈 Fix jailbreak iOS shell `killed: 9` issue caused by ld signature check. * 🖼️ Distro - Add garuda_small ([dylanaraps#2215](https://github.com/dylanaraps/neofetch/pull/2215)) * 🖼️ Distro - Add Cobalt Linux ([dylanaraps#2213](https://github.com/dylanaraps/neofetch/pull/2213)) * 🖼️ Distro - Add VanillaOS ([dylanaraps#2222](https://github.com/dylanaraps/neofetch/pull/2222)) * 🖼️ Distro - Surround macOS build number in parentheses ([#28](https://github.com/hykilpikonna/hyfetch/pull/28)) * 🖼️ Misc - Auto select stdout mode based on tty detection ([#31](https://github.com/hykilpikonna/hyfetch/pull/31)) * 🖼️ Bug Fix - Fix cols coloring reset for bash 3.2 ([#24](https://github.com/hykilpikonna/hyfetch/pull/24)) ### 1.4.2 * 🌈 Detailed runnning/contributing instructions in README.md ([#21](https://github.com/hykilpikonna/hyfetch/pull/21)) * 🖼️ Distro - Add Stock Linux ([#23](https://github.com/hykilpikonna/hyfetch/pull/23)) * 🖼️ Distro - Add DietPi ([dylanaraps#1706](https://github.com/dylanaraps/neofetch/pull/1706)) * 🖼️ Distro - Add OmniOS illumos ([dylanaraps#2196](https://github.com/dylanaraps/neofetch/pull/2196)) * 🖼️ Distro - Add Droidian ([dylanaraps#2201](https://github.com/dylanaraps/neofetch/pull/2201)) * 🖼️ Distro - Add HamoniKR ([dylanaraps#2210](https://github.com/dylanaraps/neofetch/pull/2210)) * 🖼️ Song - Add support for TIDAL HiFi ([#22](https://github.com/hykilpikonna/hyfetch/pull/22)) * 🖼️ CPU - Detect multiple CPU models for ARM * 🖼️ Misc - Better defaults: Show RAM in GiB, RAM percentage, CPU speed rounding, refresh rate * 🖼️ Bug Fix - Fix bash 5.2 column cut off issue ([#24](https://github.com/hykilpikonna/hyfetch/pull/24)) ### 1.4.1 * 🌈 Paginate flags ([#14](https://github.com/hykilpikonna/hyfetch/pull/14)) * 🌈 Add release workflow ([#15](https://github.com/hykilpikonna/hyfetch/pull/15)) * 🌈 Create automatic release script * 🌈 Config page - Give warning when terminal size is too small * 🌈 Config page - Optimize color arrangement selection on small screens * 🌈 Add experimental Windows support (very unstable at the moment) * 🖼️ Distro - Add ravynOS ([dylanaraps#2182](https://github.com/dylanaraps/neofetch/pull/2182)) * 🖼️ Distro - Add ChonkySealOS ([dylanaraps#2180](https://github.com/dylanaraps/neofetch/pull/2180)) * 🖼️ Distro - Add GhostBSD ([TheSudoer#18](https://github.com/hykilpikonna/hyfetch/pull/18)) * 🖼️ Distro - Add NekOS ([dylanaraps#2186](https://github.com/dylanaraps/neofetch/pull/2186)) * 🖼️ Distro - Add astOS ([dylanaraps#2185](https://github.com/dylanaraps/neofetch/pull/2185)) * 🖼️ Distro - Fix ChromeOS identification ([dylanaraps#1949](https://github.com/dylanaraps/neofetch/pull/1949)) * 🖼️ WM - Add Hyprland to the list of wayland wms ([dylanaraps#2190](https://github.com/dylanaraps/neofetch/pull/2190)) * 🖼️ Env - Add Java, Python, Node version detection (can be enabled in config) * 🖼️ Bug Fix - Fix hostname detection when `inetutils` is not installed * 🖼️ Bug Fix - Fix empty brackets displayed when no theme is found ([dylanaraps#1713](https://github.com/dylanaraps/neofetch/pull/1713)) * 🖼️ Bug Fix - Fix `$` escape bug in `strip_escape_codes()` ([dylanaraps#1543](https://github.com/dylanaraps/neofetch/pull/1543)) * 🖼️ Bug Fix - Fix backslash escape bug in `strip_escape_codes()` ([dylanaraps#1543](https://github.com/dylanaraps/neofetch/pull/1543)) * 🖼️ Bug Fix - Fix CPU detection on ARM QEMU ### 1.4.0 * 🌈 Add finsexual flag ([#12](https://github.com/hykilpikonna/hyfetch/pull/12)) * 🚀 Addressed a total of 128 currently open pull requests from neofetch
🖼️ Meta Changes * Meta - Fixed shellcheck warnings in `neowofetch` * Meta - Moved shellcheck from travis to GitHub Actions * Meta - Created a script to automatically generate distro list * Colors - Allow RGB colors in neofetch `--ascii_colors` argument ([dylanaraps#1726](https://github.com/dylanaraps/neofetch/pull/1726))
🖼️ Distro/OS Support Changes * Distro - Update Ubuntu logo ([dylanaraps#2125](https://github.com/dylanaraps/neofetch/pull/2125)) * Distro - Add Exodia OS Predator ([dylanaraps#2174](https://github.com/dylanaraps/neofetch/pull/2174)) * Distro - Add Parch ([dylanaraps#2045](https://github.com/dylanaraps/neofetch/pull/2045)) * Distro - Add VzLinux ([dylanaraps#1971](https://github.com/dylanaraps/neofetch/pull/1971)) * Distro - Add Twister OS ([dylanaraps#1890](https://github.com/dylanaraps/neofetch/pull/1890)) * Distro - Add BlackPantherOS ([dylanaraps#1761](https://github.com/dylanaraps/neofetch/pull/1761)) * Distro - Add TorizonCore ([dylanaraps#1744](https://github.com/dylanaraps/neofetch/pull/1744)) * Distro - Add KrassOS ([dylanaraps#1631](https://github.com/dylanaraps/neofetch/pull/1631)) * Distro - Add Synology DSM ([dylanaraps#1666](https://github.com/dylanaraps/neofetch/pull/1666)) * Distro - Add MatuusOS ([dylanaraps#1902](https://github.com/dylanaraps/neofetch/pull/1902)) * Distro - Add HarDClanZ Linux ([dylanaraps#1797](https://github.com/dylanaraps/neofetch/pull/1797))
🖼️ Device Support Changes * Host - Identify iMac, Mac mini, Mac Pro Models ([dylanaraps#1944](https://github.com/dylanaraps/neofetch/pull/1944)) * Host - Identify FreeBSD host model ([dylanaraps#1588](https://github.com/dylanaraps/neofetch/pull/1588)) * Font - Better font matching for st ([dylanaraps#1877](https://github.com/dylanaraps/neofetch/pull/1877)) * Theme - Use XSETTINGS to get theme without a DE ([dylanaraps#1831](https://github.com/dylanaraps/neofetch/pull/1831)) * Theme - Add QT theme detection ([dylanaraps#1713](https://github.com/dylanaraps/neofetch/pull/1713)) * Theme - Add LeftWM theme detection ([dylanaraps#1963](https://github.com/dylanaraps/neofetch/pull/1963)) * Cursor - Add cursor theme detection ([dylanaraps#1149](https://github.com/dylanaraps/neofetch/pull/1149)) * Terminal - Improve NixOS terminal identification ([dylanaraps#1134](https://github.com/dylanaraps/neofetch/pull/1134)) * Terminal - Use `/proc/.../cmdline` instead of `.../comm` ([dylanaraps#2034](https://github.com/dylanaraps/neofetch/pull/2034)) * Packages - Improve scoop/choco package count ([dylanaraps#1642](https://github.com/dylanaraps/neofetch/pull/1642))
🖼️ Bug Fixes * Bug Fix - Fix prepended `=` for kitty ([dylanaraps#2116](https://github.com/dylanaraps/neofetch/pull/2116)) * Bug Fix - Hide domain in hostname by default ([dylanaraps#2095](https://github.com/dylanaraps/neofetch/pull/2095)) * Bug Fix - Respect TMPDIR if it exists ([dylanaraps#1891](https://github.com/dylanaraps/neofetch/pull/1891)) * Bug Fix - Fix terminal size over slow connection ([dylanaraps#1895](https://github.com/dylanaraps/neofetch/pull/1895)) * Bug Fix - Fix GPU detection for bumblebee dual-GPU ([dylanaraps#1131](https://github.com/dylanaraps/neofetch/pull/1131)) * Bug Fix - Strip colors in ASCII length calculation ([dylanaraps#1543](https://github.com/dylanaraps/neofetch/pull/1543))
### 1.3.0
🖼️ Ascii Art Changes * Ascii - Improve Trisquel ([dylanaraps#1946](https://github.com/dylanaraps/neofetch/pull/1946)) * Ascii - Improve LangitKetujuh ([dylanaraps#1948](https://github.com/dylanaraps/neofetch/pull/1948)) * Ascii - Improve Artix small ([dylanaraps#1872](https://github.com/dylanaraps/neofetch/pull/1872)) * Ascii - Update Archcraft ([dylanaraps#1919](https://github.com/dylanaraps/neofetch/pull/1919))
🖼️ Distro/OS Support Changes * OS - Support Old macOS 10.4 and 10.5 ([dylanaraps#2151](https://github.com/dylanaraps/neofetch/pull/2151)) * OS - Identify Hackintosh VM ([dylanaraps#2005](https://github.com/dylanaraps/neofetch/pull/2005)) * Distro - Fix model detection for Ubuntu Touch ([dylanaraps#2167](https://github.com/dylanaraps/neofetch/pull/2167)) * Distro - Add EncryptOS ([dylanaraps#2158](https://github.com/dylanaraps/neofetch/pull/2158)) * Distro - Add BigLinux ([dylanaraps#2061](https://github.com/dylanaraps/neofetch/pull/2061)) * Distro - Add AmogOS ([dylanaraps#1904](https://github.com/dylanaraps/neofetch/pull/1904)) * Distro - Add CutefishOS ([dylanaraps#2054](https://github.com/dylanaraps/neofetch/pull/2054)) * Distro - Add PearOS ([dylanaraps#2049](https://github.com/dylanaraps/neofetch/pull/2049)) * Distro - Add FusionX ([dylanaraps#2011](https://github.com/dylanaraps/neofetch/pull/2011)) * Distro - Add Q4OS ([dylanaraps#1973](https://github.com/dylanaraps/neofetch/pull/1973)) * Distro - Add CachyOS ([dylanaraps#2026](https://github.com/dylanaraps/neofetch/pull/2026)) * Distro - Add Soda Linux ([dylanaraps#2023](https://github.com/dylanaraps/neofetch/pull/2023)) * Distro - Add Elive Linux ([dylanaraps#1957](https://github.com/dylanaraps/neofetch/pull/1957)) * Distro - Add Uos ([dylanaraps#1991](https://github.com/dylanaraps/neofetch/pull/1991)) * Distro - Add MassOS ([dylanaraps#1947](https://github.com/dylanaraps/neofetch/pull/1947)) * Distro - Add CalinixOS ([dylanaraps#1988](https://github.com/dylanaraps/neofetch/pull/1988)) * Distro - Add Kaisen Linux ([dylanaraps#1958](https://github.com/dylanaraps/neofetch/pull/1958)) * Distro - Add yiffOS ([dylanaraps#1920](https://github.com/dylanaraps/neofetch/pull/1920)) * Distro - Add Sulin ([dylanaraps#1896](https://github.com/dylanaraps/neofetch/pull/1896)) * Distro - Add Wii Linux ([dylanaraps#1929](https://github.com/dylanaraps/neofetch/pull/1929)) * Distro - Add Linspire ([dylanaraps#1905](https://github.com/dylanaraps/neofetch/pull/1905)) * Distro - Add Ubuntu Kylin ([dylanaraps#1974](https://github.com/dylanaraps/neofetch/pull/1974)) * Distro - Add OPNsense ([dylanaraps#1055](https://github.com/dylanaraps/neofetch/pull/1055)) * Distro - Improve BSD machine arch detection ([dylanaraps#2015](https://github.com/dylanaraps/neofetch/pull/2015)) * Distro - Improve Manjaro version detection ([dylanaraps#1879](https://github.com/dylanaraps/neofetch/pull/1879))
🖼️ Device Support Changes * Terminal - Add Fig ([dylanaraps#2077](https://github.com/dylanaraps/neofetch/pull/2077)) * Terminal - Identify font for Apple Terminal ([dylanaraps#2017](https://github.com/dylanaraps/neofetch/pull/2017)) * CPU - Identify core count for Apple M1 ([dylanaraps#2038](https://github.com/dylanaraps/neofetch/pull/2038)) * GPU - Identify OpenCL GPU without PCIe ([dylanaraps#1928](https://github.com/dylanaraps/neofetch/pull/1928)) * Host - Identify MacBook & Update iDevice models ([dylanaraps#1944](https://github.com/dylanaraps/neofetch/pull/1944)) * Battery - Identify power adapter for MacBooks ([dylanaraps#1945](https://github.com/dylanaraps/neofetch/pull/1945)) * DE - Identify KF5 and Qt versions for Plasma ([dylanaraps#2019](https://github.com/dylanaraps/neofetch/pull/2019)) * Packages - Improve GUIX package detection ([dylanaraps#2021](https://github.com/dylanaraps/neofetch/pull/2021)) * Packages - Add `pm` and `cargo` ([dylanaraps#1876](https://github.com/dylanaraps/neofetch/pull/1876)) * Network - Identify network capabilities ([dylanaraps#1511](https://github.com/dylanaraps/neofetch/pull/1511))
🖼️ Bug Fixes * Bug Fix - Fix `col_offset` ([dylanaraps#2042](https://github.com/dylanaraps/neofetch/pull/2042)) * Bug Fix - Prioritize `/etc/os-release` ([dylanaraps#2067](https://github.com/dylanaraps/neofetch/pull/2067)) * Bug Fix - Ignore case when counting `.appimage` ([dylanaraps#2006](https://github.com/dylanaraps/neofetch/pull/2006)) * Bug Fix - Fix BSD freezing if pkg is not bootstrapped ([dylanaraps#2014](https://github.com/dylanaraps/neofetch/pull/2014)) * Bug Fix - Fix wrong icon theme ([dylanaraps#1873](https://github.com/dylanaraps/neofetch/pull/1873))
### 1.2.0 * 🚀 Take over `neofetch` with `neowofetch`
🖼️ Ascii Art Changes * Ascii - Add uwuntu ([#9](https://github.com/hykilpikonna/hyfetch/pull/9)) (use it with `hyfetch --test-distro uwuntu` or `neowofetch --ascii_distro uwuntu`) * Ascii - Better Void ascii art ([#10](https://github.com/hykilpikonna/hyfetch/pull/10)) * Ascii - Update old NixOS logo for compatibility ([dylanaraps#2114](https://github.com/dylanaraps/neofetch/pull/2114))
🖼️ Distro/OS Support Changes * OS - Identify macOS 13 Ventura ([#8](https://github.com/hykilpikonna/hyfetch/pull/8)) * OS - Windows 11 Fluent ([dylanaraps#2109](https://github.com/dylanaraps/neofetch/pull/2109)) * Distro - Add Asahi Linux ([dylanaraps#2079](https://github.com/dylanaraps/neofetch/pull/2079)) * Distro - Add CenterOS ([dylanaraps#2097](https://github.com/dylanaraps/neofetch/pull/2097)) * Distro - Add Finnix ([dylanaraps#2099](https://github.com/dylanaraps/neofetch/pull/2099)) * Distro - Add Miracle Linux ([dylanaraps#2085](https://github.com/dylanaraps/neofetch/pull/2085)) * Distro - Add Univalent ([dylanaraps#2162](https://github.com/dylanaraps/neofetch/pull/2162)) * Distro - Add NomadBSD ([dylanaraps#2147](https://github.com/dylanaraps/neofetch/pull/2147)) * Distro - Add GrapheneOS ([dylanaraps#2146](https://github.com/dylanaraps/neofetch/pull/2146)) * Distro - Add ShastraOS ([dylanaraps#2149](https://github.com/dylanaraps/neofetch/pull/2149)) * Distro - Add Ubuntu Touch ([dylanaraps#2167](https://github.com/dylanaraps/neofetch/pull/2167)) * Distro - Add Ubuntu Sway ([dylanaraps#2136](https://github.com/dylanaraps/neofetch/pull/2136)) * Distro - Add Orchid Linux ([dylanaraps#2144](https://github.com/dylanaraps/neofetch/pull/2144)) * Distro - Add AOSC OS/Retro ([dylanaraps#2124](https://github.com/dylanaraps/neofetch/pull/2124)) * Distro - Add Ultramarine Linux ([dylanaraps#2115](https://github.com/dylanaraps/neofetch/pull/2115)) * Distro - Improve NixOS version detection ([dylanaraps#2157](https://github.com/dylanaraps/neofetch/pull/2157))
🖼️ Device/Program Support Changes * Terminal - Add Termux ([dylanaraps#1923](https://github.com/dylanaraps/neofetch/pull/1923)) * CPU - Add loongarch64 ([dylanaraps#2140](https://github.com/dylanaraps/neofetch/pull/2140)) * CPU - Identify CPU name for ARM / RISCV ([dylanaraps#2139](https://github.com/dylanaraps/neofetch/pull/2139)) * Battery - Fix file not found ([dylanaraps#2130](https://github.com/dylanaraps/neofetch/pull/2130)) * GPU - Identify open-kernal Nvidia driver version ([dylanaraps#2128](https://github.com/dylanaraps/neofetch/pull/2128))
🖼️ Bug Fixes * Bug Fix - Fix broken fedora output ([dylanaraps#2084](https://github.com/dylanaraps/neofetch/pull/2084))
### 1.1.3rc1 * 🌈 Add foreground-background color arrangement to make Fedora and Ubuntu look nicer * 🌈 Allow typing abbreviations in flag selection * 🌈 Fix: Duplicate random color arrangements are appearing in selection screen * 🌈 Fix: Inconsistant color arrangement when saved to config file ### 1.1.2 * Add more flags ([#5](https://github.com/hykilpikonna/hyfetch/pull/5)) * Removed `numpy` dependency that was used in 1.1.0 ### 1.1.0 * Refactored a lot of things * Added Beiyang flag xD * Added interactive configurator for brightness adjustment * Added dark/light mode selection * Added color bar preview for RGB/8bit mode selection * Added random color arrangement feature (for NixOS) ### 1.0.7 * Fix: Make config path not on init but when it's actually needed. ### 1.0.6 * Remove `hypy_utils` dependency to make packaging easier. ### 1.0.5 * Fix terminal emulator detection ([PR [#2](https://github.com/hykilpikonna/hyfetch/pull/2)](https://github.com/hykilpikonna/hyfetch/pull/2)) ### 1.0.4 * Add more flags ([PR [#1](https://github.com/hykilpikonna/hyfetch/pull/1)](https://github.com/hykilpikonna/hyfetch/pull/1)) ### 1.0.3 * Fix missing dependency for setuptools ### 1.0.2 * Implement RGB to 8bit conversion * Add support for Python 3.7 and 3.8 ### 1.0.1 * Included 11 flag presets * Ability to lighten colors with `--c-set-l ` * Command-line flag chooser * Supports Python >= 3.9 ## More Screenshots ![image](https://user-images.githubusercontent.com/22280294/162614578-3b878abb-2a32-4427-997e-f90b3f5cfd7c.png) ![image](https://user-images.githubusercontent.com/22280294/162661621-f1c61338-7857-4d3f-9fe3-c6b635d68c38.png) ## Original Readme from Neofetch Below

logo

A command-line system information tool written in bash 3.2+

Packaging status

neofetch Neofetch is a command-line system information tool written in `bash 3.2+`. Neofetch displays information about your operating system, software and hardware in an aesthetic and visually pleasing way. The overall purpose of Neofetch is to be used in screen-shots of your system. Neofetch shows the information other people want to see. There are other tools available for proper system statistic/diagnostics. The information by default is displayed alongside your operating system's logo. You can further configure Neofetch to instead use an image, a custom ASCII file, your wallpaper or nothing at all. neofetch You can further configure Neofetch to display exactly what you want it to. Through the use of command-line flags and the configuration file you can change existing information outputs or add your own custom ones. Neofetch supports almost 150 different operating systems. From Linux to Windows, all the way to more obscure operating systems like Minix, AIX and Haiku. If your favourite operating system is unsupported: Open up an issue and support will be added. ### More: \[[Dependencies](https://github.com/dylanaraps/neofetch/wiki/Dependencies)\] \[[Installation](https://github.com/dylanaraps/neofetch/wiki/Installation)\] \[[Wiki](https://github.com/dylanaraps/neofetch/wiki)\] hyfetch-1.4.11/docs/000077500000000000000000000000001453247431100141645ustar00rootroot00000000000000hyfetch-1.4.11/docs/hyfetch.1000066400000000000000000000067071453247431100157120ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .TH VERSION "1" "December 2023" "Version is 1.4.11" "User Commands" .SH NAME Version \- manual page for Version is 1.4.11 .SH DESCRIPTION usage: hyfetch [\-h] [\-c] [\-C CONFIG_FILE] .IP [\-p {rainbow,transgender,nonbinary,agender,queer,genderfluid,bisexual,pansexual,polysexual,omnisexual,omniromantic,gay\-men,lesbian,abrosexual,asexual,aromantic,aroace1,aroace2,aroace3,autosexual,intergender,greygender,akiosexual,bigender,demigender,demiboy,demigirl,transmasculine,transfeminine,genderfaun,demifaun,genderfae,demifae,neutrois,biromantic1,biromantic2,autoromantic,boyflux2,finsexual,unlabeled1,unlabeled2,pangender,gendernonconforming1,gendernonconforming2,femboy,tomboy,gynesexual,androsexual,gendervoid,voidgirl,voidboy,nonhuman\-unity,beiyang,burger}] [\-m {8bit,rgb}] [\-b {qwqfetch,neofetch,fastfetch,fastfetch\-old}] [\-\-args ARGS] [\-\-c\-scale SCALE] [\-\-c\-set\-l LIGHT] [\-\-c\-overlay] [\-V] [\-\-june] [\-\-debug] [\-\-distro DISTRO] [\-\-ascii\-file ASCII_FILE] .PP hyfetch \- neofetch with flags <3 .SS "options:" .TP \fB\-h\fR, \fB\-\-help\fR show this help message and exit .TP \fB\-c\fR, \fB\-\-config\fR Configure hyfetch .TP \fB\-C\fR CONFIG_FILE, \fB\-\-config\-file\fR CONFIG_FILE Use another config file .TP \fB\-p\fR {rainbow,transgender,nonbinary,agender,queer,genderfluid,bisexual,pansexual,polysexual,omnisexual,omniromantic,gay\-men,lesbian,abrosexual,asexual,aromantic,aroace1,aroace2,aroace3,autosexual,intergender,greygender,akiosexual,bigender,demigender,demiboy,demigirl,transmasculine,transfeminine,genderfaun,demifaun,genderfae,demifae,neutrois,biromantic1,biromantic2,autoromantic,boyflux2,finsexual,unlabeled1,unlabeled2,pangender,gendernonconforming1,gendernonconforming2,femboy,tomboy,gynesexual,androsexual,gendervoid,voidgirl,voidboy,nonhuman\-unity,beiyang,burger}, \fB\-\-preset\fR {rainbow,transgender,nonbinary,agender,queer,genderfluid,bisexual,pansexual,polysexual,omnisexual,omniromantic,gay\-men,lesbian,abrosexual,asexual,aromantic,aroace1,aroace2,aroace3,autosexual,intergender,greygender,akiosexual,bigender,demigender,demiboy,demigirl,transmasculine,transfeminine,genderfaun,demifaun,genderfae,demifae,neutrois,biromantic1,biromantic2,autoromantic,boyflux2,finsexual,unlabeled1,unlabeled2,pangender,gendernonconforming1,gendernonconforming2,femboy,tomboy,gynesexual,androsexual,gendervoid,voidgirl,voidboy,nonhuman\-unity,beiyang,burger} Use preset .TP \fB\-m\fR {8bit,rgb}, \fB\-\-mode\fR {8bit,rgb} Color mode .TP \fB\-b\fR {qwqfetch,neofetch,fastfetch,fastfetch\-old}, \fB\-\-backend\fR {qwqfetch,neofetch,fastfetch,fastfetch\-old} Choose a *fetch backend .TP \fB\-\-args\fR ARGS Additional arguments pass\-through to backend .TP \fB\-\-c\-scale\fR SCALE Lighten colors by a multiplier .TP \fB\-\-c\-set\-l\fR LIGHT Set lightness value of the colors .TP \fB\-\-c\-overlay\fR Use experimental overlay color adjusting instead of HSL lightness .TP \fB\-V\fR, \fB\-\-version\fR Check version .TP \fB\-\-june\fR Show pride month easter egg .TP \fB\-\-debug\fR Debug mode .TP \fB\-\-distro\fR DISTRO, \fB\-\-test\-distro\fR DISTRO Test for a specific distro .TP \fB\-\-ascii\-file\fR ASCII_FILE Use a specific file for the ascii art .SH "SEE ALSO" The full documentation for .B Version is maintained as a Texinfo manual. If the .B info and .B Version programs are properly installed at your site, the command .IP .B info Version .PP should give you access to the complete manual. hyfetch-1.4.11/docs/neofetch.1000066400000000000000000000337631453247431100160550ustar00rootroot00000000000000.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.3. .TH NEOFETCH "1" "December 2023" "Neofetch 7.3.11" "User Commands" .SH NAME Neofetch \- manual page for Neofetch 7.3.11 .SH SYNOPSIS .B neofetch \fI\,func_name --option "value" --option "value"\/\fR .SH DESCRIPTION Neofetch is a CLI system information tool written in BASH. Neofetch displays information about your system next to an image, your OS logo, or any ASCII file of your choice. .PP NOTE: Every launch flag has a config option. .SH OPTIONS .SS "INFO:" .TP func_name Specify a function name (second part of info() from config) to quickly display only that function's information. .IP Example: neofetch uptime \fB\-\-uptime_shorthand\fR tiny .IP Example: neofetch uptime disk wm memory .IP This can be used in bars and scripts like so: .IP memory="$(neofetch memory)"; memory="${memory##*: }" .IP For multiple outputs at once (each line of info in an array): .IP IFS=$'\en' read \fB\-d\fR "" \fB\-ra\fR info < <(neofetch memory uptime wm) .IP info=("${info[@]##*: }") .TP \fB\-\-disable\fR infoname Allows you to disable an info line from appearing in the output. 'infoname' is the function name from the \&'print_info()' function inside the config file. For example: 'info "Memory" memory' would be '\-\-disable memory' .IP NOTE: You can supply multiple args. eg. 'neofetch \fB\-\-disable\fR cpu gpu' .TP \fB\-\-title_fqdn\fR on/off Hide/Show Fully Qualified Domain Name in title. .TP \fB\-\-package_managers\fR on/off Hide/Show Package Manager names. (on, tiny, off) .TP \fB\-\-package_separate\fR on/off Whether to separate system/user modes for supported package managers .TP \fB\-\-os_arch\fR on/off Hide/Show OS architecture. .TP \fB\-\-speed_type\fR type Change the type of cpu speed to display. Possible values: current, min, max, bios, scaling_current, scaling_min, scaling_max .IP NOTE: This only supports Linux with cpufreq. .TP \fB\-\-speed_shorthand\fR on/off Whether or not to show decimals in CPU speed. .TP NOTE: This flag is not supported in systems with CPU speed less than 1 GHz. .TP \fB\-\-cpu_brand\fR on/off Enable/Disable CPU brand in output. .TP \fB\-\-cpu_cores\fR type Whether or not to display the number of CPU cores Possible values: logical, physical, off .IP NOTE: 'physical' doesn't work on BSD. .TP \fB\-\-cpu_speed\fR on/off Hide/Show cpu speed. .TP \fB\-\-cpu_temp\fR C/F/off Hide/Show cpu temperature. .IP NOTE: This only works on Linux and BSD. .TP NOTE: For FreeBSD and NetBSD\-based systems, you need to enable coretemp kernel module. This only supports newer Intel processors. .TP \fB\-\-distro_shorthand\fR on/off Shorten the output of distro (on, tiny, off) .IP NOTE: This option won't work in Windows (Cygwin) .TP \fB\-\-kernel_shorthand\fR on/off Shorten the output of kernel .IP NOTE: This option won't work in BSDs (except PacBSD and PC\-BSD) .TP \fB\-\-uptime_shorthand\fR on/off Shorten the output of uptime (on, tiny, off) .TP \fB\-\-refresh_rate\fR on/off Whether to display the refresh rate of each monitor Unsupported on Windows .TP \fB\-\-gpu_brand\fR on/off Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel) .TP \fB\-\-gpu_type\fR type Which GPU to display. (all, dedicated, integrated) .IP NOTE: This only supports Linux. .TP \fB\-\-de_version\fR on/off Show/Hide Desktop Environment version .TP \fB\-\-gtk_shorthand\fR on/off Shorten output of gtk theme/icons .TP \fB\-\-gtk2\fR on/off Enable/Disable gtk2 theme/font/icons output .TP \fB\-\-gtk3\fR on/off Enable/Disable gtk3 theme/font/icons output .TP \fB\-\-shell_path\fR on/off Enable/Disable showing $SHELL path .TP \fB\-\-shell_version\fR on/off Enable/Disable showing $SHELL version .TP \fB\-\-editor_path\fR on/off Enable/Disable showing $EDITOR path .TP \fB\-\-editor_version\fR on/off Enable/Disable showing $EDITOR version .TP \fB\-\-disk_show\fR value Which disks to display. Possible values: '/', '/dev/sdXX', '/path/to/mount point' .IP NOTE: Multiple values can be given. (\fB\-\-disk_show\fR '/' '/dev/sdc1') .TP \fB\-\-disk_subtitle\fR type What information to append to the Disk subtitle. Takes: name, mount, dir, none .IP \&'name' shows the disk's name (sda1, sda2, etc) .IP \&'mount' shows the disk's mount point (/, \fI\,/mnt/Local\/\fP Disk, etc) .IP \&'dir' shows the basename of the disks's path. (/, Local Disk, etc) .IP \&'none' shows only 'Disk' or the configured title. .TP \fB\-\-disk_percent\fR on/off Hide/Show disk percent. .TP \fB\-\-ip_host\fR url URL to query for public IP .TP \fB\-\-ip_timeout\fR int Public IP timeout (in seconds). .TP \fB\-\-ip_interface\fR value Interface(s) to use for local IP .TP \fB\-\-song_format\fR format Print the song data in a specific format (see config file). .TP \fB\-\-song_shorthand\fR on/off Print the Artist/Album/Title on separate lines. .TP \fB\-\-memory_percent\fR on/off Display memory percentage. .TP \fB\-\-memory_unit\fR (k/m/g/t)ib Memory output unit. .TP \fB\-\-memory_precision\fR integer Change memory output precision. (???0, default=2) .TP \fB\-\-music_player\fR player\-name Manually specify a player to use. Available values are listed in the config file .SS "TEXT FORMATTING:" .TP \fB\-\-colors\fR x x x x x x Changes the text colors in this order: title, @, underline, subtitle, colon, info .TP \fB\-\-underline\fR on/off Enable/Disable the underline. .TP \fB\-\-underline_char\fR char Character to use when underlining title .TP \fB\-\-bold\fR on/off Enable/Disable bold text .TP \fB\-\-separator\fR string Changes the default ':' separator to the specified string. .SS "COLOR BLOCKS:" .TP \fB\-\-color_blocks\fR on/off Enable/Disable the color blocks .TP \fB\-\-col_offset\fR auto/num Left\-padding of color blocks .TP \fB\-\-block_width\fR num Width of color blocks in spaces .TP \fB\-\-block_height\fR num Height of color blocks in lines .TP \fB\-\-block_range\fR num num Range of colors to print as blocks .SS "BARS:" .TP \fB\-\-bar_char\fR 'elapsed char' 'total char' Characters to use when drawing bars. .TP \fB\-\-bar_border\fR on/off Whether or not to surround the bar with '[]' .TP \fB\-\-bar_length\fR num Length in spaces to make the bars. .TP \fB\-\-bar_colors\fR num num Colors to make the bar. Set in this order: elapsed, total .TP \fB\-\-memory_display\fR mode Bar mode. Possible values: bar, infobar, barinfo, off .TP \fB\-\-battery_display\fR mode Bar mode. Possible values: bar, infobar, barinfo, off .TP \fB\-\-disk_display\fR mode Bar mode. Possible values: bar, infobar, barinfo, off .SS "IMAGE BACKEND:" .TP \fB\-\-backend\fR backend Which image backend to use. Possible values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', \&'iterm2', 'off', 'sixel', 'tycat', 'w3m', 'kitty', 'viu' .TP \fB\-\-source\fR source Which image or ascii file to use. Possible values: 'auto', 'ascii', 'wallpaper', '/path/to/img', \&'/path/to/ascii', '/path/to/dir/', 'command output' [ascii] .TP \fB\-\-ascii\fR source Shortcut to use 'ascii' backend. .IP NEW: neofetch \fB\-\-ascii\fR "$(fortune | cowsay \fB\-W\fR 30)" .TP \fB\-\-caca\fR source Shortcut to use 'caca' backend. .TP \fB\-\-catimg\fR source Shortcut to use 'catimg' backend. .TP \fB\-\-chafa\fR source Shortcut to use 'chafa' backend. .TP \fB\-\-iterm2\fR source Shortcut to use 'iterm2' backend. .TP \fB\-\-jp2a\fR source Shortcut to use 'jp2a' backend. .TP \fB\-\-kitty\fR source Shortcut to use 'kitty' backend. .TP \fB\-\-pot\fR source Shortcut to use 'pot' backend. .TP \fB\-\-pixterm\fR source Shortcut to use 'pixterm' backend. .TP \fB\-\-sixel\fR source Shortcut to use 'sixel' backend. .TP \fB\-\-termpix\fR source Shortcut to use 'termpix' backend. .TP \fB\-\-tycat\fR source Shortcut to use 'tycat' backend. .TP \fB\-\-w3m\fR source Shortcut to use 'w3m' backend. .TP \fB\-\-ueberzug\fR source Shortcut to use 'ueberzug' backend .TP \fB\-\-viu\fR source Shortcut to use 'viu' backend .TP \fB\-\-off\fR Shortcut to use 'off' backend (Disable ascii art). .IP NOTE: 'source; can be any of the following: 'auto', 'ascii', 'wallpaper', '/path/to/img', \&'/path/to/ascii', '/path/to/dir/' .SS "ASCII:" .TP \fB\-\-ascii_colors\fR x x x x x x Colors to print the ascii art .TP \fB\-\-ascii_distro\fR distro Which Distro's ascii art to print .TP NOTE: Ad??lie, aerOS, Afterglow, AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, Antergos, antiX, AOSC OS, Aperio GNU/Linux, Aperture, Apricity, Arch, ArchBox, Archcraft, archcraft_ascii, archcraft_minimal, ARCHlabs, ArchMerge, ArchStrike, ArcoLinux, ArseLinux, Artix, Arya, Asahi, AsteroidOS, astOS, Astra Linux, Athena, azos, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, CachyOS, Calculate, CalinixOS, Carbs, CBL\-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS, Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover, Cobalt, Condres, Container Linux by CoreOS, CRUX, Crystal Linux, Cucumber, CutefishOS, CuteOS, CyberOS, dahlia, DarkOs, Darwin, Debian, Deepin, DesaOS, Devuan, DietPi, digital UNIX, DracOS, DragonFly, Drauger, Droidian, Elementary, Elive, EncryptOS, EndeavourOS, Endless, Enso, EuroLinux, EvolutionOS, Exherbo, Exodia Predator OS, Fedora, FemboyOS, Feren, Finnix, Floflis, FreeBSD, FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, GhostBSD, glaucus, gNewSense, GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HamoniKR, HarDClanZ, Hash, Huayra, Hybrid, HydroOS, Hyperbola, iglunix, instantOS, Interix, IRIX, Itc, januslinux, Kaisen, Kali, KaOS, KDE, Kibojoe, Kogaion, Korora, KrassOS, KSLinux, Kubuntu, LainOS, LangitKetujuh, LaxerOS, LEDE, LibreELEC, Linspire, Linux, Linux Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac, Mageia, MagpieOS, MainsailOS, Mandriva, Manjaro, MassOS, MatuusOS, Maui, Meowix, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nobara, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, OmniOS, Open Source Media Center, OpenBSD, openEuler, OpenIndiana, openKylin, openmamba, OpenMandriva, OpenStage, openSUSE, openSUSE Leap, openSUSE Tumbleweed, OPNsense, Oracle, orchid, OS Elbrus, PacBSD, Panwah, Parabola, parch, Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo, Peppermint, Peropesis, phyOS, PikaOS, Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star, Redcore, Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Salient OS, Salix, Sasanqua, Scientific, semc, Septor, Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackel, Slackware, SliTaz, SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, TeArch, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu\-GNOME, ubuntu_old02, Ultramarine Linux, unicodearch, Univalent, Univention, Uos, UrukOS, uwuntu, Vanilla, Venom, VNux, Void, VzLinux, wii\-linux\-ngx, Windows, Windows 10, Windows 11, Windows95, Wrt, Xenia, Xenia2, XFerience, Xray_OS, Xubuntu, yiffOS, Zorin have ascii logos. .TP NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu have 'old' logo variants, use {distro}_old to use them. .TP NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos, cleanjaro, crux, debian, dragonfly, elementary, endeavouros, fedora, freebsd, garuda, gentoo, guix, haiku, hyperbola, kali, Linux, linuxlite, linuxmint, mac, mageia, MainsailOS, manjaro, mx, netbsd, nixos, openbsd, opensuse, orchid, parabola, popos, postmarketos, pureos, Raspbian, rocky, slackware, sunos, ubuntu, venom, void have \&'small' logo variants, use {distro}_small to use them. .TP \fB\-\-ascii_bold\fR on/off Whether or not to bold the ascii logo. .TP \fB\-L\fR, \fB\-\-logo\fR Hide the info text and only show the ascii logo. .SS "IMAGE:" .TP \fB\-\-loop\fR Redraw the image constantly until Ctrl+C is used. This fixes issues in some terminals emulators when using image mode. .TP \fB\-\-size\fR 00px | \fB\-\-size\fR 00% How to size the image. Possible values: auto, 00px, 00%, none .TP \fB\-\-catimg_size\fR 1/2 Change the resolution of catimg. .TP \fB\-\-crop_mode\fR mode Which crop mode to use Takes the values: normal, fit, fill .TP \fB\-\-crop_offset\fR value Change the crop offset for normal mode. Possible values: northwest, north, northeast, west, center, east, southwest, south, southeast .TP \fB\-\-xoffset\fR px How close the image will be to the left edge of the window. This only works with w3m. .TP \fB\-\-yoffset\fR px How close the image will be to the top edge of the window. This only works with w3m. .TP \fB\-\-bg_color\fR color Background color to display behind transparent image. This only works with w3m. .TP \fB\-\-gap\fR num Gap between image and text. .TP NOTE: \fB\-\-gap\fR can take a negative value which will move the text closer to the left side. .TP \fB\-\-clean\fR Delete cached files and thumbnails. .SS "OTHER:" .TP \fB\-\-config\fR \fI\,/path/to/config\/\fP Specify a path to a custom config file .TP \fB\-\-config\fR none Launch the script without a config file .TP \fB\-\-no_config\fR Don't create the user config file. .TP \fB\-\-print_config\fR Print the default config file to stdout. .TP \fB\-\-stdout\fR=\fI\,on\/\fR Turn off all colors and disables any ASCII/image backend. .TP \fB\-\-stdout\fR=\fI\,off\/\fR Enable the colored output and ASCII/image backend .TP \fB\-\-stdout\fR=\fI\,auto\/\fR Let the program decide basing on the output type (default behavior) .TP \fB\-\-stdout\fR Equivalent to '\-\-stdout=on', for backward compatibility .TP \fB\-\-help\fR Print this text and exit .TP \fB\-\-version\fR Show neofetch version .TP \fB\-v\fR Display error messages. .TP \fB\-vv\fR Display a verbose log for error reporting. .SS "DEVELOPER:" .TP \fB\-\-gen\-man\fR Generate a manpage for Neofetch in your PWD. (Requires GNU help2man) .SH "REPORTING BUGS" Report bugs to https://github.com/dylanaraps/neofetch/issues .SH "SEE ALSO" The full documentation for .B Neofetch is maintained as a Texinfo manual. If the .B info and .B Neofetch programs are properly installed at your site, the command .IP .B info Neofetch .PP should give you access to the complete manual. hyfetch-1.4.11/hyfetch/000077500000000000000000000000001453247431100146665ustar00rootroot00000000000000hyfetch-1.4.11/hyfetch/__init__.py000066400000000000000000000002171453247431100167770ustar00rootroot00000000000000from __future__ import annotations from . import main, constants __version__ = constants.VERSION if __name__ == '__main__': main.run() hyfetch-1.4.11/hyfetch/__main__.py000066400000000000000000000003301453247431100167540ustar00rootroot00000000000000from . import main from .color_util import printc if __name__ == '__main__': try: main.run() except KeyboardInterrupt: printc('&cThe program is interrupted by ^C, exiting...') exit(0)hyfetch-1.4.11/hyfetch/__version__.py000066400000000000000000000000231453247431100175140ustar00rootroot00000000000000VERSION = '1.4.11' hyfetch-1.4.11/hyfetch/color_scale.py000066400000000000000000000040171453247431100175270ustar00rootroot00000000000000""" This version of color_scale is a special version made without numpy dependency. The numpy version would be faster, but numpy is 11 MB large. In comparison, hyfetch 1.0.7 is only 105 kB, so it's not a good idea to depend on numpy. """ from __future__ import annotations from .color_util import RGB def create_gradient_hex(colors: list[str], resolution: int = 300) -> list[RGB]: """ Create gradient array from hex """ colors = [RGB.from_hex(s) for s in colors] return create_gradient(colors, resolution) def create_gradient(colors: list[RGB], resolution: int) -> list[RGB]: """ Create gradient array Usage: arr[ratio / len(arr)] = Scaled gradient color at that point """ result = [] # Create gradient mapping for i in range(len(colors) - 1): c1 = colors[i] c2 = colors[i + 1] bi = i * resolution for ri in range(resolution): ratio = ri / resolution r = int(c2.r * ratio + c1.r * (1 - ratio)) g = int(c2.g * ratio + c1.g * (1 - ratio)) b = int(c2.b * ratio + c1.b * (1 - ratio)) result.append(RGB(r, g, b)) return result def get_raw(gradient: list[RGB], ratio: float) -> RGB: """ :param gradient: Gradient array (2d) :param ratio: Between 0-1 :return: RGB subarray (1d, has 3 values) """ if ratio == 1: return gradient[-1] i = int(ratio * len(gradient)) return gradient[i] class Scale: colors: list[RGB] rgb: list[RGB] def __init__(self, scale: list[str], resolution: int = 300): self.colors = [RGB.from_hex(s) for s in scale] self.rgb = create_gradient(self.colors, resolution) def __call__(self, ratio: float) -> RGB: """ :param ratio: Between 0-1 """ return get_raw(self.rgb, ratio) def test_color_scale(): scale = Scale(['#232323', '#4F1879', '#B43A78', '#F98766', '#FCFAC0']) colors = 100 for i in range(colors + 1): print(scale(i / colors).to_ansi_rgb(False), end=' ') hyfetch-1.4.11/hyfetch/color_util.py000066400000000000000000000166651453247431100174310ustar00rootroot00000000000000from __future__ import annotations import colorsys from dataclasses import dataclass, astuple from .constants import GLOBAL_CFG from .types import * MINECRAFT_COLORS = [ # Minecraft formatting codes # ========================== "&0/\033[38;5;0m", "&1/\033[38;5;4m", "&2/\033[38;5;2m", "&3/\033[38;5;6m", "&4/\033[38;5;1m", "&5/\033[38;5;5m", "&6/\033[38;5;3m", "&7/\033[38;5;7m", "&8/\033[38;5;8m", "&9/\033[38;5;12m", "&a/\033[38;5;10m", "&b/\033[38;5;14m", "&c/\033[38;5;9m", "&d/\033[38;5;13m", "&e/\033[38;5;11m", "&f/\033[38;5;15m", "&l/\033[1m", # Enable bold text "&o/\033[3m", # Enable italic text "&n/\033[4m", # Enable underlined text "&k/\033[8m", # Enable hidden text "&m/\033[9m", # Enable strikethrough text "&r/\033[0m", # Reset everything # Extended codes (not officially in Minecraft) # ============================================ "&-/\n", # Line break "&~/\033[39m", # Reset text color "&*/\033[49m", # Reset background color "&L/\033[22m", # Disable bold text "&O/\033[23m", # Disable italic text "&N/\033[24m", # Disable underlined text "&K/\033[28m", # Disable hidden text "&M/\033[29m", # Disable strikethrough text ] MINECRAFT_COLORS = [(r[:2], r[3:]) for r in MINECRAFT_COLORS] def color(msg: str) -> str: """ Replace extended minecraft color codes in string :param msg: Message with minecraft color codes :return: Message with escape codes """ for code, esc in MINECRAFT_COLORS: msg = msg.replace(code, esc) while '&gf(' in msg or '&gb(' in msg: i = msg.index('&gf(') if '&gf(' in msg else msg.index('&gb(') end = msg.index(')', i) code = msg[i + 4:end] fore = msg[i + 2] == 'f' if code.startswith('#'): rgb = tuple(int(code.lstrip('#')[i:i+2], 16) for i in (0, 2, 4)) else: code = code.replace(',', ' ').replace(';', ' ').replace(' ', ' ') rgb = tuple(int(c) for c in code.split(' ')) msg = msg[:i] + RGB(*rgb).to_ansi(foreground=fore) + msg[end + 1:] return msg def printc(msg: str): """ Print with color :param msg: Message with minecraft color codes """ print(color(msg + '&r')) def clear_screen(title: str = ''): """ Clear screen using ANSI escape codes """ if not GLOBAL_CFG.debug: print('\033[2J\033[H', end='') if title: print() printc(title) print() def redistribute_rgb(r: int, g: int, b: int) -> tuple[int, int, int]: """ Redistribute RGB after lightening Credit: https://stackoverflow.com/a/141943/7346633 """ threshold = 255.999 m = max(r, g, b) if m <= threshold: return int(r), int(g), int(b) total = r + g + b if total >= 3 * threshold: return int(threshold), int(threshold), int(threshold) x = (3 * threshold - total) / (3 * m - total) gray = threshold - x * m return int(gray + x * r), int(gray + x * g), int(gray + x * b) @dataclass(unsafe_hash=True) class HSL: h: float s: float l: float def __iter__(self): return iter(astuple(self)) def rgb(self) -> RGB: return RGB(*[round(v * 255.0) for v in colorsys.hls_to_rgb(self.h, self.l, self.s)]) @dataclass(unsafe_hash=True) class RGB: r: int g: int b: int def __iter__(self): return iter(astuple(self)) @classmethod def from_hex(cls, hex: str) -> "RGB": """ Create color from hex code >>> RGB.from_hex('#FFAAB7') RGB(r=255, g=170, b=183) :param hex: Hex color code :return: RGB object """ hex = hex.lstrip("#") r = int(hex[0:2], 16) g = int(hex[2:4], 16) b = int(hex[4:6], 16) return cls(r, g, b) def to_ansi_rgb(self, foreground: bool = True) -> str: """ Convert RGB to ANSI TrueColor (RGB) Escape Code. This uses the 24-bit color encoding (an uint8 for each color value), and supports 16 million colors. However, not all terminal emulators support this escape code. (For example, IntelliJ debug console doesn't support it). Currently, we do not know how to detect whether a terminal environment supports ANSI RGB. If you have any thoughts, feel free to submit an issue on our Github page! :param foreground: Whether the color is for foreground text or background color :return: ANSI RGB escape code like \033[38;2;255;100;0m """ c = '38' if foreground else '48' return f'\033[{c};2;{self.r};{self.g};{self.b}m' def to_ansi_8bit(self, foreground: bool = True) -> str: """ Convert RGB to ANSI 8bit 256 Color Escape Code. This encoding supports 256 colors in total. :return: ANSI 256 escape code like \033[38;5;206m' """ r, g, b = self.r, self.g, self.b sep = 42.5 while True: if r < sep or g < sep or b < sep: gray = r < sep and g < sep and b < sep break sep += 42.5 if gray: color = 232 + (r + g + b) / 33 else: color = 16 + int(r / 256. * 6) * 36 + int(g / 256. * 6) * 6 + int(b / 256. * 6) c = '38' if foreground else '48' return f'\033[{c};5;{int(color)}m' def to_ansi_16(self, foreground: bool = True) -> str: """ Convert RGB to ANSI 16 Color Escape Code :return: ANSI 16 escape code """ raise NotImplementedError() def to_ansi(self, mode: AnsiMode | None = None, foreground: bool = True): if not mode: mode = GLOBAL_CFG.color_mode if mode == 'rgb': return self.to_ansi_rgb(foreground) if mode == '8bit': return self.to_ansi_8bit(foreground) if mode == 'ansi': return self.to_ansi_16(foreground) def lighten(self, multiplier: float) -> 'RGB': """ Lighten the color by a multiplier :param multiplier: Multiplier :return: Lightened color (original isn't modified) """ return RGB(*redistribute_rgb(*[v * multiplier for v in self])) def hsl(self) -> HSL: h, l, s = colorsys.rgb_to_hls(*[v / 255.0 for v in self]) return HSL(h, s, l) def set_light(self, light: float, at_least: bool | None = None, at_most: bool | None = None) -> 'RGB': """ Set HSL lightness value :param light: Lightness value (0-1) :param at_least: Set the lightness to at least this value (no change if greater) :param at_most: Set the lightness to at most this value (no change if lesser) :return: New color (original isn't modified) """ # Convert to HSL hsl = self.hsl() # Modify light value if at_least is None and at_most is None: hsl.l = light else: if at_most: hsl.l = min(hsl.l, light) if at_least: hsl.l = max(hsl.l, light) # Convert back to RGB return hsl.rgb() def is_light(self): return self.hsl().l > 0.5 def overlay(self, color: 'RGB', alpha: float) -> 'RGB': """ Overlay a color on top of this color :param color: Overlay color :param alpha: Overlay alpha :return: New color (original isn't modified) """ return RGB(*[round((1 - alpha) * v1 + alpha * v2) for v1, v2 in zip(self, color)]) hyfetch-1.4.11/hyfetch/constants.py000066400000000000000000000026361453247431100172630ustar00rootroot00000000000000from __future__ import annotations import os import platform from dataclasses import dataclass from pathlib import Path from .types import LightDark from .__version__ import VERSION CONFIG_PATH = Path.home() / '.config/hyfetch.json' TEST_ASCII = r""" ### |\___/| ### ### ) ( ### ## =\ /= ## #### )===( #### ### / \ ### ### | | ### ## / {txt} \ ## ## \ / ## _/\_\_ _/_/\_ |##| ( ( |##| |##| ) ) |##| |##| (_( |##|""".strip('\n') TEST_ASCII_WIDTH = max(len(line) for line in TEST_ASCII.split('\n')) DEFAULT_DARK_L = 0. IS_WINDOWS = platform.system() == 'Windows' CACHE_PATH = Path(os.getenv("LOCALAPPDATA") or os.getenv("XDG_CACHE_HOME") or Path.home() / '.cache') / 'hyfetch' @dataclass class GlobalConfig: # Global color mode default to 8-bit for compatibility color_mode: str override_distro: str | None debug: bool is_light: bool use_overlay: bool def light_dark(self) -> LightDark: return 'light' if self.is_light else 'dark' def default_lightness(self, term: LightDark | None = None) -> float: if term is None: term = self.light_dark() return 0.65 if term.lower() == 'dark' else 0.4 GLOBAL_CFG = GlobalConfig(color_mode='8bit', override_distro=None, debug=False, is_light=False, use_overlay=False) MINGIT_URL = 'https://github.com/git-for-windows/git/releases/download/v2.37.2.windows.2/MinGit-2.37.2.2-busybox-32-bit.zip' hyfetch-1.4.11/hyfetch/distros/000077500000000000000000000000001453247431100163555ustar00rootroot00000000000000hyfetch-1.4.11/hyfetch/distros/__init__.py000066400000000000000000000007761453247431100205000ustar00rootroot00000000000000from __future__ import annotations import string class AsciiArt: name: str match: str color: str ascii: str def __init__(self, match: str, color: str, ascii: str, name: str | None = None): self.match = match self.color = color self.ascii = ascii self.name = name or self.get_friendly_name() def get_friendly_name(self) -> str: return self.match.split("|")[0].strip(string.punctuation + '* ') \ .replace('"', '').replace('*', '') hyfetch-1.4.11/hyfetch/distros/adélie.py000066400000000000000000000011271453247431100205620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt adélie = AsciiArt(match=r'''"Adélie"* | "Adelie"*''', color='4 7 6', ascii=r""" ${c1} ${c3} ,-^-___ ${c3} /\\\/// ${c2}refined.${c1} /\\\\// ${c2}reliable.${c1} /\\\/// ${c2}ready.${c1} /\\/////\ __///\\\\/////\ ${c3} _//////\\\\\\\//// ${c1} ///////${c3}\\\\\\\\\\// //////${c1}\\\\\/ /////\\\\\/ /////${c3}\\\\/ /\\///\\\/ /\\\/${c1}\\/ /\\\\// ////// /// ${c3}\\\\\ """) hyfetch-1.4.11/hyfetch/distros/aeros.py000066400000000000000000000022141453247431100200370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aeros = AsciiArt(match=r'''"aerOS"*''', color='fg 0 0 0', ascii=r""" ${c1} ooo OOO OOO ooo oOO OOo oOO OOo oOO OOo oOO OOo oOO OOo oOO OOo OOo OOo OOo OOo OOo OOo oOO OOo oOO OOo oOO OOo oOO OOo oO OOo oOO OOo oOO OOo ooo OOO OOO ooo """) hyfetch-1.4.11/hyfetch/distros/afterglow.py000066400000000000000000000014101453247431100207150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt afterglow = AsciiArt(match=r'''"Afterglow"*''', color='5 1 3 4', ascii=r""" ${c2} . ${c1}. ${c2}.{! ${c1}.L! ${c2}J@||* ${c1}gJJJJL` ${c2}g@FFS" ${c1},@FFFJF`${c2}_g@@LLP` ${c1}_@FFFFF`${c2}_@@@@@P` ${c4}. ${c1}J@@@LLF ${c2}_@@@@@P` ${c4}.J! ${c1}g@@@@@" ${c2}_@@@@@P`${c3}. ${c4}.L|||* ${c1}g@@@@M" ${c2}"VP`${c3}.L! ${c4}<@JJJJ` ${c1}"@N" ${c3}:||||! ${c4}JFFFFS" ${c3}.{JJ||F`${c4}_gFFFF@' ${c3}.@FJJJF`${c4},@LFFFF` ${c3}_@FFFFF ${c4}VLLLP` ${c3}J@@LL@" ${c4}`" ${c3}V@@" """) hyfetch-1.4.11/hyfetch/distros/aix.py000066400000000000000000000016161453247431100175140ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aix = AsciiArt(match=r'''"AIX"*''', color='2 7', ascii=r""" ${c1} `:+ssssossossss+-` .oys///oyhddddhyo///sy+. /yo:+hNNNNNNNNNNNNNNNNh+:oy/ :h/:yNNNNNNNNNNNNNNNNNNNNNNy-+h: `ys.yNNNNNNNNNNNNNNNNNNNNNNNNNNy.ys `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oh h+-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN.oy /d`mNNNNNNN/::mNNNd::m+:/dNNNo::dNNNd`m: h//NNNNNNN: . .NNNh mNo od. -dNNNNN:+y N.sNNNNNN+ -N/ -NNh mNNd. sNNNNNNNo-m N.sNNNNNs +oo /Nh mNNs` ` /mNNNNNNo-m h//NNNNh ossss` +h md- .hm/ `sNNNNN:+y :d`mNNN+/yNNNNNd//y//h//oNNNNy//sNNNd`m- yo-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNm.ss `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oy sy.yNNNNNNNNNNNNNNNNNNNNNNNNNNs.yo :h+-yNNNNNNNNNNNNNNNNNNNNNNs-oh- :ys:/yNNNNNNNNNNNNNNNmy/:sy: .+ys///osyhhhhys+///sy+. -/osssossossso/- """) hyfetch-1.4.11/hyfetch/distros/almalinux.py000066400000000000000000000017771453247431100207350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt almalinux = AsciiArt(match=r'''"AlmaLinux"*''', color='1 3 4 2 6', ascii=r""" ${c1} 'c:. ${c1} lkkkx, .. ${c2}.. ,cc, ${c1} okkkk:ckkx' ${c2}.lxkkx.okkkkd ${c1} .:llcokkx' ${c2}:kkkxkko:xkkd, ${c1} .xkkkkdood: ${c2};kx, .lkxlll; ${c1} xkkx. ${c2}xk' xkkkkk: ${c1} 'xkx. ${c2}xd .....,. ${c3} .. ${c1}:xkl' ${c2}:c ..''.. ${c3} .dkx' ${c1}.:ldl:'. ${c2}' ${c4}':lollldkkxo; ${c3} .''lkkko' ${c4}ckkkx. ${c3}'xkkkd:kkd. .. ${c5};' ${c4}:kkxo. ${c3},xkkkd;kk' ,d; ${c5}ld. ${c4}':dkd::cc, ${c3} .,,.;xkko'.';lxo. ${c5}dx, ${c4}:kkk'xkkkkc ${c3} 'dkkkkkxo:. ${c5};kx ${c4}.kkk:;xkkd. ${c3} ..... ${c5}.;dk:. ${c5}lkk. ${c4}:;, ${c5}:kkkkkkkdoxkkx ,c,,;;;:xkkd. ;kkkkl... ;kkkkl ,od; """) hyfetch-1.4.11/hyfetch/distros/alpine.py000066400000000000000000000016551453247431100202060ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt alpine = AsciiArt(match=r'''"Alpine"*''', color='4 5 7 6', ascii=r""" ${c1} .hddddddddddddddddddddddh. :dddddddddddddddddddddddddd: /dddddddddddddddddddddddddddd/ +dddddddddddddddddddddddddddddd+ `sdddddddddddddddddddddddddddddddds` `ydddddddddddd++hdddddddddddddddddddy` .hddddddddddd+` `+ddddh:-sdddddddddddh. hdddddddddd+` `+y: .sddddddddddh ddddddddh+` `//` `.` -sddddddddd ddddddh+` `/hddh/` `:s- -sddddddd ddddh+` `/+/dddddh/` `+s- -sddddd ddd+` `/o` :dddddddh/` `oy- .yddd hdddyo+ohddyosdddddddddho+oydddy++ohdddh .hddddddddddddddddddddddddddddddddddddh. `yddddddddddddddddddddddddddddddddddy` `sdddddddddddddddddddddddddddddddds` +dddddddddddddddddddddddddddddd+ /dddddddddddddddddddddddddddd/ :dddddddddddddddddddddddddd: .hddddddddddddddddddddddh. """) hyfetch-1.4.11/hyfetch/distros/alpine_small.py000066400000000000000000000004341453247431100213700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt alpine_small = AsciiArt(match=r'''"alpine_small"''', color='4 7', ascii=r""" ${c1} /\ /\ /${c2}/ ${c1}\ \ /${c2}/ ${c1}\ \ /${c2}// ${c1}\ \ ${c2}// ${c1}\ \ \ """) hyfetch-1.4.11/hyfetch/distros/alter.py000066400000000000000000000015211453247431100200350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt alter = AsciiArt(match=r'''"Alter"*''', color='6 6', ascii=r""" ${c1} %, ^WWWw 'wwwwww !wwwwwwww #`wwwwwwwww @wwwwwwwwwwww wwwwwwwwwwwwwww wwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwww, w~1i.wwwwwwwwwwwwwwwww, 3~:~1lli.wwwwwwwwwwwwwwww. :~~:~?ttttzwwwwwwwwwwwwwwww #<~:~~~~?llllltO-.wwwwwwwwwww #~:~~:~:~~?ltlltlttO-.wwwwwwwww @~:~~:~:~:~~(zttlltltlOda.wwwwwww @~:~~: ~:~~:~:(zltlltlO a,wwwwww 8~~:~~:~~~~:~~~~_1ltltu ,www 5~~:~~:~~:~~:~~:~~~_1ltq N,, g~:~~:~~~:~~:~~:~:~~~~1q N, """) hyfetch-1.4.11/hyfetch/distros/amazon.py000066400000000000000000000016121453247431100202140ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt amazon = AsciiArt(match=r'''"Amazon"*''', color='3 7', ascii=r""" ${c1} `-/oydNNdyo:.` `.:+shmMMMMMMMMMMMMMMmhs+:.` -+hNNMMMMMMMMMMMMMMMMMMMMMMNNho- .`` -/+shmNNMMMMMMNNmhs+/- ``. dNmhs+:. `.:/oo/:.` .:+shmNd dMMMMMMMNdhs+:.. ..:+shdNMMMMMMMd dMMMMMMMMMMMMMMNds odNMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd .:+ydNMMMMMMMMMMMh yMMMMMMMMMMMNdy+:. `.:+shNMMMMMh yMMMMMNhs+:`` `-+shy shs+:` """) hyfetch-1.4.11/hyfetch/distros/amogos.py000066400000000000000000000013641453247431100202200ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt amogos = AsciiArt(match=r'''"AmogOS"*''', color='15 6', ascii=r""" ${c1} ___________ / \ / ${c2}______${c1} \ / ${c2}/ \${c1} \ | ${c2}( )${c1} \ / ${c2}\______/${c1} | | | / \ | | | | / | | | | _______ | ____/ / \ | / | | | | / ____/ | \_________/ / | \ __/ \_______/ """) hyfetch-1.4.11/hyfetch/distros/anarchy.py000066400000000000000000000032421453247431100203550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt anarchy = AsciiArt(match=r'''"Anarchy"*''', color='7 4', ascii=r""" ${c2}..${c1} ${c2}..${c1} ${c2}:..${c1} ${c2}:+++.${c1} .:::++${c2}++++${c1}+::. .:+######${c2}++++${c1}######+:. .+#########${c2}+++++${c1}##########:. .+##########${c2}+++++++${c1}##${c2}+${c1}#########+. +###########${c2}+++++++++${c1}############: +##########${c2}++++++${c1}#${c2}++++${c1}#${c2}+${c1}###########+ +###########${c2}+++++${c1}###${c2}++++${c1}#${c2}+${c1}###########+ :##########${c2}+${c1}#${c2}++++${c1}####${c2}++++${c1}#${c2}+${c1}############: ###########${c2}+++++${c1}#####${c2}+++++${c1}#${c2}+${c1}###${c2}++${c1}######+ .##########${c2}++++++${c1}#####${c2}++++++++++++${c1}#######. .##########${c2}+++++++++++++++++++${c1}###########. #####${c2}++++++++++++++${c1}###${c2}++++++++${c1}#########+ :###${c2}++++++++++${c1}#########${c2}+++++++${c1}#########: +######${c2}+++++${c1}##########${c2}++++++++${c1}#######+ +####${c2}+++++${c1}###########${c2}+++++++++${c1}#####+ :##${c2}++++++${c1}############${c2}++++++++++${c1}##: .${c2}++++++${c1}#############${c2}++++++++++${c1}+. :${c2}++++${c1}###############${c2}+++++++${c1}:: .${c2}++. .:+${c1}##############${c2}+++++++${c1}.. ${c2}.:.${c1} ..::++++++::..:${c2}++++${c1}+. ${c2}.${c1} ${c2}.:+++${c1}. ${c2}.:${c1}: ${c2}..${c1} ${c2}..${c1} """) hyfetch-1.4.11/hyfetch/distros/android.py000066400000000000000000000012731453247431100203520ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt android = AsciiArt(match=r'''"Android"*''', color='2 7', ascii=r""" ${c1} -o o- +hydNNNNdyh+ +mMMMMMMMMMMMMm+ `dMM${c2}m:${c1}NMMMMMMN${c2}:m${c1}MMd` hMMMMMMMMMMMMMMMMMMh .. yyyyyyyyyyyyyyyyyyyy .. .mMMm`MMMMMMMMMMMMMMMMMMMM`mMMm. :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: -MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM- +yy+ MMMMMMMMMMMMMMMMMMMM +yy+ mMMMMMMMMMMMMMMMMMMm `/++MMMMh++hMMMM++/` MMMMo oMMMM MMMMo oMMMM oNMm- -mMNs """) hyfetch-1.4.11/hyfetch/distros/android_small.py000066400000000000000000000004451453247431100215420ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt android_small = AsciiArt(match=r'''"android_small"*''', color='2 7', ascii=r""" ${c1} ;, ,; ';,.-----.,;' ,' ', / O O \ | | '-----------------' """) hyfetch-1.4.11/hyfetch/distros/antergos.py000066400000000000000000000020561453247431100205540ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt antergos = AsciiArt(match=r'''"Antergos"*''', color='4 6', ascii=r""" ${c2} `.-/::/-`` .-/osssssssso/. :osyysssssssyyys+- `.+yyyysssssssssyyyyy+. `/syyyyyssssssssssyyyyys-` `/yhyyyyysss${c1}++${c2}ssosyyyyhhy/` .ohhhyyyys${c1}o++/+o${c2}so${c1}+${c2}syy${c1}+${c2}shhhho. .shhhhys${c1}oo++//+${c2}sss${c1}+++${c2}yyy${c1}+s${c2}hhhhs. -yhhhhs${c1}+++++++o${c2}ssso${c1}+++${c2}yyy${c1}s+o${c2}hhddy: -yddhhy${c1}o+++++o${c2}syyss${c1}++++${c2}yyy${c1}yooy${c2}hdddy- .yddddhs${c1}o++o${c2}syyyyys${c1}+++++${c2}yyhh${c1}sos${c2}hddddy` `odddddhyosyhyyyyyy${c1}++++++${c2}yhhhyosddddddo .dmdddddhhhhhhhyyyo${c1}+++++${c2}shhhhhohddddmmh. ddmmdddddhhhhhhhso${c1}++++++${c2}yhhhhhhdddddmmdy dmmmdddddddhhhyso${c1}++++++${c2}shhhhhddddddmmmmh -dmmmdddddddhhys${c1}o++++o${c2}shhhhdddddddmmmmd- .smmmmddddddddhhhhhhhhhdddddddddmmmms. `+ydmmmdddddddddddddddddddmmmmdy/. `.:+ooyyddddddddddddyyso+:.` """) hyfetch-1.4.11/hyfetch/distros/antix.py000066400000000000000000000010171453247431100200510ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt antix = AsciiArt(match=r'''"antiX"*''', color='1 7 3', ascii=r""" ${c1} \ , - ~ ^ ~ - \ / , ' \ ' , / , \ '/ , \ / , ,___, \/ , / | _ _ _|_ o /\ , |, | / |/ | | | / \ , \,_/\_/ | |_/|_/|_/_/ \, , / ,\ , / , ' \ ' - , _ _ _ , ' """) hyfetch-1.4.11/hyfetch/distros/aosc_os.py000066400000000000000000000015131453247431100203550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aosc_os = AsciiArt(match=r'''"AOSC OS"*''', color='4 0 1 3', ascii=r""" ${c2} __ ${c2}gpBBBBBBBBBP ${c2}_gBBBBBBBBBRP ${c2}4BBBBBBBBRP ${c4},_____ ${c2}`"" ${c4}_g@@@@@@@@@@@@@%g> ${c4}__@@@@@@@@@@@@@@@@P" ${c1}___ ${c4}_g@@@@@@@@@@@@@@@N"` ${c1}_gN@@@@@N^ ${c4}_w@@@@@@@@@@@@@@@@P" ${c1}_g@@@@@@@P" ${c4}_g@@@@@@@@@@@@@@@N"` ${c1}VMNN@NNNM^` ${c4}^MMM@@@@@@@@@@@MP" ${c3},ggppww__ ${c4}`"\"\"\"" ${c3}_wNNNNNNNNNNNNNNNNNNN ${c3}_gBNNNNNNNNNNNNNNNNNP" ${c3}_wNNNNNNNNNNNNNNNNNNMP` ${c3}_gBNNNNNNNNNNNNNNNNNP" ${c3}_wNNNNNNNNNNNNNNNNNNNM^ ${c3}""Y^^MNNNNNNNNNNNNP` ${c3}`"\"\""\"\"" """) hyfetch-1.4.11/hyfetch/distros/aosc_os_retro.py000066400000000000000000000016721453247431100215760ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aosc_os_retro = AsciiArt(match=r'''"AOSC OS/Retro"*''', color='4 7 1 3', ascii=r""" ${c2} ......... ................... .....................${c1}################${c2} .............. ....${c1}################${c2} .............. ...${c1}################${c2} ............. ..${c1}****************${c2} ............ . .${c1}****************${c2} ........... ... ${c1}................${c2} .......... ..... ${c1}...............${c2} ......... ....... ... .${c3}...... ${c2}. ${c3}..... .....${c2}.... ${c4}........... ${c3}.... ......${c2}. ${c4}........... ${c3}... ....... ${c4}........... ${c3}................ ${c4}*********** ${c3}................ ${c4}########### ${c3}**************** ${c3}################ """) hyfetch-1.4.11/hyfetch/distros/aoscosretro_small.py000066400000000000000000000006471453247431100224710ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aoscosretro_small = AsciiArt(match=r'''"aoscosretro_small"''', color='4 7 1 3', ascii=r""" ${c2} _____ ${c1}_____${c2} -' '-${c1}| |${c2} / ___ ${c1}| |${c2} | / _ \${c1}|_____|${c2} ' / /_\ \ \ / _____ \${c4}___ ${c3}|${c2}/_/ ${c3}| ${c4}| | ${c3}| | ${c4}|___| ${c3}|_____| """) hyfetch-1.4.11/hyfetch/distros/aperio_gnu_linux.py000066400000000000000000000003561453247431100223020ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aperio_gnu_linux = AsciiArt(match=r'''"Aperio GNU/Linux"*''', color='255', ascii=r""" ${c2} _.._ _ ._.. _ (_][_)(/,[ |(_) | GNU/Linux """) hyfetch-1.4.11/hyfetch/distros/aperture.py000066400000000000000000000016171453247431100205630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aperture = AsciiArt(match=r'''"Aperture"*''', color='6 6 7 1', ascii=r""" ${c1} .,-:;//;:=, . :H@@@MM@M#H/.,+%;, ,/X+ +M@@M@MM%=,-%HMMM@X/, -+@MM; $M@@MH+-,;XMMMM@MMMM@+- ;@M@@M- XM@X;. -+XXXXXHHH@M@M#@/. ,%MM@@MH ,@%= .---=-=:=,. =@#@@@MX., -%HX$$%%%:; =-./@M@M$ .;@MMMM@MM: X@/ -$MM/ . +MM@@@M$ ,@M@H: :@: . =X#@@@@- ,@@@MMX, . /H- ;@M@M= .H@@@@M@+, %MM+..%#$. /MMMM@MMH/. XM@MH; =; /%+%$XHH@$= , .H@@@@MX, .=--------. -%H.,@@@@@MX, .%MM@@@HHHXX$$$%+- .:$MMX =M@@MM%. =XMMM@MM@MM#H;,-+HMM@M+ /MMMX= =%@M@M#@$-.=$@MM@@@M; %M%= ,:+$+-,/H#MMMMMMM@= =, =++%%%%+/:-. """) hyfetch-1.4.11/hyfetch/distros/apricity.py000066400000000000000000000012351453247431100205540ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt apricity = AsciiArt(match=r'''"Apricity"*''', color='4 7 1', ascii=r""" ${c2} ./o- ``...`` `:. -/: `-+ymNMMMMMNmho-` :sdNNm/ `+dMMMMMMMMMMMMMMMmo` sh:.:::- /mMMMMMMMMMMMMMMMMMMMm/`sNd/ oMMMMMMMMMMMMMMMMMMMMMMMs -` :MMMMMMMMMMMMMMMMMMMMMMMMM/ NMMMMMMMMMMMMMMMMMMMMMMMMMd MMMMMMMmdmMMMMMMMMMMMMMMMMd MMMMMMy` .mMMMMMMMMMMMmho:` MMMMMMNo/sMMMMMMMNdy+-.`-/ MMMMMMMMMMMMNdy+:.`.:ohmm: MMMMMMMmhs+-.`.:+ymNMMMy. MMMMMM/`.-/ohmNMMMMMMy- MMMMMMNmNNMMMMMMMMmo. MMMMMMMMMMMMMMMms:` MMMMMMMMMMNds/. dhhyys+/-` """) hyfetch-1.4.11/hyfetch/distros/arch.py000066400000000000000000000014161453247431100176460ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt arch = AsciiArt(match=r'''"Arch"*''', color='6 6 7 1', ascii=r""" ${c1} -` .o+` `ooo/ `+oooo: `+oooooo: -+oooooo+: `/:-:++oooo+: `/++++/+++++++: `/++++++++++++++: `/+++o${c2}oooooooo${c1}oooo/` ${c2} ${c1}./${c2}ooosssso++osssssso${c1}+` ${c2} .oossssso-````/ossssss+` -osssssso. :ssssssso. :osssssss/ osssso+++. /ossssssss/ +ssssooo/- `/ossssso+/:- -:/+osssso+- `+sso+:-` `.-/+oso: `++:. `-/+/ .` `/ """) hyfetch-1.4.11/hyfetch/distros/arch_old.py000066400000000000000000000013711453247431100205040ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt arch_old = AsciiArt(match=r'''"arch_old"''', color='6 7 1', ascii=r""" ${c1} __ _=(SDGJT=_ _GTDJHGGFCVS) ,GTDJGGDTDFBGX0 ${c1} JDJDIJHRORVFSBSVL${c2}-=+=,_ ${c1} IJFDUFHJNXIXCDXDSV,${c2} "DEBL ${c1} [LKDSDJTDU=OUSCSBFLD.${c2} '?ZWX, ${c1} ,LMDSDSWH' `DCBOSI${c2} DRDS], ${c1} SDDFDFH' !YEWD,${c2} )HDROD ${c1} !KMDOCG &GSU|${c2}\_GFHRGO\' ${c1} HKLSGP'${c2} __${c1}\TKM0${c2}\GHRBV)' ${c1}JSNRVW'${c2} __+MNAEC${c1}\IOI,${c2}\BN' ${c1}HELK['${c2} __,=OFFXCBGHC${c1}\FD) ${c1}?KGHE ${c2}\_-#DASDFLSV='${c1} 'EF 'EHTI !H `0F' '! """) hyfetch-1.4.11/hyfetch/distros/arch_small.py000066400000000000000000000004111453247431100210300ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt arch_small = AsciiArt(match=r'''"arch_small"''', color='6 7 1', ascii=r""" ${c1} /\ / \ /\ \ ${c2} / \ / ,, \ / | | -\ /_-'' ''-_\ """) hyfetch-1.4.11/hyfetch/distros/archbox.py000066400000000000000000000016211453247431100203550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt archbox = AsciiArt(match=r'''"ArchBox"*''', color='2 7 1', ascii=r""" ${c1} ...:+oh/:::.. ..-/oshhhhhh` `::::-. .:/ohhhhhhhhhhhh` `-::::. .+shhhhhhhhhhhhhhhhh` `.::-. /`-:+shhhhhhhhhhhhhh` .-/+shh / .:/ohhhhhhhhh` .:/ohhhhhhhh / `-:+shhh` ..:+shhhhhhhhhhhh / .:ohhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / .+o+ `hhhhhhhhhhhhhhhhhhhh / -hhhhh `hhhhhhhhhhhhhhhhhhhh / ohhhhho `hhhhhhhhhhhhhhhhhhhh /:::+`hhhhoos` `hhhhhhhhhhhhhhhhhs+` `--/:` /: `hhhhhhhhhhhho/- -/:. `hhhhhhs+:-` ::::/ho/-` """) hyfetch-1.4.11/hyfetch/distros/archcraft.py000066400000000000000000000056711453247431100206750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt archcraft = AsciiArt(match=r'''"Archcraft"*''', color='6 1 2 3 4 5', ascii=r""" ${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢰⡆${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢠⣿⣿⡄${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢀⣾⣿⣿⣿⡀${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣷⡀${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⣿⣷${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢼⣿⣿⣿⣿⣿⣿⣿⣿⣧${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣤⣈⠻⢿⣿⣿⣿⣿⣿⣿⣧${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣿⣿⣿⣿⣮⣿⣿⣿⣿⣿⣿⣿⣧${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⡿⣿⣿⡟${c6}⠄⠄${c1}⠸⣿⣿⡿⣿⣿⣿⣿⣿⣷⡀${c6}⠄⠄⠄⠄⠄⠄⠄⠄ ${c1}⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⡏${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠈⣿⣿⣿⣿⣿⣷⡀${c1}⠄⠄⠄⠄⠄⠄⠄ ${c2}⠄⠄⠄⠄⠄⠄${c1}⢀⣼⣿⣿⣿⣿⣿⣿⡗${c2}⠄⠄⠄${c1}⢀⣠⣤⣀⠄⠄⠄${c1}⠸⣿⣿⣿⣿⣿⣿⣷⡀${c2}⠄⠄⠄⠄⠄⠄ ${c3}⠄⠄⠄⠄⠄${c1}⢀⣾⣿⣿⣿⣿⣿⡏⠁${c3}⠄⠄⠄${c1}⢠⣿⣿⣿⣿⡇${c3}⠄⠄⠄⠄${c1}⢙⣿⣿⣻⠿⣿⣷⡀${c3}⠄⠄⠄⠄⠄ ${c4}⠄⠄⠄⠄${c1}⢀⣾⣿⣿⣿⣿⣿⣿⣷⣤⡀${c4}⠄⠄⠄${c1}⠻⣿⣿⡿⠃${c4}⠄⠄⠄${c1}⢀⣼⣿⣿⣿⣿⣦⣌⠙⠄${c4}⠄⠄⠄⠄ ${c5}⠄⠄⠄${c1}⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀${c5}⠄⠄⠄ ${c6}⠄⠄${c1}⢠⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⡄${c6}⠄⠄ ${c1}⠄${c1}⣠⣿⣿⣿⣿⠿⠛⠋⠁${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠉⠙⠻⢿⣿⣿⣿⣿⣆${c1}⠄ ${c1}⡰⠟⠛⠉⠁${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠉⠙⠛⠿⢆ """) hyfetch-1.4.11/hyfetch/distros/archcraft_ascii.py000066400000000000000000000015161453247431100220370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt archcraft_ascii = AsciiArt(match=r'''"archcraft_ascii"*''', color='6 1 2 3 4 5', ascii=r""" ${c1} -o\ :ooo: .ooooo. ooooooo. +oooooooo. -oooooooooo. --:-+oooooooo. yooo+=+sooooooo. yoooooosooooooooo. y+ooooooooooooooooo. yoooooooooooooooooooo` yoooooo+oo= :oo++ooooo` :oooooo. +ooooo- -ooooooo. .::. +ooosoo= -oooooo` .oooo` +os-=o= =ooooooo=: `oo+ :=ooo=--`. +ooooooooos. .=sooooooo+- .+osossos+-` `-+osososs+. :sss+=-:` `:-=+ssss: :=-:` `-=+: """) hyfetch-1.4.11/hyfetch/distros/archcraft_minimal.py000066400000000000000000000026051453247431100223750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt archcraft_minimal = AsciiArt(match=r'''"archcraft_minimal"*''', color='6 1 2 3 4 5', ascii=r""" ${c1} ⢰⡆ ⢠⣿⣿⡄ ⢀⣾⣿⣿⣿⡀ ⣼⣿⣿⣿⣿⣷⡀ ⣼⣿⣿⣿⣿⣿⣿⣷ ⢼⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣰⣤⣈⠻⢿⣿⣿⣿⣿⣿⣿⣧ ⣰⣿⣿⣿⣿⣮⣿⣿⣿⣿⣿⣿⣿⣧ ⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣼⣿⣿⣿⣿⣿⡿⣿⣿⡟ ⠸⣿⣿⡿⣿⣿⣿⣿⣿⣷⡀ ⣼⣿⣿⣿⣿⣿⡏ ⠈⣿⣿⣿⣿⣿⣷⡀ ⢀⣼⣿⣿⣿⣿⣿⣿⡗ ⢀⣠⣤⣀ ⠸⣿⣿⣿⣿⣿⣿⣷⡀ ⢀⣾⣿⣿⣿⣿⣿⡏⠁ ⢠⣿⣿⣿⣿⡇ ⢙⣿⣿⣻⠿⣿⣷⡀ ⢀⣾⣿⣿⣿⣿⣿⣿⣷⣤⡀ ⠻⣿⣿⡿⠃ ⢀⣼⣿⣿⣿⣿⣦⣌⠙ ⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏ ⢿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀ ⢠⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁ ⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⡄ ⣠⣿⣿⣿⣿⠿⠛⠋⠁ ⠉⠙⠻⢿⣿⣿⣿⣿⣆ ⡰⠟⠛⠉⠁ ⠉⠙⠛⠿⢆ """) hyfetch-1.4.11/hyfetch/distros/archlabs.py000066400000000000000000000020061453247431100205040ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt archlabs = AsciiArt(match=r'''"ARCHlabs"*''', color='6 6 7 1', ascii=r""" ${c1} 'c' 'kKk, .dKKKx. .oKXKXKd. .l0XXXXKKo. c0KXXXXKX0l. :0XKKOxxOKX0l. :OXKOc. .c0XX0l. :OK0o. ${c4}...${c1}'dKKX0l. :OX0c ${c4};xOx'${c1}'dKXX0l. :0KKo.${c4}.o0XXKd'.${c1}lKXX0l. c0XKd.${c4}.oKXXXXKd..${c1}oKKX0l. .c0XKk;${c4}.l0K0OO0XKd..${c1}oKXXKo. .l0XXXk:${c4},dKx,.'l0XKo.${c1}.kXXXKo. .o0XXXX0d,${c4}:x; .oKKx'${c1}.dXKXXKd. .oKXXXXKK0c.${c4};. :00c'${c1}cOXXXXXKd. .dKXXXXXXXXk,${c4}. cKx'${c1}'xKXXXXXXKx' 'xKXXXXK0kdl:. ${c4}.ok; ${c1}.cdk0KKXXXKx' 'xKK0koc,.. ${c4}'c, ${c1} ..,cok0KKk, ,xko:'. ${c4}.. ${c1} .':okx; .,'. .',. """) hyfetch-1.4.11/hyfetch/distros/archmerge.py000066400000000000000000000014341453247431100206660ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt archmerge = AsciiArt(match=r'''"ArchMerge"*''', color='6 6 7 1', ascii=r""" ${c1} y: sMN- +MMMm` /MMMMMd` :NMMMMMMy -NMMMMMMMMs .NMMMMMMMMMM+ .mMMMMMMMMMMMM+ oNMMMMMMMMMMMMM+ `+:-+NMMMMMMMMMMMM+ .sNMNhNMMMMMMMMMMMM/ `hho/sNMMMMMMMMMMMMMMM/ `.`omMMmMMMMMMMMMMMMMMMM+ .mMNdshMMMMd+::oNMMMMMMMMMo .mMMMMMMMMM+ `yMMMMMMMMMs .NMMMMMMMMM/ yMMMMMMMMMy -NMMMMMMMMMh `mNMMMMMMMMd` /NMMMNds+:.` `-/oymMMMm. +Mmy/. `:smN: /+. -o. """) hyfetch-1.4.11/hyfetch/distros/archstrike.py000066400000000000000000000016271453247431100210740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt archstrike = AsciiArt(match=r'''"ArchStrike"*''', color='8 6', ascii=r""" ${c1} * **. **** ****** ******* ** ******* **** ******* ${c1}****${c2}_____${c1}***${c2}/${c1}* ***${c2}/${c1}*******${c2}//${c1}*** **${c2}/${c1}********${c2}///${c1}*${c2}/${c1}** **${c2}/${c1}*******${c2}////${c1}***${c2}/${c1}** **${c2}/${c1}****${c2}//////.,${c1}****${c2}/${c1}** ***${c2}/${c1}*****${c2}/////////${c1}**${c2}/${c1}*** ****${c2}/${c1}**** ${c2}/////${c1}***${c2}/${c1}**** ******${c2}/${c1}*** ${c2}//// ${c1}**${c2}/${c1}****** ********${c2}/${c1}* ${c2}/// ${c1}*${c2}/${c1}******** ,****** ${c2}// ______ / ${c1}******, """) hyfetch-1.4.11/hyfetch/distros/arcolinux.py000066400000000000000000000015541453247431100207400ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt arcolinux = AsciiArt(match=r'''"ArcoLinux"*''', color='7 4', ascii=r""" ${c2} /- ooo: yoooo/ yooooooo yooooooooo yooooooooooo .yooooooooooooo .oooooooooooooooo .oooooooarcoooooooo .ooooooooo-oooooooooo .ooooooooo- oooooooooo :ooooooooo. :ooooooooo :ooooooooo. :ooooooooo :oooarcooo .oooarcooo :ooooooooy .ooooooooo :ooooooooo ${c1}/ooooooooooooooooooo${c2} :ooooooooo ${c1}.-ooooooooooooooooo.${c2} ooooooooo- ${c1}-ooooooooooooo.${c2} ooooooooo- ${c1}.-oooooooooo.${c2} ooooooooo. ${c1}-ooooooooo${c2} """) hyfetch-1.4.11/hyfetch/distros/arcolinux_small.py000066400000000000000000000006221453247431100221230ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt arcolinux_small = AsciiArt(match=r'''"arcolinux_small"*''', color='7 4', ascii=r""" ${c2} A ooo ooooo ooooooo ooooooooo ooooo ooooo ooooo ooooo ooooo ooooo ooooo ${c1}${c2} ooooo ${c1}${c2} ooooo ${c1}${c2} """) hyfetch-1.4.11/hyfetch/distros/arselinux.py000066400000000000000000000033311453247431100207410ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt arselinux = AsciiArt(match=r'''"ArseLinux"*''', color='4 7', ascii=r""" ${c1} ⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⣴⣶⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣄⠀⠀⠀⠀⣼⠟⠁⠀⠀⢀⣀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⢀⣤⡀⠀⠀⠀⠉⢻⣷⡄⠀⠀⠁⠀⢀⣤⣾⡿⠟⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣷⣿⠏⠀⠀⠀⠀⠀⠀⠹⣿⡄⠀⠀⠀⠙⠉⠁⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⡄⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠀⠀⠀⠠⣶⣶⣶⡶ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⢠⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠂⠀⠀⠀⠀⠀⢀⣾⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠇⠀⠀⠀⠀⠀⣠⣾⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣇⣀⣀⣀⣠⣴⣾⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⣤⣤⣴⣶⣾⠿⠟⣿⡏⠙⠛⠛⠛⠋⠉⢀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣿⡄⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⠇⠀⠀⠀⠀⠀⠀⠘⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ """) hyfetch-1.4.11/hyfetch/distros/artix.py000066400000000000000000000014101453247431100200520ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt artix = AsciiArt(match=r'''"Artix"*''', color='6 6 7 1', ascii=r""" ${c1} ' 'o' 'ooo' 'ooxoo' 'ooxxxoo' 'oookkxxoo' 'oiioxkkxxoo' ':;:iiiioxxxoo' `'.;::ioxxoo' '-. `':;jiooo' 'oooio-.. `'i:io' 'ooooxxxxoio:,. `'-;' 'ooooxxxxxkkxoooIi:-. `' 'ooooxxxxxkkkkxoiiiiiji' 'ooooxxxxxkxxoiiii:'` .i' 'ooooxxxxxoi:::'` .;ioxo' 'ooooxooi::'` .:iiixkxxo' 'ooooi:'` `'';ioxxo' 'i:'` '':io' '` `' """) hyfetch-1.4.11/hyfetch/distros/artix_small.py000066400000000000000000000006711453247431100212520ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt artix_small = AsciiArt(match=r'''"artix_small"*''', color='6 6 7 1', ascii=r""" ${c1} ' 'A' 'ooo' 'ookxo' `ookxxo' '. `ooko' 'ooo`. `oo' 'ooxxxoo`. `' 'ookxxxkooo.` . 'ookxxkoo'` .'oo' 'ooxoo'` .:ooxxo' 'io'` `'oo' '` `' """) hyfetch-1.4.11/hyfetch/distros/arya.py000066400000000000000000000014551453247431100176700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt arya = AsciiArt(match=r'''"Arya"*''', color='2 1', ascii=r""" ${c1} `oyyy/${c2}-yyyyyy+ ${c1} -syyyy/${c2}-yyyyyy+ ${c1} .syyyyy/${c2}-yyyyyy+ ${c1} :yyyyyy/${c2}-yyyyyy+ ${c1} `/ :yyyyyy/${c2}-yyyyyy+ ${c1} .+s :yyyyyy/${c2}-yyyyyy+ ${c1} .oys :yyyyyy/${c2}-yyyyyy+ ${c1} -oyys :yyyyyy/${c2}-yyyyyy+ ${c1} :syyys :yyyyyy/${c2}-yyyyyy+ ${c1} /syyyys :yyyyyy/${c2}-yyyyyy+ ${c1} +yyyyyys :yyyyyy/${c2}-yyyyyy+ ${c1} .oyyyyyyo. :yyyyyy/${c2}-yyyyyy+ --------- ${c1} .syyyyyy+` :yyyyyy/${c2}-yyyyy+-+syyyyyyyy ${c1} -syyyyyy/ :yyyyyy/${c2}-yyys:.syyyyyyyyyy ${c1}:syyyyyy/ :yyyyyy/${c2}-yyo.:syyyyyyyyyyy """) hyfetch-1.4.11/hyfetch/distros/asahi.py000066400000000000000000000020361453247431100200150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt asahi = AsciiArt(match=r'''"Asahi"*''', color='3 2 1 8 7 6 4', ascii=r""" ${c1} ## ${c2}** ${c1}*####${c2}****. ${c1}###${c2}, ${c3}...,${c1}/#${c3},,,.. ${c3}/*,,,,,,,,${c1}*${c3},........${c4},, ${c3},((((((//*,,,,,,,,${c4},...... ${c3}((((((((((((((${c5}%..${c4}.......... ${c3},(((((((((((((((${c5}@@(${c4}............ ${c3}(((((((((((((((((${c5}@@@@/${c4}............ ${c3},((((((((((((((((((${c5}@@@@@&*${c4}........... ${c3}((((((((((((((((((((${c5}@@@@@@@&${c4},........... ${c3}(((((((((((((((((((((${c5}@@@${c6}&%&${c5}@@@%${c4},.......... ${c3}/(((((((((((((((((((${c5}@@@${c6}&%%&${c5}@@@@(${c4}........ ${c3},((((((((((((((((${c5}@@@${c6}&&${c5}@@&/&@@@/${c4}.. ${c3}/((((((((((((${c5}@@@@@@/${c4}.../&& ${c3}.(((((((((${c5}@@@@(${c4}.... ${c3}/(((((${c5}@@#${c4}... ${c3}.((${c4}&, """) hyfetch-1.4.11/hyfetch/distros/aster.py000066400000000000000000000013541453247431100200500ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt aster = AsciiArt(match=r'''"Aster"*''', color='6 6', ascii=r""" ${c1} ...''... ${c1} .;oOXWMWNXXXNMMN0d:. ${c1} .oXMWOo;.. ..:oO; ${c1} ;KMWx, co, ${c1} 'KMNl dMMW. ${c1} oMMx xMMMMk ${c1} xMM: dMMMMMM; ${c1} cMMl dMMMMMMMW ${c1} NMK xMMMx::dXMx ${c1} ,MMl xMMN' .o. ${c1} cMM; dMMW' ${c1} ;MMc oMMW, ${c1} WMK dMMW, ccccccc. ${c1} lMMl oMMM; ooooooo. ${c1} OMMc ... ${c1} xMMx ${c1} ;XMN: ${c1} ,. """) hyfetch-1.4.11/hyfetch/distros/asteroidos.py000066400000000000000000000014521453247431100211050ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt asteroidos = AsciiArt(match=r'''"AsteroidOS"*''', color='160 208 202 214', ascii=r""" ${c1} *** ${c1} ***** ${c1} ********** ${c1} *************** ${c1} *///****////****////. ${c2} (/////// /////// ///////( ${c2} /(((((//* //, //((((((. ${c2} ((((((((((( ((( (((((((( ${c2} *((((((((((((((((((((((( (((((((( ${c3} (((((#(((((((#((((( ((#((((( ${c3} (#(#(#####(#(#, ####(#(# ${c3} ######### ######## ${c3} /######## ######## ${c4} #######%####### ${c4} (#%%%%%%%# ${c4} %%%%% ${c4} %%% """) hyfetch-1.4.11/hyfetch/distros/astos.py000066400000000000000000000016311453247431100200610ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt astos = AsciiArt(match=r'''"astOS"*''', color='8', ascii=r""" ${c1} oQA#$%UMn H 9 G # 6 % ?#M#%KW3" // \\ // \\ // \\ // \\ n%@$DK&ML .0O3#@&M_ P # 8 W H U G # B N O @ C&&#%HNAR 'WS3QMHB" // \\ \\ // \\ \\ // \\ \\ // \\ \\ uURF$##Bv nKWB$%ABc aM@3R@D@b 8 M @ O # % % & G U @ @ & @ # % % # !HGN@MNCf t&$9#%HQr ?@G#6S@QP """) hyfetch-1.4.11/hyfetch/distros/astra_linux.py000066400000000000000000000030721453247431100212620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt astra_linux = AsciiArt(match=r'''"Astra Linux"*''', color='160 231', ascii=r""" ${c1} AA ${c1} AaaA ${c1} Aa${c2}/\${c1}aA ${c1} Aa${c2}/${c1}aa${c2}\${c1}aA ${c1} Aa${c2}/${c1}aAAa${c2}\${c1}aA ${c1} aA${c2}/${c1}aaAAaa${c2}\${c1}Aa ${c1} aA${c2}/${c1}aaAAAAaa${c2}\${c1}Aa ${c1} aaaaaaAAAAa${c2}/${c1}aaAAAAAAaa${c2}\${c1}aAAAAaaaaa ${c1} aAAa${c2}-----${c1}aaaaaAAAAAAAAAAaaaaa${c2}-----${c1}aAAa ${c1} aAA${c2}\ ${c1}aAAAAAAAAAAAAAAAAAAAAAAa${c2} /${c1}AAa ${c1} aAa${c2}\${c1}aAAA${c2}\${c1}AAAA${c2}\${c1}AAAA${c2}\${c1}AAA${c2}\${c1}AAa${c2}/${c1}aAa ${c1} aAa${c2}\${c1}aA${c2}\\${c1}AAA${c2}\\${c1}AAA${c2}\\${c1}AA${c2}\\/${c1}aAa ${c1} aAA${c2}\${c1}aA${c2}\\${c1}AAA${c2}\\${c1}AAA${c2}\\${c1}Aa${c2}/${c1}AAa ${c1} aA${c2}\${c1}aA${c2}\\${c1}AAA${c2}\\${c1}AAA${c2}\\/${c1}Aa ${c1} aA${c2}/${c1}AA${c2}\\\${c1}AA${c2}\\\${c1}AA${c2}\\\${c1}Aa ${c1} aA${c2}/\${c1}AAa${c2}\\\${c1}Aa${c2}\\\${c1}Aa${c2}\\\${c1}Aa ${c1} aA${c2}/\\${c1}AAa${c2}\\/\${c1}a${c2}\\\${c1}Aa${c2}\\${c1}Aa ${c1} aA${c2}/${c1}a${c2}\\\${c1}Aa${c2}\/${c1}AA${c2}\\\\\${c1}Aa${c2}\\${c1}Aa ${c1} aA${c2}/${c1}aA${c2}\\/${c1}aAa aAa${c2}\\\${c1}Aa${c2}\${c1}Aa ${c1} aA${c2}/\${c1}A${c2}\/${c1}Aa aA${c2}\\${c1}A${c2}\\${c1}Aa ${c1} A${c2}|/${c1}aaAa aAaa${c2}\|${c1}A ${c1} aAaa aaAa """) hyfetch-1.4.11/hyfetch/distros/athena.py000066400000000000000000000020351453247431100201670ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt athena = AsciiArt(match=r'''"Athena"*''', color='7 3', ascii=r""" ${c1} . .. ${c1} :####: ####. ${c1} .################ ${c1} :################## ${c1}.###################. ${c1}######## ####### ${c1}####### ${c2}####${c1} ##### ${c1}:#######. #### ${c1} ######### ${c2}#${c1} ## # ${c1} ####### ${c2}##${c1} #### ${c1}######## ${c2}####${c1} ####### ${c1}######## ${c2}#####${c1} ######## ${c1}######## ${c2}#######${c1} ####### ${c1} ####### ${c2}########${c1} ####### ${c1} ######## ${c2}#########${c1} ###### ${c1} ######## ${c2}#########${c1} ##### ${c1} ####### ${c2}#########${c1} #### ${c1} ####### ${c2}#########${c1} ## ${c1} ####### ${c2}########${c1} ## ${c1} ###### ${c2}########${c1} # ${c1} ### ${c2}#######${c1} ${c1} ${c2}######${c1} ${c1} ${c2}####${c1} ${c1} ${c2}##${c1} """) hyfetch-1.4.11/hyfetch/distros/azos.py000066400000000000000000000024571453247431100177130ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt azos = AsciiArt(match=r'''"azos"*''', color='6 1', ascii=r""" ${c1} ////. ${c2} ((((( ${c1} //////// ${c2} @(((((((( ${c1} //////// ${c2} @(((((((( ${c1} //////// /////// ${c2} ((((((( @(((((((( ${c1} //////// ///////// ${c2} ((((((((( @(((((((( ${c1} //////// ///////// ${c2} ((((((((( @(((((((( ${c1} //////// ///////// ////// ${c2} (((((( ((((((((( @(((((((( ${c1} //////// ///////// //////// ${c2} (((((((( ((((((((( @(((((((( ${c1} //////// ///////// //////// ${c2} (((((((( ((((((((( @(((((((( ${c1} //////// ///////// //////// ${c2} ((((((( ((((((((( @(((((((( ${c1} //////// ///////// /// ${c2} ( ((((((((( @(((((((( ${c1} //////// ///////// ${c2} ((((((((( @(((((((( ${c1} //////// ///////// ${c2} &(((((((( @(((((((( ${c1} //////// ////// ${c2} @(((( @(((((((( ${c1} //////// ${c2} @(((((((( ${c1} //////// ${c2} @(((((((( ${c1} ///// ${c2} ((((( """) hyfetch-1.4.11/hyfetch/distros/bedrock.py000066400000000000000000000016561453247431100203500ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt bedrock = AsciiArt(match=r'''"Bedrock"*''', color='8 7', ascii=r""" ${c1}-------------------------------------- -------------------------------------- -------------------------------------- ---${c2}\\\\\\\\\\\\${c1}----------------------- ----${c2}\\\ \\\${c1}---------------------- -----${c2}\\\ \\\${c1}--------------------- ------${c2}\\\ \\\\\\\\\\\\\\\\\${c1}------ -------${c2}\\\ \\\${c1}----- --------${c2}\\\ \\\${c1}---- ---------${c2}\\\ ______ \\\${c1}--- ----------${c2}\\\ ///${c1}--- -----------${c2}\\\ ///${c1}---- ------------${c2}\\\ ///${c1}----- -------------${c2}\\\////////////////${c1}------ -------------------------------------- -------------------------------------- -------------------------------------- """) hyfetch-1.4.11/hyfetch/distros/biglinux.py000066400000000000000000000016101453247431100205460ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt biglinux = AsciiArt(match=r'''"BigLinux"*''', color='6 11 4', ascii=r""" ${c1} ... :OWMMMNd. :NMMMMMMMMWc okkl. kMMMMMW0xdOWMl : xMMMMMW. kMMMMNc lW. :x NMMMMMO ,MMMM0. 'l Xx "lkk" kMMMX .okx, ${c2}.MX .cc;. .xXKx. KMMM: .OMMMMMl :MM' 'KMMMMWK: 0MMMMk xMMM. lWMMMMMMM' cMMN:;xMMMMk::MMO oMMMMX .XMM. .KMMMWOOMMMd 'MMMMMMMMN, NMMx OMMMMl .kM0OMMMMk. ;MMd xMMMMMMd .MMMW :NMMMd .ckKKx' KMc dWMNd. oMMMN lkNMX, oM. ;. ;MMMMx "MM:. cO ${c3} .X. oMMMMW. l. dMk:..;xWMMMMW, kMMMMMMMMMMX. :XMMMMMMK: ':MM:" Made in Brazil """) hyfetch-1.4.11/hyfetch/distros/bitrig.py000066400000000000000000000006301453247431100202060ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt bitrig = AsciiArt(match=r'''"Bitrig"*''', color='2 7', ascii=r""" ${c1} `hMMMMN+ -MMo-dMd` oMN- oMN` yMd /NM: .mMmyyhMMs :NMMMhsmMh +MNhNNoyMm- hMd.-hMNMN: mMmsssmMMMo .MMdyyhNMMMd oMN.`/dMddMN` yMm/hNm+./MM/ .dMMMmo.``.NMo :NMMMNmmmmmMMh /MN/-------oNN: hMd. .dMh sm/ /ms """) hyfetch-1.4.11/hyfetch/distros/blackarch.py000066400000000000000000000017751453247431100206530ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt blackarch = AsciiArt(match=r'''"BlackArch"*''', color='1 1 0 1', ascii=r""" ${c3} 00 11 ====${c1} .${c3}//${c1} `o${c3}//${c1}: `+o${c3}//${c1}o: `+oo${c3}//${c1}oo: -+oo${c3}//${c1}oo+: `/:-:+${c3}//${c1}ooo+: `/+++++${c3}//${c1}+++++: `/++++++${c3}//${c1}++++++: `/+++o${c2}ooo${c3}//${c2}ooo${c1}oooo/` ${c2} ${c1}./${c2}ooosssso${c3}//${c2}osssssso${c1}+` ${c2} .oossssso-`${c3}//${c1}`/ossssss+` -osssssso. ${c3}//${c1} :ssssssso. :osssssss/ ${c3}//${c1} osssso+++. /ossssssss/ ${c3}//${c1} +ssssooo/- `/ossssso+/:- ${c3}//${c1} -:/+osssso+- `+sso+:-` ${c3}//${c1} `.-/+oso: `++:. ${c3}//${c1} `-/+/ .` ${c3}/${c1} `/ """) hyfetch-1.4.11/hyfetch/distros/blackpanther.py000066400000000000000000000051071453247431100213700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt blackpanther = AsciiArt(match=r'''"blackPanther"* | 'blackpanther'*''', color='1 11 12', ascii=r""" ${c3} ........ .,»╔╗╗╬▄▄╫█▀▓▄▄╬╗╗g≈,. ,j╗╬╣▓▓███████▌;»╙▀▀▀▀█▄▄╗j, .≈╗╬▓██▀▀▀▀▀╠╙░░»»;:`${c2}``>${c1}▄ ${c3}▐ ▓╫╗⌂, .j╬▓█▀▒░░░░░░░░░»»»;:```` ╙▀█▌╬░, ;╗▓█▄▄███████▀░░»»»»;```` ╓▄▄█▄▄φ ██▌Ñ>. .j╣█████▀▀░░░░░░░░»»╓▄▄¿``▄███████/▄████▓╬U. .j╣▓██▀ÜÑ╦╦░░░░░░▐█@▄████⌐▐███████████████▓╬H. «╫▓█▀░ÑÑ╩╦░░░░░░░░▀██████M"▀███████████████▓╫░ :]╣█▌ÑÑÑÑ▄▄██▀░░░░»»██████████████████████████Ñ~ »╫▓█╫ÑÑ▄███▀░░░░░»»▐██████████████████████████▌░ `j╣█▌Ñ╬████░░░░░░░»»▐████████████████████████▌▐█U` `/╫█▌▄███▌░░░░░░░»»»;▀██████████████▀████████w▐█░` ;╟█▌███▌░░░░░░░▄▄»»;:`▀▀████████▀Ü▄████████▌ ▐▌>` `]▓████░░░░░░░░██⌂;:````╓▄▄µp╓▄▄██████████▀ ,█M` "╠╣██▌░░░░░░░»██▌;```` ╙▀██████████████M █▀" "╟╣█░░░░░░░░»███⌂``` ▐▀████████▀░ █▌░` "╩█▄░░░░░░»»▀███ `` └└` ,█▀"` `░▀█▄░░░»»»»████@ .▄█Ü` `╙▀█▄@»»»;`▀███▌¿ ,▄▀Ñ"` `"╨▀█▄▄▄░`▐█████▄, ,▄▄▀▀░` `"╙╩▀▀▀▀████████▓▌▌▌▀▀▀╨"`` ``""░╚╨╝╝╝╝╨╨░""`` """) hyfetch-1.4.11/hyfetch/distros/blag.py000066400000000000000000000011271453247431100176350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt blag = AsciiArt(match=r'''"BLAG"*''', color='5 7', ascii=r""" ${c1} d ,MK: xMMMX: .NMMMMMX; lMMMMMMMM0clodkO0KXWW: KMMMMMMMMMMMMMMMMMMX' .;d0NMMMMMMMMMMMMMMMMMMK. .;dONMMMMMMMMMMMMMMMMMMMMMMx 'dKMMMMMMMMMMMMMMMMMMMMMMMMl .:xKWMMMMMMMMMMMMMMMMMMM0. .:xNMMMMMMMMMMMMMMMMMK. lMMMMMMMMMMMMMMMMMMK. ,MMMMMMMMWkOXWMMMMMM0 .NMMMMMNd. `':ldko OMMMK: oWk, ;: """) hyfetch-1.4.11/hyfetch/distros/blankon.py000066400000000000000000000020111453247431100203450ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt blankon = AsciiArt(match=r'''"BlankOn"*''', color='1 7 3', ascii=r""" ${c2} `./ohdNMMMMNmho+.` ${c1} .+oo:` ${c2} -smMMMMMMMMMMMMMMMMmy-` ${c1}`yyyyy+ ${c2} `:dMMMMMMMMMMMMMMMMMMMMMMd/` ${c1}`yyyyys ${c2} .hMMMMMMMNmhso/++symNMMMMMMMh- ${c1}`yyyyys ${c2} -mMMMMMMms-` -omMMMMMMN-${c1}.yyyyys ${c2}.mMMMMMMy. .yMMMMMMm:${c1}yyyyys ${c2}sMMMMMMy `sMMMMMMh${c1}yyyyys ${c2}NMMMMMN: .NMMMMMN${c1}yyyyys ${c2}MMMMMMm. NMMMMMN${c1}yyyyys ${c2}hMMMMMM+ /MMMMMMN${c1}yyyyys ${c2}:NMMMMMN: :mMMMMMM+${c1}yyyyys ${c2} oMMMMMMNs- .sNMMMMMMs.${c1}yyyyys ${c2} +MMMMMMMNho:.` `.:ohNMMMMMMNo ${c1}`yyyyys ${c2} -hMMMMMMMMNNNmmNNNMMMMMMMMh- ${c1}`yyyyys ${c2} :yNMMMMMMMMMMMMMMMMMMNy:` ${c1}`yyyyys ${c2} .:sdNMMMMMMMMMMNds/. ${c1}`yyyyyo ${c2} `.:/++++/:.` ${c1}:oys+. """) hyfetch-1.4.11/hyfetch/distros/bluelight.py000066400000000000000000000021161453247431100207060ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt bluelight = AsciiArt(match=r'''"BlueLight"*''', color='7 4', ascii=r""" ${c1} oMMNMMMMMMMMMMMMMMMMMMMMMM oMMMMMMMMMMMMMMMMMMMMMMMMM oMMMMMMMMMMMMMMMMMMMMMMMMM oMMMMMMMMMMMMMMMMMMMMMMMMM -+++++++++++++++++++++++mM${c2} ```````````````````````..${c1}dM${c2} ```````````````````````....${c1}dM${c2} ```````````````````````......${c1}dM${c2} ```````````````````````........${c1}dM${c2} ```````````````````````..........${c1}dM${c2} ```````````````````````............${c1}dM${c2} .::::::::::::::::::::::-..............${c1}dM${c2} `-+yyyyyyyyyyyyyyyyyyyo............${c1}+mMM${c2} -+yyyyyyyyyyyyyyyyo..........${c1}+mMMMM${c2} ./syyyyyyyyyyyyo........${c1}+mMMMMMM${c2} ./oyyyyyyyyyo......${c1}+mMMMMMMMM${c2} omdyyyyyyo....${c1}+mMMMMMMMMMM${c2} ${c1}oMMM${c2}mdhyyo..${c1}+mMMMMMMMMMMMM oNNNNNNm${c2}dso${c1}mMMMMMMMMMMMMMM """) hyfetch-1.4.11/hyfetch/distros/bodhi.py000066400000000000000000000022221453247431100200120ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt bodhi = AsciiArt(match=r'''"Bodhi"*''', color='7 11 2', ascii=r""" ${c1}| ${c2},,mmKKKKKKKKWm,, ${c1}' ${c2},aKKP${c1}LL**********|L*${c2}TKp, ${c1}t ${c2}aKP${c1}L**``` ```**L${c2}*Kp IX${c1}EL${c3}L,wwww, ${c1}``*||${c2}Kp ,#P${c1}L|${c3}KKKpPP@IPPTKmw, ${c1}`*||${c2}K ,K${c1}LL*${c3}{KKKKKKPPb$KPhpKKPKp ${c1}`||${c2}K #${c1}PL ${c3}!KKKKKKPhKPPP$KKEhKKKKp ${c1}`||${c2}K !H${c1}L* ${c3}1KKKKKKKphKbPKKKKKK$KKp ${c1}`|I${c2}W $${c1}bL ${c3}KKKKKKKKBQKhKbKKKKKKKK ${c1}|I${c2}N $${c1}bL ${c3}!KKKKKKKKKKNKKKKKKKPP` ${c1}|I${c2}b TH${c1}L* ${c3}TKKKKKK##KKKN@KKKK^ ${c1}|I${c2}M K@${c1}L ${c3}*KKKKKKKKKKKEKE5 ${c1}||${c2}K `NL${c1}L ${c3}`KKKKKKKKKK"```|L ${c1}||${c2}#P `K@${c1}LL ${c3}`"**"` ${c1}'. :||${c2}#P Yp${c1}LL ${c1}' |L${c2}$M` `Tp${c1}pLL, ,|||${c2}p'L "Kpp${c1}LL++,., ,,|||$${c2}#K* ${c1}'. ${c2}`"MKWpppppppp#KM"` ${c1}`h, """) hyfetch-1.4.11/hyfetch/distros/bonsai.py000066400000000000000000000011021453247431100201740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt bonsai = AsciiArt(match=r'''"bonsai"*''', color='6 2 3', ascii=r""" ${c2} ,####, ${c2}#######, ${c2},#####, ${c2}#####',# ${c2}'###### ${c2}''###'${c3}';,,,'${c2}###' ${c3} ,; '''' ${c3} ;;; ${c2},#####, ${c3} ;;;' ,,;${c2};;### ${c3} ';;;;''${c2}'####' ${c3} ;;; ${c3} ,.;;';'',,, ${c3} ' ' ${c1} # # O ##, ,##,',##, ,## ,#, , # # # # #''# #,, # # # '#' '##' # # ,,# '##;, # """) hyfetch-1.4.11/hyfetch/distros/bsd.py000066400000000000000000000013521453247431100175000ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt bsd = AsciiArt(match=r'''*"BSD"''', color='1 7 4 3 6', ascii=r""" ${c1} , , /( )` \ \___ / | /- _ `-/ ' (${c2}/\/ \ ${c1}\ /\ ${c2}/ / | ` ${c1}\ ${c3}O O ${c2}) ${c1}/ | ${c2}`-^--'${c1}`< ' (_.) _ ) / `.___/` / `-----' / ${c4}<----. __ / __ \ ${c4}<----|====${c1}O)))${c4}==${c1}) \) /${c4}====| <----' ${c1}`--' `.__,' \ | | \ / /\ ${c5}______${c1}( (_ / \______/ ${c5},' ,-----' | `--{__________) """) hyfetch-1.4.11/hyfetch/distros/bunsenlabs.py000066400000000000000000000007571453247431100210740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt bunsenlabs = AsciiArt(match=r'''"BunsenLabs"*''', color='fg 7', ascii=r""" ${c1} `++ -yMMs `yMMMMN` -NMMMMMMm. :MMMMMMMMMN- .NMMMMMMMMMMM/ yMMMMMMMMMMMMM/ `MMMMMMNMMMMMMMN. -MMMMN+ /mMMMMMMy -MMMm` `dMMMMMM `MMN. .NMMMMM. hMy yMMMMM` -Mo +MMMMN /o +MMMMs +MMMN` hMMM: `NMM/ +MN: mh. -/ """) hyfetch-1.4.11/hyfetch/distros/cachyos.py000066400000000000000000000031211453247431100203550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cachyos = AsciiArt(match=r'''"CachyOS"*''', color='2 8 6', ascii=r""" ${c3} ${c2}.${c3}-------------------------: ${c3} .${c1}+=${c3}========================. ${c3} :${c1}++${c3}===${c1}++===${c3}===============- :${c1}++${c3}- ${c3} :${c1}*++${c3}====${c1}+++++==${c3}===========- .==: ${c3} -${c1}*+++${c3}=====${c1}+***++=${c3}=========: ${c3} =${c1}*++++=${c3}=======------------: ${c3} =${c1}*+++++=${c3}====- ${c2}...${c3} ${c3} .${c1}+*+++++${c3}=-===: .${c1}=+++=${c3}: ${c3} :${c1}++++${c3}=====-==: -***${c1}**${c3}+ ${c3} :${c1}++=${c3}=======-=. .=+**+${c2}.${c3} ${c3}.${c1}+${c3}==========-. ${c2}.${c3} ${c3} :${c1}+++++++${c3}====- ${c2}.${c3}--==-${c2}.${c3} ${c3} :${c1}++${c3}==========. ${c2}:${c1}+++++++${c3}${c2}: ${c3} .-===========. =*****+*+ ${c3} .-===========: .+*****+: ${c3} -=======${c1}++++${c3}:::::::::::::::::::::::::-: ${c2}.${c3}---: ${c3} :======${c1}++++${c3}====${c1}+++******************=. ${c3} :=====${c1}+++${c3}==========${c1}++++++++++++++*- ${c3} .====${c1}++${c3}==============${c1}++++++++++*- ${c3} .===${c1}+${c3}==================${c1}+++++++: ${c3} .-=======================${c1}+++: ${c3} ${c2}.......................... """) hyfetch-1.4.11/hyfetch/distros/calculate.py000066400000000000000000000020541453247431100206650ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt calculate = AsciiArt(match=r'''"Calculate"*''', color='7 3', ascii=r""" ${c1} ...... ,,+++++++,. .,,,....,,,${c2}+**+,,.${c1} ............,${c2}++++,,,${c1} ............... ......,,,........ .....+*#####+,,,*+. .....,*###############,..,,,,,,.. ......,*#################*..,,,,,..,,,.. .,,....*####################+***+,,,,...,++, .,,..,..*#####################*, ,+,.+*..*#######################. ,+,,+*+..,########################* .,++++++. ..+##**###################+ ..... ..+##***#################*. .,.*#*****##############*. ..,,*********#####****+. ${c2}.,++*****+++${c1}*****************${c2}+++++,.${c1} ${c2},++++++**+++++${c1}***********${c2}+++++++++,${c1} ${c2}.,,,,++++,.. .,,,,,.....,+++,.,,${c1} """) hyfetch-1.4.11/hyfetch/distros/calinixos.py000066400000000000000000000075721453247431100207330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt calinixos = AsciiArt(match=r'''"CalinixOS"''', color='4 5 4 4 4 4', ascii=r""" ${c2} ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⠔⠒⠒⠋⠉⠉⠉⠉⠓⠒⠒⠦⠤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⠒⠉⣁⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⣈⠙⠲⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠴⠋⢁⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡈⠑⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣠⠞⢁⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠈⠢⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⠞⠁⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠋⠉⠁⠀⠀⠀⠀⠈⠉⠙⠛⠿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠈⢢⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⡰⠃⣠⣾⣿⣿⣿⣿⣿⣿⡿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⡿⠁⠀⠀⠀⠀⠀⠀⠙⣄⠀⠀⠀⠀ ⠀⠀⠀⡼⠁⣴⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠀ ⠀⠀⡼⠀⣼⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣆⠀⠀ ⠀⣰⠁⣸⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠉⠻⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄⠀ ⢀⡇⢠⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀ ⢸⠀⣸⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄ ⣼⠀⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ ⡇⠀⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢛⣿⣿⣿⣿⣿⣿⣿⡦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ ⢻⠀⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ ⢸⡀⢹⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠃ ⠀⣇⠘⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠀ ⠀⠸⡄⢹⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠃⠀ ⠀⠀⢳⡀⢻⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠈⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠀⠀ ⠀⠀⠀⠳⡀⠻⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣄⡀⠀⠀⠀⠀⢠⠏⠀⠀⠀ ⠀⠀⠀⠀⠙⣄⠙⢿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣦⡀⠀⡰⠃⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠢⡈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⡀⠀⠀⠀⠀⢀⣀⣠⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣠⠞⠁⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠈⠢⡈⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⣡⠞⠁⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠓⢤⡈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⣁⠴⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⠢⢄⣉⠙⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠛⠋⣉⡤⠖⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠓⠒⠢⠤⠤⠤⠤⠤⠤⠤⠤⠖⠒⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ """) hyfetch-1.4.11/hyfetch/distros/calinixos_small.py000066400000000000000000000030571453247431100221150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt calinixos_small = AsciiArt(match=r'''"CalinixOS_small"*''', color='4 5 4 4 4 4', ascii=r""" ${c2} ⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⠐⣂⣈⣩⣭⣭⣍⣀⣐⠀⠄⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⡀⠔⣨⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣅⠢⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠠⢊⣴⣾⣿⣿⣿⣿⠿⠟⠛⠛⠛⠛⠻⠿⣿⣿⣿⣿⠃⠀⠠⡀⠀⠀⠀ ⠀⠀⡐⢡⣾⣿⣿⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠁⠀⠀⠀⠈⢆⠀⠀ ⠀⡘⢰⣿⣿⣿⡟⠁⠀⠀⢀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢂⠀ ⢠⢠⣿⣿⣿⡟⠀⠀⠀⠀⠀⠙⠿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡀ ⡄⢸⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁ ⡇⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣹⣿⣿⣿⣷⠄⠀⠀⠀⠀⠀⠀⠀⠀ ⠃⢸⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⡿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⡀ ⠘⡘⣿⣿⣿⣧⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠁ ⠀⠡⠸⣿⣿⣿⣧⡀⠀⠀⠀⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⢀⠆⠀ ⠀⠀⠡⡘⢿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣷⣦⡀⢀⠊⠀⠀ ⠀⠀⠀⠈⠊⡻⢿⣿⣿⣿⣿⣶⣤⣤⣤⣤⣤⣤⣶⣿⣿⣿⣿⡿⢟⠕⠁⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠢⢙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⡩⠐⠁⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠐⠂⠭⠉⠙⣛⣛⠋⠉⠭⠐⠂⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ """) hyfetch-1.4.11/hyfetch/distros/carbs.py000066400000000000000000000010321453247431100200150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt carbs = AsciiArt(match=r'''"Carbs"*''', color='4 5 4 4 4 4', ascii=r""" ${c2} .......... ..,;:ccccccc:;'.. ..,clllc:;;;;;:cllc,. .,cllc,... ..';;'. .;lol;.. .. .,lol;. .coo:. .'lol,. .,lol,. .,lol,. 'col;. .:ooc'. .'col:. .'cllc'.. .''. ..:lolc,'.......',cll,. ..;cllllccccclllc;'. ...',;;;;;;,,... ..... """) hyfetch-1.4.11/hyfetch/distros/cbl_mariner.py000066400000000000000000000013411453247431100212030ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cbl_mariner = AsciiArt(match=r'''"CBL-Mariner"*''', color='6', ascii=r""" ${c1} . :- . :==. .=: :===: -==: :-===: .====: :-====- -=====: -====== :=======: -======. .=========: -======: -==========. -======- -===========. :======- :===========. :=======. .-==========. :=======: -==========. :=======- :==========. :=======- .-========- :--------. :========- ..:::--=========- ..::---================-=- """) hyfetch-1.4.11/hyfetch/distros/celos.py000066400000000000000000000021321453247431100200320ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt celos = AsciiArt(match=r'''"CelOS"*''', color='4 6 0 5', ascii=r""" ${c4} .,cmmmmmmmmmmmc,. .,cmMMMMMMMMMMMMMMMMMMMMmc. .cMMMMMMMMMMMMMMMMMMMMMMMMMMMmc. .cMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMc. ,:MMM ${c3}####################################${c4} cMMMMMMmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmc. .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMc "******************************MMMMMMMMMMMMMc: ${c3}#################################### ${c4}MMMMMMMMMMMMMc "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM: "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" 'MMMMMMMMM*******************************: \"MMMMMM ${c3}##################################### ${c4}`:MMMMMMmmmmmmmmmmmmmmmmmmmmmmmmmmmmm; `"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" `":MMMMMMMMMMMMMMMMMMMMMMMMM;' `":MMMMMMMMMMMMMMMMMMM:" "************" """) hyfetch-1.4.11/hyfetch/distros/center.py000066400000000000000000000007451453247431100202150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt center = AsciiArt(match=r'''"Center"*''', color='7 7', ascii=r""" ${c2} . o, . d, . ';' ..d;.. .cl' .:; 'oldO,.oo. ..,:,xKXxoo;'. ,;;;;;ldxkONMMMXxkxc;;;;;. .....':oddXWMNOxlcl:...... .:dlxk0c;:. . :d:.,xcld,.,:. ;l, .l; ';' .o; l, """) hyfetch-1.4.11/hyfetch/distros/centos.py000066400000000000000000000017111453247431100202220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt centos = AsciiArt(match=r'''"CentOS"*''', color='3 2 4 5 7', ascii=r""" ${c1} .. .PLTJ. <><><><> ${c2}KKSSV' 4KKK ${c1}LJ${c4} KKKL.'VSSKK ${c2}KKV' 4KKKKK ${c1}LJ${c4} KKKKAL 'VKK ${c2}V' ' 'VKKKK ${c1}LJ${c4} KKKKV' ' 'V ${c2}.4MA.' 'VKK ${c1}LJ${c4} KKV' '.4Mb. ${c4} . ${c2}KKKKKA.' 'V ${c1}LJ${c4} V' '.4KKKKK ${c3}. ${c4} .4D ${c2}KKKKKKKA.'' ${c1}LJ${c4} ''.4KKKKKKK ${c3}FA. ${c4} ${c4} 'VD ${c3}KKKKKKKK'.. ${c2}LJ ${c1}..'KKKKKKKK ${c3}FV ${c4} ' ${c3}VKKKKK'. .4 ${c2}LJ ${c1}K. .'KKKKKV ${c3}' ${c3} 'VK'. .4KK ${c2}LJ ${c1}KKA. .'KV' ${c3}A. . .4KKKK ${c2}LJ ${c1}KKKKA. . .4 ${c3}KKA. 'KKKKK ${c2}LJ ${c1}KKKKK' .4KK ${c3}KKSSA. VKKK ${c2}LJ ${c1}KKKV .4SSKK ${c2} <><><><> 'MKKM' '' """) hyfetch-1.4.11/hyfetch/distros/centos_small.py000066400000000000000000000005301453247431100214100ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt centos_small = AsciiArt(match=r'''"centos_small"*''', color='3 2 4 5 7', ascii=r""" ${c2} ____${c1}^${c4}____ ${c2} |\ ${c1}|${c4} /| ${c2} | \ ${c1}|${c4} / | ${c4}<---- ${c3}----> ${c3} | / ${c2}|${c1} \ | ${c3} |/__${c2}|${c1}__\| ${c2} v """) hyfetch-1.4.11/hyfetch/distros/chakra.py000066400000000000000000000013371453247431100201640ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt chakra = AsciiArt(match=r'''"Chakra"*''', color='4 5 7 6', ascii=r""" ${c1} _ _ _ "kkkkkkkk. ,kkkkkkkk., 'kkkkkkkkk, ,kkkkkkkkkkkk., 'kkkkkkkkk. ,kkkkkkkkkkkkkkkk,'kkkkkkkk, ,kkkkkkkkkkkkkkkkkkk'kkkkkkk. "''"''',;::,,"''kkk''kkkkk; __ ,kkkkkkkkkk, "k''kkkkk' ,kkkk ,kkkkkkk' ., ' .: 'kkkk',kkkkkk ,kkkkkkkk'.k' , ,kkkk;kkkkkkkkk ,kkkkkkkk';kk 'k "'k',kkkkkkkkkkkk .kkkkkkkkk.kkkk.'kkkkkkkkkkkkkkkkkk' ;kkkkkkkk''kkkkkk;'kkkkkkkkkkkkk'' 'kkkkkkk; 'kkkkkkkk.,""''"''"" ''kkkk; 'kkkkkkkkkk., ';' 'kkkkkkkkkkkk., ';kkkkkkkkkk' ';kkkkkk' "''" """) hyfetch-1.4.11/hyfetch/distros/chaletos.py000066400000000000000000000016211453247431100205310ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt chaletos = AsciiArt(match=r'''"ChaletOS"*''', color='4 7 1', ascii=r""" ${c1} `.//+osso+/:`` `/sdNNmhyssssydmNNdo:` :hNmy+-` .-+hNNs- /mMh/` `+:` `+dMd: .hMd- -sNNMNo. /yyy /mMs` -NM+ `/dMd/--omNh::dMM `yMd` .NN+ .sNNs:/dMNy:/hNmo/s yMd` hMs `/hNd+-smMMMMMMd+:omNy- `dMo :NM. .omMy:/hNMMMMMMMMMMNy:/hMd+` :Md` /Md` `sm+.omMMMMMMMMMMMMMMMMd/-sm+ .MN: /Md` MMMMMMMMMMMMMMMMMMMN .MN: :NN. MMMMMMm....--NMMMMMN -Mm. `dMo MMMMMMd mMMMMMN hMs -MN: MMMMMMd mMMMMMN oMm` :NM: MMMMMMd mMMMMMN +Mm- -mMy. mmmmmmh dmmmmmh -hMh. oNNs- :yMm/ .+mMdo:` `:smMd/` -ohNNmhsoo++osshmNNh+. `./+syyhhyys+:`` """) hyfetch-1.4.11/hyfetch/distros/chapeau.py000066400000000000000000000015021453247431100203330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt chapeau = AsciiArt(match=r'''"Chapeau"*''', color='2 7', ascii=r""" ${c1} .-/-. ////////. ////////${c2}y+${c1}//. ////////${c2}mMN${c1}/////. ////////${c2}mMN+${c1}////////. ////////////////////////. /////////+${c2}shhddhyo${c1}+////////. ////////${c2}ymMNmdhhdmNNdo${c1}///////. ///////+${c2}mMms${c1}////////${c2}hNMh${c1}///////. ///////${c2}NMm+${c1}//////////${c2}sMMh${c1}/////// //////${c2}oMMNmmmmmmmmmmmmMMm${c1}/////// //////${c2}+MMmssssssssssssss+${c1}/////// `//////${c2}yMMy${c1}//////////////////// `//////${c2}smMNhso++oydNm${c1}//////// `///////${c2}ohmNMMMNNdy+${c1}/////// `//////////${c2}++${c1}////////// `////////////////. -////////- """) hyfetch-1.4.11/hyfetch/distros/chonkysealos.py000066400000000000000000000016651453247431100214410ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt chonkysealos = AsciiArt(match=r'''"ChonkySealOS"*''', color='7', ascii=r""" ${c1} .-/-. .:-=++****++=-:. .:=+*##%%%%%%%%%%##*+=:. :=*#%%%%%%%%%%%%%%%%%%%%#*=: :=*#%%%%%%%%%%%%%%%%%%%%%%%%#*=. -+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+- =+#%%%%@@@@@@@%%%%%%%@@@@@@@%%%%%#+= =+#@%%%%*+=-==*%%%%%%%#+====*%%%%%@#+= :+*%%%%@* +@%%%@# -@%%%%%*+: =+#%%%%%%#+====*###%%##*=--=+*%%%%%%%#+= +*%%%%%%%@@##%%%%*=::=#%%%##%@%%%%%%%%*+ +*%%%%%%%@**@%%%%%@==@%%%%%@+#%%%%%%%%*+ =+#%%%%%%@#*@%%%%%%**%%%%%@%+%%%%%%%%#+= :+*%%%%%%%@#*####**###*####*%@%%%%%%%*+: =+#@%%%%%%@%%%%%%%@@%%%%%%%%%%%%%%@#+= =+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+= -+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%*+- .=*#%%%%%%%%%%%%%%%%%%%%%%%%#*=. :=*##%%%%%%%%%%%%%%%%%%##*=: .:=+*##%%%%%%%%%%##*+=:. .:-=++****++=-:. """) hyfetch-1.4.11/hyfetch/distros/chrom.py000066400000000000000000000020021453247431100200310ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt chrom = AsciiArt(match=r'''"Chrom"*''', color='2 1 3 4 7', ascii=r""" ${c2} .,:loool:,. .,coooooooooooooc,. .,lllllllllllllllllllll,. ;ccccccccccccccccccccccccc; ${c1} '${c2}ccccccccccccccccccccccccccccc. ${c1} ,oo${c2}c::::::::okO${c5}000${c3}0OOkkkkkkkkkkk: ${c1}.ooool${c2};;;;:x${c5}K0${c4}kxxxxxk${c5}0X${c3}K0000000000. ${c1}:oooool${c2};,;O${c5}K${c4}ddddddddddd${c5}KX${c3}000000000d ${c1}lllllool${c2};l${c5}N${c4}dllllllllllld${c5}N${c3}K000000000 ${c1}lllllllll${c2}o${c5}M${c4}dccccccccccco${c5}W${c3}K000000000 ${c1};cllllllllX${c5}X${c4}c:::::::::c${c5}0X${c3}000000000d ${c1}.ccccllllllO${c5}Nk${c4}c;,,,;cx${c5}KK${c3}0000000000. ${c1} .cccccclllllxOO${c5}OOO${c1}Okx${c3}O0000000000; ${c1} .:ccccccccllllllllo${c3}O0000000OOO, ${c1} ,:ccccccccclllcd${c3}0000OOOOOOl. ${c1} '::ccccccccc${c3}dOOOOOOOkx:. ${c1} ..,::cccc${c3}xOOOkkko;. ${c1} ..,:${c3}dOkxl:. """) hyfetch-1.4.11/hyfetch/distros/cleanjaro.py000066400000000000000000000014701453247431100206670ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cleanjaro = AsciiArt(match=r'''"Cleanjaro"*''', color='7 7', ascii=r""" ${c1}███████▌ ████████████████ ███████▌ ████████████████ ███████▌ ████████████████ ███████▌ ███████▌ ███████▌ ███████▌ ███████▌ █████████████████████████ █████████████████████████ █████████████████████████ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ """) hyfetch-1.4.11/hyfetch/distros/cleanjaro_small.py000066400000000000000000000006511453247431100220570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cleanjaro_small = AsciiArt(match=r'''"cleanjaro_small"*''', color='7 7', ascii=r""" ${c1}█████ ██████████ █████ ██████████ █████ █████ █████ ████████████████ ████████████████ """) hyfetch-1.4.11/hyfetch/distros/clear_linux_os.py000066400000000000000000000013601453247431100217350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt clear_linux_os = AsciiArt(match=r'''"Clear Linux OS"* | "Clear_Linux"*''', color='4 3 7 6', ascii=r""" ${c1} BBB BBBBBBBBB BBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB BBBBBBBBBBB BBB BBBBBBBB${c2}YYYYY ${c1} BBBBBBBB${c2}YYYYYY ${c1} BBBBBBBB${c2}YYYYYYY ${c1} BBBBBBBBB${c2}YYYYY${c3}W ${c4} GG${c1}BBBBBBBY${c2}YYYY${c3}WWW ${c4} GGG${c1}BBBBBBB${c2}YY${c3}WWWWWWWW ${c4} GGGGGG${c1}BBBBBB${c3}WWWWWWWW ${c4} GGGGGGGG${c1}BBBB${c3}WWWWWWWW ${c4}GGGGGGGGGGG${c1}BBB${c3}WWWWWWW ${c4}GGGGGGGGGGGGG${c1}B${c3}WWWWWW ${c4}GGGGGGGG${c3}WWWWWWWWWWW ${c4}GG${c3}WWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWW WWWWWWWWWW WWW """) hyfetch-1.4.11/hyfetch/distros/clearos.py000066400000000000000000000016051453247431100203610ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt clearos = AsciiArt(match=r'''"ClearOS"*''', color='2', ascii=r""" ${c1} `.--::::::--.` .-:////////////////:-. `-////////////////////////-` -////////////////////////////- `//////////////-..-//////////////` ./////////////: ://///////////. `//////:..-////: :////-..-//////` ://////` -///:.``.:///-` ://///: `///////:. -////////-` `:///////` .//:--////:. -////-` `:////--://. ./: .////:. --` `:////- :/. `//-` .////:. `:////- `-//` :///-` .////:. `:////- `-///: `/////-` -///: :///- `-/////` `//////- `///: :///` .//////` `:////: `///: :///` -////:` .://: `///: :///` -//:. .:: `///: :///` -:. `///: :///` `... ...` """) hyfetch-1.4.11/hyfetch/distros/clover.py000066400000000000000000000015471453247431100202300ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt clover = AsciiArt(match=r'''"Clover"*''', color='2 6', ascii=r""" ${c1} `omo``omo` `oNMMMNNMMMNo` `oNMMMMMMMMMMMMNo` oNMMMMMMMMMMMMMMMMNo `sNMMMMMMMMMMMMMMNs` `omo` `sNMMMMMMMMMMNs` `omo` `oNMMMNo` `sNMMMMMMNs` `oNMMMNo` `oNMMMMMMMNo` `oNMMNs` `oNMMMMMMMNo` oNMMMMMMMMMMMNo` `sy` `oNMMMMMMMMMMMNo `sNMMMMMMMMMMMMNo.${c2}oNNs${c1}.oNMMMMMMMMMMMMNs` `oNMMMMMMMMMMMMNs.${c2}oNNs${c1}.oNMMMMMMMMMMMMNo` oNMMMMMMMMMMMNs` `sy` `oNMMMMMMMMMMMNo `oNMMMMMMMNs` `oNMMNo` `oNMMMMMMMNs` `oNMMMNs` `sNMMMMMMNs` `oNMMMNs` `oNs` `sNMMMMMMMMMMNs` `oNs` `sNMMMMMMMMMMMMMMNs` +NMMMMMMMMMMMMMMMMNo `oNMMMMMMMMMMMMNo` `oNMMMNNMMMNs` `omo``oNs` """) hyfetch-1.4.11/hyfetch/distros/cobalt.py000066400000000000000000000015671453247431100202040ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cobalt = AsciiArt(match=r'''"Cobalt"*''', color='33 33 59 31 8', ascii=r""" ${c1} /// ${c1} ,////////////// ${c1} /////////////////////////////// ${c1} ///////////////${c5}***********${c1}////// ////${c5}***********************${c1}///// /////${c5}***********************${c1}//// //////${c5},,,,,,,,,,,,,,,,,,,,,,${c1}/// //////${c5},,,,,,,,,,,,,,,,,,,,,,,,,${c1}///// /////${c5},,,,,,,,,,,,,,,,,,,,,,,,,,,,${c1}///// ${c4} *****${c3},,,,,,,,,,,,,,,,,,,,,,,,,,,,,${c4}***** ******${c3},,,,,,,,,,,,,,,,,,,,,,,,,,,,${c4}***** *******${c3},,,,,,,,,,,,,,,,,,,,,,,,,${c4}****** *******${c3}......................${c4}******* ******${c3}....${c4}*********************** **************************** ***** """) hyfetch-1.4.11/hyfetch/distros/condres.py000066400000000000000000000021211453247431100203600ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt condres = AsciiArt(match=r'''"Condres"*''', color='2 3 6', ascii=r""" ${c1}syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+${c3}.+. ${c1}`oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+${c3}:++. ${c2}/o${c1}+oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/${c3}oo++. ${c2}/y+${c1}syyyyyyyyyyyyyyyyyyyyyyyyyyyyy${c3}+ooo++. ${c2}/hy+${c1}oyyyhhhhhhhhhhhhhhyyyyyyyyy${c3}+oo+++++. ${c2}/hhh+${c1}shhhhhdddddhhhhhhhyyyyyyy${c3}+oo++++++. ${c2}/hhdd+${c1}oddddddddddddhhhhhyyyys${c3}+oo+++++++. ${c2}/hhddd+${c1}odmmmdddddddhhhhyyyy${c3}+ooo++++++++. ${c2}/hhdddmo${c1}odmmmdddddhhhhhyyy${c3}+oooo++++++++. ${c2}/hdddmmms${c1}/dmdddddhhhhyyys${c3}+oooo+++++++++. ${c2}/hddddmmmy${c1}/hdddhhhhyyyyo${c3}+oooo++++++++++: ${c2}/hhdddmmmmy${c1}:yhhhhyyyyy+${c3}+oooo+++++++++++: ${c2}/hhddddddddy${c1}-syyyyyys+${c3}ooooo++++++++++++: ${c2}/hhhddddddddy${c1}-+yyyy+${c3}/ooooo+++++++++++++: ${c2}/hhhhhdddddhhy${c1}./yo:${c3}+oooooo+++++++++++++/ ${c2}/hhhhhhhhhhhhhy${c1}:-.${c3}+sooooo+++++++++++///: ${c2}:sssssssssssso++${c1}${c3}`:/:--------.```````` """) hyfetch-1.4.11/hyfetch/distros/container_linux_by_coreos.py000066400000000000000000000021061453247431100241730ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt container_linux_by_coreos = AsciiArt(match=r'''"Container Linux by CoreOS"* | "Container_Linux"*''', color='4 7 1', ascii=r""" ${c1} ..... .';:cccccccc:;'. ':ccccclc${c3}lllllllll${c1}cc:. .;cccccccc${c3}lllllllllllllll${c1}c, ;clllccccc${c3}llllllllllllllllll${c1}c, .cllclccccc${c3}lllll${c2}lll${c3}llllllllllll${c1}c: ccclclcccc${c3}cllll${c2}kWMMNKk${c3}llllllllll${c1}c: :ccclclcccc${c3}llll${c2}oWMMMMMMWO${c3}lllllllll${c1}c, .ccllllllccc${c3}clll${c2}OMMMMMMMMM0${c3}lllllllll${c1}c .lllllclcccc${c3}llll${c2}KMMMMMMMMMMo${c3}llllllll${c1}c. .lllllllcccc${c3}clll${c2}KMMMMMMMMN0${c3}lllllllll${c1}c. .cclllllcccc${c3}lllld${c2}xkkxxdo${c3}llllllllllc${c1}lc :cccllllllcccc${c3}lllccllllcclccc${c1}cccccc; .ccclllllllcccccccc${c3}lll${c1}ccccclccccccc .cllllllllllclcccclccclccllllcllc :cllllllllccclcllllllllllllcc; .cccccccccccccclcccccccccc:. .;cccclccccccllllllccc,. .';ccccclllccc:;.. ..... """) hyfetch-1.4.11/hyfetch/distros/crux.py000066400000000000000000000013541453247431100177130ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt crux = AsciiArt(match=r'''"CRUX"*''', color='4 5 7 6', ascii=r""" ${c1} odddd oddxkkkxxdoo ddcoddxxxdoool xdclodod olol xoc xdd olol xdc ${c2}k00${c1}Okdlol xxd${c2}kOKKKOkd${c1}ldd xdco${c2}xOkdlo${c1}dldd ddc:cl${c2}lll${c1}oooodo odxxdd${c3}xkO000kx${c1}ooxdo oxdd${c3}x0NMMMMMMWW0od${c1}kkxo oooxd${c3}0WMMMMMMMMMW0o${c1}dxkx docldkXW${c3}MMMMMMMWWN${c1}Odolco xx${c2}dx${c1}kxxOKN${c3}WMMWN${c1}0xdoxo::c ${c2}xOkkO${c1}0oo${c3}odOW${c2}WW${c1}XkdodOxc:l ${c2}dkkkxkkk${c3}OKX${c2}NNNX0Oxx${c1}xc:cd ${c2} odxxdx${c3}xllod${c2}ddooxx${c1}dc:ldo ${c2} lodd${c1}dolccc${c2}ccox${c1}xoloo """) hyfetch-1.4.11/hyfetch/distros/crux_small.py000066400000000000000000000005241453247431100211010ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt crux_small = AsciiArt(match=r'''"crux_small" | KISS*''', color='4 5 7 6', ascii=r""" ${c1} ___ (${c3}.· ${c1}| (${c2}<> ${c1}| / ${c3}__ ${c1}\ ( ${c3}/ \ ${c1}/| ${c2}_${c1}/\ ${c3}__)${c1}/${c2}_${c1}) ${c2}\/${c1}-____${c2}\/ """) hyfetch-1.4.11/hyfetch/distros/crystal_linux.py000066400000000000000000000015011453247431100216240ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt crystal_linux = AsciiArt(match=r'''*"Crystal Linux"*''', color='13 5', ascii=r""" ${c1} mysssym ${c1} mysssym ${c1} mysssym ${c1} mysssym ${c1} mysssyd ${c1} mysssyd N ${c1} mysssyd mysym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysym dysssym ${c1} N dysssym ${c1} dysssym ${c1} dysssym ${c1} dysssym ${c1} dysssym ${c1} dysssym """) hyfetch-1.4.11/hyfetch/distros/cucumber.py000066400000000000000000000021201453247431100205270ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cucumber = AsciiArt(match=r'''*"Cucumber"*''', color='2 3', ascii=r""" ${c1} `.-://++++++//:-.` `:/+//${c2}::--------${c1}:://+/:` -++/:${c2}----..........----${c1}:/++- .++:${c2}---...........-......---${c1}:++. /+:${c2}---....-::/:/--//:::-....---${c1}:+/ `++:${c2}--.....:---::/--/::---:.....--${c1}:++` /+:${c2}--.....--.--::::-/::--.--.....--${c1}:+/ -o:${c2}--.......-:::://--/:::::-.......--${c1}:o- /+:${c2}--...-:-::---:::..:::---:--:-...--${c1}:+/ o/:${c2}-...-:.:.-/:::......::/:.--.:-...-${c1}:/o o/${c2}--...::-:/::/:-......-::::::-/-...-${c1}:/o /+:${c2}--..-/:/:::--:::..:::--::////-..--${c1}:+/ -o:${c2}--...----::/:::/--/:::::-----...--${c1}:o- /+:${c2}--....://:::.:/--/:.::://:....--${c1}:+/ `++:${c2}--...-:::.--.:..:.--.:/:-...--${c1}:++` /+:${c2}---....----:-..-:----....---${c1}:+/ .++:${c2}---..................---${c1}:++. -/+/:${c2}----..........----${c1}:/+/- `:/+//${c2}::--------:::${c1}/+/:` `.-://++++++//:-.` """) hyfetch-1.4.11/hyfetch/distros/cutefishos.py000066400000000000000000000007761453247431100211150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cutefishos = AsciiArt(match=r'''"CutefishOS"*''', color='6 7 4', ascii=r""" ${c1} ___ww___ _ _wwMMM@M^^^^MMMMww_ M0w_ _wMMM~~ ~~MMm_ ~MMy _ww0M~ ~MMy ~MMMM~ o "MM ${c3} jw0M~~MMMw_ _wMM' wMM~ ~~MMmw__ __w0M~ ~ ~~MM0MmwwwwwwwwwMMM~ ~~~~^^~~~ """) hyfetch-1.4.11/hyfetch/distros/cuteos.py000066400000000000000000000013241453247431100202310ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cuteos = AsciiArt(match=r'''"CuteOS"*''', color='33 50 57', ascii=r""" ${c2} ${c3}1ua${c2} ${c3}MMM1ua${c2} ${c1}MM${c2}EE ${c3} MMMMM1uazE${c2} ${c1}MM ${c2}EEEE ${c3}M1MM1uazzEn ${c2}EEEE MME EEEEE ${c3}MMM uazEno ${c2}EEEE EEEEE${c1}MMMMMMEno~; ${c2}EE E${c2} EE ${c1}MMMMMMMM~;;E ${c2}MMMMM M ${c2} E ${c1}MMMMMMMMM ${c2} E E ${c2} ${c1}MMMMMMMMMMM ${c1}MMMMMMMMM ${c2}EE ${c1} MM1MMMM ${c2}EEE ${c1} MMMMM MMM M """) hyfetch-1.4.11/hyfetch/distros/cyberos.py000066400000000000000000000014371453247431100204020ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt cyberos = AsciiArt(match=r'''"CyberOS"*''', color='50 32 57', ascii=r""" ${c3} !M$EEEEEEEEEEEP .MMMMM000000Nr. ${c3}&MMMMMM${c2}MMMMMMMMMMMMM9 ${c3}~MMM${c1}MMMM${c2}MMMMMMMMMMMMC ${c1}" ${c3}M${c1}MMMMMMM${c2}MMMMMMMMMMs ${c1}iM${c2}MMM&&${c1}MMMMMMMM${c2}MMMMMMMM\ ${c1}BMMM${c2}MMMMM${c1}MMMMMMM${c2}MMMMMM${c3}" ${c1}9MMMMM${c2}MMMMMMM${c1}MMMM${c2}MMMM${c3}MMMf- ${c2}sMMMMMMMM${c1}MM${c2}M${c3}MMMMMMMMM3_ ${c2}+ffffffff${c1}P${c3}MMMMMMMMMMMM0 ${c2}CMMMMMMMMMMM }MMMMMMMMM ~MMMMMMM "RMMMM .PMB """) hyfetch-1.4.11/hyfetch/distros/dahlia.py000066400000000000000000000013261453247431100201530ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt dahlia = AsciiArt(match=r'''"dahlia"*''', color='1 7 3', ascii=r""" ${c1} .#. *%@@@%* .,,,,,(&@@@@@@@&/,,,,,. ,#@@@@@@@@@@@@@@@@@@@@@#. ,#@@@@@@@&#///#&@@@@@@@#. ,/%&@@@@@%/, .,(%@@@@@&#/. *#&@@@@@@#,. .*#@@@@@@&#, .&@@@@@@@@@( .(@@@@@@@@@&&. #@@@@@@@@@@( )@@@@@@@@@@@# °@@@@@@@@@@( .(@@@@@@@@@@@° *%@@@@@@@(. ,#@@@@@@@%* ,(&@@@@@@%*. ./%@@@@@@%(, ,#@@@@@@@&(***(&@@@@@@@#. ,#@@@@@@@@@@@@@@@@@@@@@#. ,*****#&@@@@@@@&(*****, ,/%@@@%/. ,#, """) hyfetch-1.4.11/hyfetch/distros/darkos.py000066400000000000000000000053421453247431100202160ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt darkos = AsciiArt(match=r'''"DarkOs"''', color='1 6 5 3 2', ascii=r""" ${c3}⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⠋⡆⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡆⢀⣤⢛⠛⣠⣿⠀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c6}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣿⠟⣡⠊⣠⣾⣿⠃⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c2}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣯⣿⠀⠊⣤⣿⣿⣿⠃⣴⣧⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡟⣠⣶⣿⣿⣿⢋⣤⠿⠛⠉⢁⣭⣽⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c4} ⠀⠀⠀⠀⠀⠀ ⠀⣠⠖⡭⢉⣿⣯⣿⣯⣿⣿⣿⣟⣧⠛⢉⣤⣶⣾⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⣴⣫⠓⢱⣯⣿⢿⠋⠛⢛⠟⠯⠶⢟⣿⣯⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c2}⠀⠀⠀⠀⠀⠀⢀⡮⢁⣴⣿⣿⣿⠖⣠⠐⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠛⠛⠛⢿⣶⣄⠀⠀⠀⠀⠀⠀⠀ ${c3}⠀⠀⠀⠀⢀⣤⣷⣿⣿⠿⢛⣭⠒⠉⠀⠀⠀⣀⣀⣄⣤⣤⣴⣶⣶⣶⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ${c1}⠀⢀⣶⠏⠟⠝⠉⢀⣤⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⣟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c6}⢴⣯⣤⣶⣿⣿⣿⣿⣿⡿⣿⣯⠉⠉⠉⠉⠀⠀⠀⠈⣿⡀⣟⣿⣿⢿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠉⠛⣿⣧⠀⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠃⣿⣿⣯⣿⣦⡀⠀⠉⠻⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c3}⠀⠀⠀⠀⠀⠀⠉⢿⣮⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠀⣯⠉⠉⠛⢿⣿⣷⣄⠀⠈⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀ ${c2}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠢⠀⠀⠀⠀⠀⠀⠀⢀⢡⠃⣾⣿⣿⣦⠀⠀⠀⠙⢿⣿⣤⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀ ${c6}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢋⡟⢠⣿⣿⣿⠋⢿⣄⠀⠀⠀⠈⡄⠙⣶⣈⡄⠀⠀⠀⠀⠀⠀ ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠚⢲⣿⠀⣾⣿⣿⠁⠀⠀⠉⢷⡀⠀⠀⣇⠀⠀⠈⠻⡀⠀⠀⠀⠀⠀ ${c4}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⣀⣿⡏⠀⣿⡿⠀⠀⠀⠀⠀⠀⠙⣦⠀⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c3}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠿⣧⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣮⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ """) hyfetch-1.4.11/hyfetch/distros/darwin.py000066400000000000000000000012301453247431100202070ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt darwin = AsciiArt(match=r'''"Darwin"''', color='2 3 1 1 5 4', ascii=r""" ${c1} c.' ,xNMM. .OMMMMo lMMM" .;loddo:. .olloddol;. cKMMMMMMMMMMNWMMMMMMMMMM0: ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd. XMMMMMMMMMMMMMMMMMMMMMMMX. ${c3};MMMMMMMMMMMMMMMMMMMMMMMM: :MMMMMMMMMMMMMMMMMMMMMMMM: ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX. kMMMMMMMMMMMMMMMMMMMMMMMMWd. ${c5}'XMMMMMMMMMMMMMMMMMMMMMMMMMMk 'XMMMMMMMMMMMMMMMMMMMMMMMMK. ${c6}kMMMMMMMMMMMMMMMMMMMMMMd ;KMMMMMMMWXXWMMMMMMMk. "cooc*" "*coo'" """) hyfetch-1.4.11/hyfetch/distros/debian.py000066400000000000000000000010761453247431100201550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt debian = AsciiArt(match=r'''"Debian"*''', color='1 7 3', ascii=r""" ${c2} _,met$$$$$gg. ,g$$$$$$$$$$$$$$$P. ,g$$P" "\""Y$$.". ,$$P' `$$$. ',$$P ,ggs. `$$b: `d$$' ,$P"' ${c1}.${c2} $$$ $$P d$' ${c1},${c2} $$P $$: $$. ${c1}-${c2} ,d$$' $$; Y$b._ _,d$P' Y$$. ${c1}`.${c2}`"Y$$$$P"' ${c2} `$$b ${c1}"-.__ ${c2} `Y$$ `Y$$. `$$b. `Y$$b. `"Y$b._ `"\"" """) hyfetch-1.4.11/hyfetch/distros/debian_small.py000066400000000000000000000003411453247431100213370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt debian_small = AsciiArt(match=r'''"debian_small"''', color='1 7 3', ascii=r""" ${c1} _____ / __ \ | / | | \___- -_ --_ """) hyfetch-1.4.11/hyfetch/distros/deepin.py000066400000000000000000000014331453247431100201740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt deepin = AsciiArt(match=r'''"Deepin"*''', color='2 7', ascii=r""" ${c1} ............ .';;;;;. .,;,. .,;;;;;;;. ';;;;;;;. .;::::::::' .,::;;,''''',. ,'.:::::::: .;;'. '; ;' 'cccccc, ,' :: '.. .: ,, :ccccc. ;: .c, '' :. ,; .l. cllll' ., .lc :; .l' l. .c :lllc ;cl: .l' .ll. :' .l 'looc. . ,o: 'oo' c, .o. .:ool::coc' .ooo' o. :: ..... .;dddo ;c l:... .';lddddo. ,o lxxxxxdoolllodxxxxxxxxxc :l ,dxxxxxxxxxxxxxxxxxxl. 'o, ,dkkkkkkkkkkkkko;. .;o; .;okkkkkdl;. .,cl:. .,:cccccccc:,. """) hyfetch-1.4.11/hyfetch/distros/desaos.py000066400000000000000000000023721453247431100202110ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt desaos = AsciiArt(match=r'''"DesaOS"''', color='2 7', ascii=r""" ${c1}███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ██████████████████████████████ ██████████████████████████████ ████████████████████████ ████████████████████████ ████████████████████████ """) hyfetch-1.4.11/hyfetch/distros/devuan.py000066400000000000000000000010431453247431100202070ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt devuan = AsciiArt(match=r'''"Devuan"*''', color='5 7', ascii=r""" ${c1} ..,,;;;::;,.. `':ddd;:,. `'dPPd:,. `:b$$b`. 'P$$$d` .$$$$$` ;$$$$$P .:P$$$$$$` .,:b$$$$$$$;' .,:dP$$$$$$$$b:' .,:;db$$$$$$$$$$Pd'` ,db$$$$$$$$$$$$$$b:'` :$$$$$$$$$$$$b:'` `$$$$$bd:''` `'''` """) hyfetch-1.4.11/hyfetch/distros/dietpi.py000066400000000000000000000015121453247431100202040ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt dietpi = AsciiArt(match=r'''"DietPi"*''', color='2 0', ascii=r""" ${c1} :=+******+- -+******+=: =#-::-::::-=#:-#=-::::-::-#= :%-::--==-::-%%-::-==--::-%: +#-:::::=+++${c2}@@${c1}+++=-::::-#= :#+-::::=%${c2}@@@@@${c1}=::::-+#: =@%##%${c2}@@@@@@@@${c1}%##%@= ${c2} .#@@@@@@@@@@@@@@@@@@@@#. %@@@@@@@@@@@@@@@@@@@@@@% -@@@@@@@@@@@@@@@@@@@@@@@@: .#@@@@@@@@@@%%%%%@@@@@@@@@@@#. #@@@${c1}+-=*#%${c2}%%%%%%%%%${c1}%%#+--#${c2}@@@# %@@%${c1}*. .:${c2}=*%%%%*${c1}=: .#${c2}@@@% :%@@@${c1}#+=-:${c2}:-*%%%%+::${c1}:-=+%${c2}@@@%: :@@@@%@%%%%@${c1}#${c2}#${c1}#${c2}%@%%%%@%@@@@. +@@@@@@@@@${c1}%${c2}=*+${c1}%${c2}@%@@@@@@@@+ #@@@@@@@@@@@@@@@@@@@@@@# -#@@@@@@@@@@@@@@@@@@#- -*%@@@@@@@@@@%*- .+%@@@@%+. """) hyfetch-1.4.11/hyfetch/distros/digital_unix.py000066400000000000000000000007351453247431100214140ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt digital_unix = AsciiArt(match=r'''"digital UNIX"*''', color='1 6 7', ascii=r""" ${c1} +-+-+-+-+-+-+-+ |${c3}d${c1}|${c3}i${c1}|${c3}g${c1}|${c3}i${c1}|${c3}t${c1}|${c3}a${c1}|${c3}l${c1}| +-+-+-+-+-+-+-+ ${c2} _ _ _ _ _______ __ | | | | \ | |_ _\ \ / / | | | | \| | | | \ V / | | | | . ` | | | > < | |__| | |\ |_| |_ / . \ \____/|_| \_|_____/_/ \_\ """) hyfetch-1.4.11/hyfetch/distros/distro_detector.py000066400000000000000000001201261453247431100221260ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from __future__ import annotations from . import AsciiArt def detect(name: str) -> AsciiArt | None: if not name: return None name = name.lower() if name.startswith('adélie') or name.startswith('adelie'): from .adélie import adélie return adélie if name.startswith('aix'): from .aix import aix return aix if name.startswith('aperio gnu/linux'): from .aperio_gnu_linux import aperio_gnu_linux return aperio_gnu_linux if name.startswith('aperture'): from .aperture import aperture return aperture if name.startswith('asahi'): from .asahi import asahi return asahi if name.startswith('hash'): from .hash import hash return hash if name.startswith('hardclanz'): from .hardclanz import hardclanz return hardclanz if name.startswith('almalinux'): from .almalinux import almalinux return almalinux if name.startswith('exodia predator os') or name.startswith('exodia-predator') or name.startswith('predator'): from .exodia_predator_os import exodia_predator_os return exodia_predator_os if name == 'alpine_small': from .alpine_small import alpine_small return alpine_small if name.startswith('alpine'): from .alpine import alpine return alpine if name.startswith('alter'): from .alter import alter return alter if name.startswith('amazon'): from .amazon import amazon return amazon if name.startswith('amogos'): from .amogos import amogos return amogos if name.startswith('anarchy'): from .anarchy import anarchy return anarchy if name.startswith('android_small'): from .android_small import android_small return android_small if name.startswith('android'): from .android import android return android if name.startswith('arselinux'): from .arselinux import arselinux return arselinux if name.startswith('instantos'): from .instantos import instantos return instantos if name.startswith('antergos'): from .antergos import antergos return antergos if name.startswith('antix'): from .antix import antix return antix if name.startswith('afterglow'): from .afterglow import afterglow return afterglow if name.startswith('aosc os'): from .aosc_os import aosc_os return aosc_os if name.startswith('apricity'): from .apricity import apricity return apricity if name.startswith('archcraft_ascii'): from .archcraft_ascii import archcraft_ascii return archcraft_ascii if name.startswith('archcraft_minimal'): from .archcraft_minimal import archcraft_minimal return archcraft_minimal if name.startswith('archcraft'): from .archcraft import archcraft return archcraft if name.startswith('arcolinux_small'): from .arcolinux_small import arcolinux_small return arcolinux_small if name.startswith('arcolinux'): from .arcolinux import arcolinux return arcolinux if name == 'arch_small': from .arch_small import arch_small return arch_small if name == 'arch_old': from .arch_old import arch_old return arch_old if name.startswith('archbox'): from .archbox import archbox return archbox if name.startswith('archlabs'): from .archlabs import archlabs return archlabs if name.startswith('archstrike'): from .archstrike import archstrike return archstrike if name.startswith('astos'): from .astos import astos return astos if (name.startswith('xferience') or name.endswith('xferience')): from .xferience import xferience return xferience if name.startswith('stock linux'): from .stock_linux import stock_linux return stock_linux if name.startswith('archmerge'): from .archmerge import archmerge return archmerge if name.startswith('aeros'): from .aeros import aeros return aeros if name.startswith('arch'): from .arch import arch return arch if name.startswith('unicodearch'): from .unicodearch import unicodearch return unicodearch if name.startswith('artix_small'): from .artix_small import artix_small return artix_small if name.startswith('artix'): from .artix import artix return artix if name.startswith('cobalt'): from .cobalt import cobalt return cobalt if name.startswith('arya'): from .arya import arya return arya if name.startswith('asteroidos'): from .asteroidos import asteroidos return asteroidos if name.startswith('athena'): from .athena import athena return athena if name.startswith('azos'): from .azos import azos return azos if name.startswith('bedrock'): from .bedrock import bedrock return bedrock if name.startswith('biglinux'): from .biglinux import biglinux return biglinux if name.startswith('bitrig'): from .bitrig import bitrig return bitrig if name.startswith('blackarch'): from .blackarch import blackarch return blackarch if name.startswith('blackpanther') or name.startswith('blackpanther'): from .blackpanther import blackpanther return blackpanther if name.startswith('matuusos'): from .matuusos import matuusos return matuusos if name.startswith('blag'): from .blag import blag return blag if name.startswith('blankon'): from .blankon import blankon return blankon if name.startswith('bluelight'): from .bluelight import bluelight return bluelight if name.startswith('bodhi'): from .bodhi import bodhi return bodhi if name.startswith('bonsai'): from .bonsai import bonsai return bonsai if name == 'bsd': from .bsd import bsd return bsd if name.startswith('bunsenlabs'): from .bunsenlabs import bunsenlabs return bunsenlabs if name.startswith('cachyos'): from .cachyos import cachyos return cachyos if name.startswith('calculate'): from .calculate import calculate return calculate if name.startswith('carbs'): from .carbs import carbs return carbs if name == 'calinixos': from .calinixos import calinixos return calinixos if name.startswith('calinixos_small'): from .calinixos_small import calinixos_small return calinixos_small if name.startswith('cbl-mariner'): from .cbl_mariner import cbl_mariner return cbl_mariner if name.startswith('celos'): from .celos import celos return celos if name.startswith('centos_small'): from .centos_small import centos_small return centos_small if name.startswith('centos'): from .centos import centos return centos if name.startswith('center'): from .center import center return center if name.startswith('chakra'): from .chakra import chakra return chakra if name.startswith('chaletos'): from .chaletos import chaletos return chaletos if name.startswith('chapeau'): from .chapeau import chapeau return chapeau if name.startswith('chonkysealos'): from .chonkysealos import chonkysealos return chonkysealos if name.startswith('chrom'): from .chrom import chrom return chrom if name.startswith('cleanjaro_small'): from .cleanjaro_small import cleanjaro_small return cleanjaro_small if name.startswith('cleanjaro'): from .cleanjaro import cleanjaro return cleanjaro if name.startswith('clearos'): from .clearos import clearos return clearos if name.startswith('clear linux os') or name.startswith('clear_linux'): from .clear_linux_os import clear_linux_os return clear_linux_os if name.startswith('clover'): from .clover import clover return clover if name.startswith('condres'): from .condres import condres return condres if name.startswith('container linux by coreos') or name.startswith('container_linux'): from .container_linux_by_coreos import container_linux_by_coreos return container_linux_by_coreos if name == 'crux_small' or name.startswith('kiss'): from .crux_small import crux_small return crux_small if name.startswith('crux'): from .crux import crux return crux if (name.startswith('crystal linux') or name.endswith('crystal linux')): from .crystal_linux import crystal_linux return crystal_linux if (name.startswith('cucumber') or name.endswith('cucumber')): from .cucumber import cucumber return cucumber if name.startswith('cutefishos'): from .cutefishos import cutefishos return cutefishos if name.startswith('cuteos'): from .cuteos import cuteos return cuteos if name.startswith('cyberos'): from .cyberos import cyberos return cyberos if name.startswith('dahlia'): from .dahlia import dahlia return dahlia if name == 'debian_small': from .debian_small import debian_small return debian_small if name.startswith('debian'): from .debian import debian return debian if name.startswith('digital unix'): from .digital_unix import digital_unix return digital_unix if name.startswith('droidian'): from .droidian import droidian return droidian if name.startswith('deepin'): from .deepin import deepin return deepin if name.startswith('openkylin'): from .openkylin import openkylin return openkylin if name == 'desaos': from .desaos import desaos return desaos if name.startswith('devuan'): from .devuan import devuan return devuan if name.startswith('dietpi'): from .dietpi import dietpi return dietpi if name.startswith('dracos'): from .dracos import dracos return dracos if name == 'darkos': from .darkos import darkos return darkos if name.startswith('itc'): from .itc import itc return itc if name.startswith('dragonfly_old'): from .dragonfly_old import dragonfly_old return dragonfly_old if name.startswith('dragonfly_small'): from .dragonfly_small import dragonfly_small return dragonfly_small if name.startswith('dragonfly'): from .dragonfly import dragonfly return dragonfly if name.startswith('drauger'): from .drauger import drauger return drauger if name.startswith('elementary_small'): from .elementary_small import elementary_small return elementary_small if name.startswith('elementary'): from .elementary import elementary return elementary if name.startswith('elive'): from .elive import elive return elive if name.startswith('endeavouros_small'): from .endeavouros_small import endeavouros_small return endeavouros_small if name.startswith('endeavouros'): from .endeavouros import endeavouros return endeavouros if name.startswith('encryptos'): from .encryptos import encryptos return encryptos if name.startswith('endless'): from .endless import endless return endless if name.startswith('enso'): from .enso import enso return enso if name.startswith('eurolinux'): from .eurolinux import eurolinux return eurolinux if name.startswith('evolutionos'): from .evolutionos import evolutionos return evolutionos if name.startswith('exherbo'): from .exherbo import exherbo return exherbo if name == 'fedora_small': from .fedora_small import fedora_small return fedora_small if name.startswith('fedora_old') or name.startswith('rfremix'): from .fedora_old import fedora_old return fedora_old if name.startswith('fedora'): from .fedora import fedora return fedora if name.startswith('feren'): from .feren import feren return feren if name.startswith('femboyos'): from .femboyos import femboyos return femboyos if name.startswith('finnix'): from .finnix import finnix return finnix if name == 'freebsd_small': from .freebsd_small import freebsd_small return freebsd_small if name.startswith('freebsd') or name.startswith('hardenedbsd'): from .freebsd import freebsd return freebsd if name.startswith('freemint'): from .freemint import freemint return freemint if name.startswith('frugalware'): from .frugalware import frugalware return frugalware if name.startswith('funtoo'): from .funtoo import funtoo return funtoo if name.startswith('galliumos'): from .galliumos import galliumos return galliumos if name == 'garuda_small': from .garuda_small import garuda_small return garuda_small if name.startswith('garuda'): from .garuda import garuda return garuda if name == 'gentoo_small': from .gentoo_small import gentoo_small return gentoo_small if name.startswith('gentoo'): from .gentoo import gentoo return gentoo if name.startswith('pentoo'): from .pentoo import pentoo return pentoo if name.startswith('glaucus'): from .glaucus import glaucus return glaucus if name.startswith('gnewsense'): from .gnewsense import gnewsense return gnewsense if name.startswith('gnome'): from .gnome import gnome return gnome if name == 'gnu': from .gnu import gnu return gnu if name.startswith('gobolinux'): from .gobolinux import gobolinux return gobolinux if name.startswith('grapheneos'): from .grapheneos import grapheneos return grapheneos if name.startswith('grombyang'): from .grombyang import grombyang return grombyang if name.startswith('guix_small'): from .guix_small import guix_small return guix_small if name.startswith('guix'): from .guix import guix return guix if name.startswith('haiku_small'): from .haiku_small import haiku_small return haiku_small if name.startswith('haiku'): from .haiku import haiku return haiku if name.startswith('hamonikr'): from .hamonikr import hamonikr return hamonikr if name.startswith('huayra'): from .huayra import huayra return huayra if name.startswith('hydroos'): from .hydroos import hydroos return hydroos if name.startswith('hyperbola_small'): from .hyperbola_small import hyperbola_small return hyperbola_small if name.startswith('hyperbola'): from .hyperbola import hyperbola return hyperbola if name.startswith('hybrid'): from .hybrid import hybrid return hybrid if name.startswith('iglunix') or name.startswith('iglu'): from .iglunix import iglunix return iglunix if name.startswith('interix'): from .interix import interix return interix if name.startswith('januslinux') or name.startswith('janus') or name.startswith('ataraxia linux') or name.startswith('ataraxia'): from .januslinux import januslinux return januslinux if name.startswith('kaisen'): from .kaisen import kaisen return kaisen if name == 'kali_small' or name == 'kalilinux_small' or name == 'kali_linux_small': from .kali_small import kali_small return kali_small if name.startswith('kali'): from .kali import kali return kali if name.startswith('kaos'): from .kaos import kaos return kaos if name.startswith('kde'): from .kde import kde return kde if name.startswith('kibojoe'): from .kibojoe import kibojoe return kibojoe if name.startswith('kogaion'): from .kogaion import kogaion return kogaion if name.startswith('korora'): from .korora import korora return korora if name.startswith('kslinux'): from .kslinux import kslinux return kslinux if name.startswith('kubuntu'): from .kubuntu import kubuntu return kubuntu if name.startswith('lainos'): from .lainos import lainos return lainos if name.startswith('lede'): from .lede import lede return lede if name == 'langitketujuh_old': from .langitketujuh_old import langitketujuh_old return langitketujuh_old if name.startswith('langitketujuh'): from .langitketujuh import langitketujuh return langitketujuh if name.startswith('laxeros'): from .laxeros import laxeros return laxeros if name.startswith('libreelec'): from .libreelec import libreelec return libreelec if name == 'linux': from .linux import linux return linux if name == 'linux_small': from .linux_small import linux_small return linux_small if name.startswith('linuxlite_small'): from .linuxlite_small import linuxlite_small return linuxlite_small if name.startswith('linux lite') or name.startswith('linux_lite'): from .linux_lite import linux_lite return linux_lite if name.startswith('lmde'): from .lmde import lmde return lmde if name.startswith('lubuntu'): from .lubuntu import lubuntu return lubuntu if name.startswith('lunar'): from .lunar import lunar return lunar if name == 'mac"*"_small': from .mac_small import mac_small return mac_small if name.startswith('mac') or name == 'darwin': from .mac import mac return mac if name.startswith('mageia_small'): from .mageia_small import mageia_small return mageia_small if name.startswith('mageia'): from .mageia import mageia return mageia if name.startswith('magpieos'): from .magpieos import magpieos return magpieos if name.startswith('mainsailos_small'): from .mainsailos_small import mainsailos_small return mainsailos_small if name.startswith('mainsailos'): from .mainsailos import mainsailos return mainsailos if name.startswith('mandriva') or name.startswith('mandrake'): from .mandriva import mandriva return mandriva if name.startswith('manjaro_small'): from .manjaro_small import manjaro_small return manjaro_small if name.startswith('manjaro'): from .manjaro import manjaro return manjaro if name.startswith('massos'): from .massos import massos return massos if name.startswith('tearch'): from .tearch import tearch return tearch if name.startswith('maui'): from .maui import maui return maui if name.startswith('meowix'): from .meowix import meowix return meowix if name.startswith('mer'): from .mer import mer return mer if name.startswith('minix'): from .minix import minix return minix if name.startswith('miracle linux') or name.startswith('miracle_linux'): from .miracle_linux import miracle_linux return miracle_linux if name.startswith('linspire') or name.startswith('freespire') or name.startswith('lindows'): from .linspire import linspire return linspire if name.startswith('linuxmint_small'): from .linuxmint_small import linuxmint_small return linuxmint_small if name.startswith('linux mint old') or name.startswith('linuxmintold') or name.startswith('mint_old'): from .linux_mint_old import linux_mint_old return linux_mint_old if name.startswith('linux mint') or name.startswith('linuxmint') or name.startswith('mint'): from .linux_mint import linux_mint return linux_mint if name.startswith('live raizo') or name.startswith('live_raizo'): from .live_raizo import live_raizo return live_raizo if name.startswith('mx_small'): from .mx_small import mx_small return mx_small if name.startswith('mx'): from .mx import mx return mx if name.startswith('namib'): from .namib import namib return namib if name.startswith('nekos'): from .nekos import nekos return nekos if name.startswith('neptune'): from .neptune import neptune return neptune if name.startswith('netbsd_small'): from .netbsd_small import netbsd_small return netbsd_small if name.startswith('netbsd'): from .netbsd import netbsd return netbsd if name.startswith('netrunner'): from .netrunner import netrunner return netrunner if name.startswith('nitrux'): from .nitrux import nitrux return nitrux if name == 'nixos_small': from .nixos_small import nixos_small return nixos_small if name.startswith('nixos_old'): from .nixos_old import nixos_old return nixos_old if name.startswith('nixos'): from .nixos import nixos return nixos if name.startswith('nobara'): from .nobara import nobara return nobara if name.startswith('nomadbsd'): from .nomadbsd import nomadbsd return nomadbsd if name.startswith('ghostbsd'): from .ghostbsd import ghostbsd return ghostbsd if name.startswith('nurunner'): from .nurunner import nurunner return nurunner if name.startswith('nutyx'): from .nutyx import nutyx return nutyx if name.startswith('obrevenge'): from .obrevenge import obrevenge return obrevenge if name.startswith('omnios'): from .omnios import omnios return omnios if name == 'openbsd_small': from .openbsd_small import openbsd_small return openbsd_small if name.startswith('openbsd'): from .openbsd import openbsd return openbsd if name.startswith('openeuler'): from .openeuler import openeuler return openeuler if name.startswith('openindiana'): from .openindiana import openindiana return openindiana if name.startswith('openmamba'): from .openmamba import openmamba return openmamba if name.startswith('openmandriva'): from .openmandriva import openmandriva return openmandriva if name.startswith('openstage'): from .openstage import openstage return openstage if (name.startswith('wrt') or name.endswith('wrt')): from .wrt import wrt return wrt if name.startswith('open source media center') or name == 'osmc': from .open_source_media_center import open_source_media_center return open_source_media_center if name.startswith('opnsense'): from .opnsense import opnsense return opnsense if name.startswith('oracle'): from .oracle import oracle return oracle if name.startswith('orchid_small'): from .orchid_small import orchid_small return orchid_small if name.startswith('orchid'): from .orchid import orchid return orchid if name.startswith('os elbrus'): from .os_elbrus import os_elbrus return os_elbrus if name.startswith('pacbsd'): from .pacbsd import pacbsd return pacbsd if name.startswith('panwah'): from .panwah import panwah return panwah if name.startswith('parabola_small'): from .parabola_small import parabola_small return parabola_small if name.startswith('parabola'): from .parabola import parabola return parabola if name.startswith('pardus'): from .pardus import pardus return pardus if name.startswith('parrot'): from .parrot import parrot return parrot if name.startswith('parsix'): from .parsix import parsix return parsix if name.startswith('pcbsd') or name.startswith('trueos'): from .pcbsd import pcbsd return pcbsd if name.startswith('pclinuxos'): from .pclinuxos import pclinuxos return pclinuxos if name.startswith('pearos'): from .pearos import pearos return pearos if name.startswith('pengwin'): from .pengwin import pengwin return pengwin if name.startswith('peppermint'): from .peppermint import peppermint return peppermint if name.startswith('pisi'): from .pisi import pisi return pisi if name.startswith('pikaos'): from .pikaos import pikaos return pikaos if name.startswith('phyos'): from .phyos import phyos return phyos if name.startswith('pnm linux') or name.startswith('whpnm linux'): from .pnm_linux import pnm_linux return pnm_linux if name.startswith('popos_small') or name.startswith('pop_os_small'): from .popos_small import popos_small return popos_small if name.startswith('pop!_os') or name.startswith('popos') or name.startswith('pop_os'): from .pop__os import pop__os return pop__os if name.startswith('porteus'): from .porteus import porteus return porteus if name == 'postmarketos_small': from .postmarketos_small import postmarketos_small return postmarketos_small if name.startswith('postmarketos'): from .postmarketos import postmarketos return postmarketos if name.startswith('puffos'): from .puffos import puffos return puffos if name.startswith('proxmox'): from .proxmox import proxmox return proxmox if name.startswith('puppy') or name.startswith('quirky werewolf') or name.startswith('precise puppy'): from .puppy import puppy return puppy if name.startswith('pureos_small'): from .pureos_small import pureos_small return pureos_small if name.startswith('pureos'): from .pureos import pureos return pureos if name.startswith('peropesis'): from .peropesis import peropesis return peropesis if name.startswith('q4os'): from .q4os import q4os return q4os if name.startswith('qubes'): from .qubes import qubes return qubes if name.startswith('qubyt'): from .qubyt import qubyt return qubyt if name.startswith('quibian'): from .quibian import quibian return quibian if name.startswith('radix'): from .radix import radix return radix if name.startswith('raspbian_small'): from .raspbian_small import raspbian_small return raspbian_small if name.startswith('raspbian'): from .raspbian import raspbian return raspbian if name == 'ravynos': from .ravynos import ravynos return ravynos if name.startswith('reborn os') or name.startswith('reborn'): from .reborn_os import reborn_os return reborn_os if name.startswith('red star') or name.startswith('redstar'): from .red_star import red_star return red_star if name.startswith('redcore'): from .redcore import redcore return redcore if name == 'redhat_old' or name.startswith('rhel_old'): from .redhat_old import redhat_old return redhat_old if name.startswith('redhat') or name.startswith('red hat') or name.startswith('rhel'): from .redhat import redhat return redhat if name.startswith('refracted devuan') or name.startswith('refracted_devuan'): from .refracted_devuan import refracted_devuan return refracted_devuan if name.startswith('regata'): from .regata import regata return regata if name.startswith('regolith'): from .regolith import regolith return regolith if name.startswith('rhaymos'): from .rhaymos import rhaymos return rhaymos if name.startswith('rocky_small'): from .rocky_small import rocky_small return rocky_small if name.startswith('rocky'): from .rocky import rocky return rocky if name.startswith('rosa'): from .rosa import rosa return rosa if name.startswith('astra linux'): from .astra_linux import astra_linux return astra_linux if name.startswith('sabotage'): from .sabotage import sabotage return sabotage if name.startswith('sabayon'): from .sabayon import sabayon return sabayon if name.startswith('sailfish'): from .sailfish import sailfish return sailfish if name.startswith('salentos'): from .salentos import salentos return salentos if name.startswith('shastraos'): from .shastraos import shastraos return shastraos if name.startswith('sasanqua'): from .sasanqua import sasanqua return sasanqua if name.startswith('salient os') or name.startswith('salientos') or name.startswith('salientos'): from .salient_os import salient_os return salient_os if name.startswith('salix'): from .salix import salix return salix if name.startswith('scientific'): from .scientific import scientific return scientific if name.startswith('septor'): from .septor import septor return septor if name.startswith('serene'): from .serene import serene return serene if name.startswith('sharklinux'): from .sharklinux import sharklinux return sharklinux if name.startswith('siduction'): from .siduction import siduction return siduction if name.startswith('slackel'): from .slackel import slackel return slackel if name.startswith('slackware_small'): from .slackware_small import slackware_small return slackware_small if name.startswith('slackware'): from .slackware import slackware return slackware if name.startswith('slitaz'): from .slitaz import slitaz return slitaz if name.startswith('smartos'): from .smartos import smartos return smartos if name.startswith('skiffos'): from .skiffos import skiffos return skiffos if name.startswith('solus'): from .solus import solus return solus if name.startswith('sulin'): from .sulin import sulin return sulin if name.startswith('source mage') or name.startswith('source_mage'): from .source_mage import source_mage return source_mage if name.startswith('sparky'): from .sparky import sparky return sparky if name.startswith('star'): from .star import star return star if name.startswith('steamos'): from .steamos import steamos return steamos if name == 'sunos_small' or name == 'solaris_small': from .sunos_small import sunos_small return sunos_small if name == 'sunos' or name == 'solaris': from .sunos import sunos return sunos if name.startswith('opensuse leap') or name.startswith('opensuse_leap'): from .opensuse_leap import opensuse_leap return opensuse_leap if name.startswith('t2'): from .t2 import t2 return t2 if name.startswith('opensuse tumbleweed') or name.startswith('opensuse_tumbleweed'): from .opensuse_tumbleweed import opensuse_tumbleweed return opensuse_tumbleweed if name == 'opensuse_small' or name.startswith('suse_small'): from .opensuse_small import opensuse_small return opensuse_small if name.startswith('opensuse') or name.startswith('open suse') or name.startswith('suse'): from .opensuse import opensuse return opensuse if name.startswith('parch') or name.startswith('parch') or name.startswith('parch'): from .parch import parch return parch if name.startswith('swagarch'): from .swagarch import swagarch return swagarch if name.startswith('tails'): from .tails import tails return tails if name.startswith('torizoncore'): from .torizoncore import torizoncore return torizoncore if name.startswith('trisquel'): from .trisquel import trisquel return trisquel if name.startswith('twister'): from .twister import twister return twister if name.startswith('ubuntu cinnamon') or name.startswith('ubuntu-cinnamon'): from .ubuntu_cinnamon import ubuntu_cinnamon return ubuntu_cinnamon if name.startswith('ubuntu budgie') or name.startswith('ubuntu-budgie'): from .ubuntu_budgie import ubuntu_budgie return ubuntu_budgie if name.startswith('ubuntu-gnome'): from .ubuntu_gnome import ubuntu_gnome return ubuntu_gnome if name.startswith('ubuntu kylin') or name.startswith('ubuntu-kylin'): from .ubuntu_kylin import ubuntu_kylin return ubuntu_kylin if name.startswith('ubuntu touch'): from .ubuntu_touch import ubuntu_touch return ubuntu_touch if name.startswith('ubuntu mate') or name.startswith('ubuntu-mate'): from .ubuntu_mate import ubuntu_mate return ubuntu_mate if name == 'ubuntu_old02': from .ubuntu_old02 import ubuntu_old02 return ubuntu_old02 if name.startswith('ubuntu studio') or name == 'ubuntu-studio': from .ubuntu_studio import ubuntu_studio return ubuntu_studio if name.startswith('ubuntu sway') or name == 'ubuntu-sway': from .ubuntu_sway import ubuntu_sway return ubuntu_sway if name == 'ubuntu_small': from .ubuntu_small import ubuntu_small return ubuntu_small if name.startswith('ubuntu_old') or name.startswith('i3buntu'): from .ubuntu_old import ubuntu_old return ubuntu_old if name.startswith('floflis'): from .floflis import floflis return floflis if name.startswith('ubuntu'): from .ubuntu import ubuntu return ubuntu if name.startswith('ultramarine linux') or name.startswith('ultramarine'): from .ultramarine_linux import ultramarine_linux return ultramarine_linux if name.startswith('univalent'): from .univalent import univalent return univalent if name.startswith('uos'): from .uos import uos return uos if name.startswith('univention'): from .univention import univention return univention if name.startswith('uwuntu'): from .uwuntu import uwuntu return uwuntu if name.startswith('urukos'): from .urukos import urukos return urukos if name.startswith('venom_small'): from .venom_small import venom_small return venom_small if name.startswith('venom'): from .venom import venom return venom if name == 'void_small': from .void_small import void_small return void_small if name.startswith('void'): from .void import void return void if name.startswith('vnux'): from .vnux import vnux return vnux if name.startswith('vzlinux'): from .vzlinux import vzlinux return vzlinux if name.startswith('yiffos'): from .yiffos import yiffos return yiffos if name.startswith('semc'): from .semc import semc return semc if name.startswith('vanilla'): from .vanilla import vanilla return vanilla if name.startswith('obarun'): from .obarun import obarun return obarun if (name.startswith('wii-linux-ngx') or name.endswith('wii-linux-ngx')) or (name.startswith('whiite-linux') or name.endswith('whiite-linux')) or (name.startswith('gc-linux') or name.endswith('gc-linux')): from .wii_linux_ngx import wii_linux_ngx return wii_linux_ngx if (name.startswith('[windows 11]') or name.endswith('[windows 11]')) or (name.startswith('on windows 11') or name.endswith('on windows 11')) or name.startswith('windows 11') or name == 'windows11': from .windows_11 import windows_11 return windows_11 if (name.startswith('[windows 10]') or name.endswith('[windows 10]')) or (name.startswith('on windows 10') or name.endswith('on windows 10')) or name.startswith('windows 8') or name.startswith('windows 10') or name == 'windows10' or name == 'windows8': from .windows_10 import windows_10 return windows_10 if name == 'windows95': from .windows95 import windows95 return windows95 if name.startswith('windows'): from .windows import windows return windows if name.startswith('xray_os'): from .xray_os import xray_os return xray_os if name.startswith('xubuntu'): from .xubuntu import xubuntu return xubuntu if name.startswith('soda'): from .soda import soda return soda if name.startswith('krassos') or name.startswith('krass'): from .krassos import krassos return krassos if name.startswith('irix'): from .irix import irix return irix if name.startswith('xenia2'): from .xenia2 import xenia2 return xenia2 if name.startswith('xenia'): from .xenia import xenia return xenia if name.startswith('zorin'): from .zorin import zorin return zorin if name.endswith('bsd'): from .bsd import bsd return bsd if name == 'darwin': from .darwin import darwin return darwin if name.startswith('gnu'): from .gnu import gnu return gnu if name == 'linux': from .linux import linux return linux if name.startswith('profelis sambabox') or name.startswith('sambabox'): from .profelis_sambabox import profelis_sambabox return profelis_sambabox if name == 'sunos': from .sunos import sunos return sunos hyfetch-1.4.11/hyfetch/distros/dracos.py000066400000000000000000000010231453247431100201760ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt dracos = AsciiArt(match=r'''"DracOS"*''', color='1 7 3', ascii=r""" ${c1} `-:/- -os: -os/` :sy+-` `/yyyy+. `+yyyyo- `/yyyys: `:osssoooo++- +yyyyyy/` ./yyyyyyo yo`:syyyy+. -oyyy+ +- :yyyyyo- `:sy: `. `/yyyyys: ./o/.` .oyyso+oo:` :+oo+//::::///:-.` `.` """) hyfetch-1.4.11/hyfetch/distros/dragonfly.py000066400000000000000000000012261453247431100207150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt dragonfly = AsciiArt(match=r'''"DragonFly"*''', color='1 7 3', ascii=r""" ${c2},--, ${c1}| ${c2},--, ${c2}| `-, ${c1},^, ${c2},-' | ${c2} `, `-, ${c3}(/ \) ${c2},-' ,' ${c2} `-, `-,${c1}/ \${c2},-' ,-' ${c2} `------${c1}( )${c2}------' ${c2} ,----------${c1}( )${c2}----------, ${c2} | _,-${c1}( )${c2}-,_ | ${c2} `-,__,-' ${c1}\ /${c2} `-,__,-' ${c1} | | | | | | | | | | | | `|' """) hyfetch-1.4.11/hyfetch/distros/dragonfly_old.py000066400000000000000000000015411453247431100215530ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt dragonfly_old = AsciiArt(match=r'''"dragonfly_old"*''', color='1 7 3', ascii=r""" ${c1} .-. ${c3} ()${c1}I${c3}() ${c1} "==.__:-:__.==" "==.__/~|~\__.==" "==._( Y )_.==" ${c2}.-'~~""~=--...,__${c1}\/|\/${c2}__,...--=~""~~'-. ( ..=${c1}\=${c1}/${c2}=.. ) `'-. ,.-"`;${c1}/=\${c2};"-.,_ .-'` `~"-=-~` .-~` ${c1}|=|${c2} `~-. `~-=-"~` .-~` /${c1}|=|${c2}\ `~-. .~` / ${c1}|=|${c2} \ `~. .-~` .' ${c1}|=|${c2} `. `~-. (` _,.-="` ${c1} |=|${c2} `"=-.,_ `) `~"~"` ${c1} |=|${c2} `"~"~` ${c1} /=\ \=/ ^ """) hyfetch-1.4.11/hyfetch/distros/dragonfly_small.py000066400000000000000000000004361453247431100221070ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt dragonfly_small = AsciiArt(match=r'''"dragonfly_small"*''', color='1 7 3', ascii=r""" ${c2} ,${c1}_${c2}, ('-_${c1}|${c2}_-') >--${c1}|${c2}--< (_-'${c1}|${c2}'-_) ${c1}| | | """) hyfetch-1.4.11/hyfetch/distros/drauger.py000066400000000000000000000012641453247431100203630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt drauger = AsciiArt(match=r'''"Drauger"*''', color='1 7', ascii=r""" ${c1} -``- `:+``+:` `/++``++/. .++/. ./++. :++/` `/++: `/++: :++/` ./+/- -/+/. -++/. ./++- :++:` `:++: `/++- -++/` ./++. ./+/. -++/` `/++- :++:` `:++: `/++- -++/` .:-.`..............................`.-:. `.-/++++++++++++++++++++++++++++++++/-.` """) hyfetch-1.4.11/hyfetch/distros/droidian.py000066400000000000000000000010211453247431100205120ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt droidian = AsciiArt(match=r'''"Droidian"*''', color='2 10', ascii=r""" ${c2} _,met$$$$$gg. ,g$$$$$$$$$$$$$$$$P. ,$$P' `$$$. ',$$P ,ggs. `$$b: `d$$' ,$P"' ${c1}.${c2} $$$ $$P d$' ${c1},${c2} $$P $$: $$. ${c1}-${c2} ,d$$' $$; Y$b._ _,d$P' Y$$. ${c1}`.${c2}`"Y$$$$P"' ${c2} `$$b ${c1}"-.__ ${c2} `Y$$ `Y$$. `$$b. `Y$$b. `"Y$b._ """) hyfetch-1.4.11/hyfetch/distros/elementary.py000066400000000000000000000013511453247431100210740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt elementary = AsciiArt(match=r'''"Elementary"*''', color='4 7 1', ascii=r""" ${c2} eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeee eeeee eeeeeeeeeeee eeeee eeee eeeee eee eeee eeee eeee eee eeee eee eee eee eee eee eee eee eee ee eee eeee eeee ee eee eeeee eeeeee ee eee eeeee eeeee ee eee eeee eeeeee eeeee eee eee eeeeeeeeee eeeeee eee eeeeeeeeeeeeeeeeeeeeeeee eeeee eeeeeeee eeeeeeeeeeee eeee eeeee eeeee eeeeeee eeeeeee eeeeeeeeeeeeeeeee """) hyfetch-1.4.11/hyfetch/distros/elementary_small.py000066400000000000000000000004011453247431100222570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt elementary_small = AsciiArt(match=r'''"elementary_small"*''', color='4 7 1', ascii=r""" ${c2} _______ / ____ \ / | / /\ |__\ / / | \ /__/ / \_______/ """) hyfetch-1.4.11/hyfetch/distros/elive.py000066400000000000000000000021241453247431100200320ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt elive = AsciiArt(match=r'''"Elive"*''', color='7 6 6', ascii=r""" ${c1} *@${c2},,&(%%%..%*. ${c1}(@${c2}&%/##############((/${c1}*, ${c2}@${c1}@&${c2}#########${c1}*..../${c2}########%${c1}*.. ${c2}@${c1}&${c2}#%%%%%. ${c3},.${c1},${c2}%%%%%%. /%${c2}(%%%%. ${c1}(${c2}%%%%#. /${c1}*${c2}%%##,. .,%%###, ,####. ,${c1}*${c2}#%${c1}#${c3}/,(/ ${c2}/${c1}#${c2}###, ((###/ ,,##########${c1}(${c3}/(# ${c2}%####, %#(((${c1}. .${c1}./${c2}((((((((((((((${c1}(${c2}#/${c3}*.. ${c3}*.${c2}(((${c1}/ ${c2}%#///${c1}. ${c3}***${c2}.*///////////// ${c3}#${c2}#////* ${c3}***${c2}.*/////. ${c3}(${c2}(***** ${c3}*** ${c2},*****.. ..${c1}*${c2}*****.. *${c1}%${c2}/****. .,,*******,${c3},,../##(${c2}%&${c1}&${c2}#******${c1},${c2}. ,*${c1},${c2},,,,,,,,,,,,,,,,,,,${c1},${c2}.. *//${c1}/,,${c2},,,,,,,${c1},..${c2} """) hyfetch-1.4.11/hyfetch/distros/encryptos.py000066400000000000000000000011401453247431100207510ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt encryptos = AsciiArt(match=r'''"EncryptOS"*''', color='2 5 6', ascii=r""" ${c2} ******* ${c2} *** **. ${c2} ** ** ${c2} ** ** ${c2} ***************** ${c2} ,,,,,,,,,,,,,,,,*** ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,,,,,,,,,,,,,, ${c2} ,,,,,,,,,,,,. """) hyfetch-1.4.11/hyfetch/distros/endeavouros.py000066400000000000000000000016141453247431100212630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt endeavouros = AsciiArt(match=r'''"EndeavourOS"*''', color='1 5 4', ascii=r""" ${c1} ./${c2}o${c3}. ${c1} ./${c2}sssso${c3}- ${c1} `:${c2}osssssss+${c3}- ${c1} `:+${c2}sssssssssso${c3}/. ${c1} `-/o${c2}ssssssssssssso${c3}/. ${c1} `-/+${c2}sssssssssssssssso${c3}+:` ${c1} `-:/+${c2}sssssssssssssssssso${c3}+/. ${c1} `.://o${c2}sssssssssssssssssssso${c3}++- ${c1} .://+${c2}ssssssssssssssssssssssso${c3}++: ${c1} .:///o${c2}ssssssssssssssssssssssssso${c3}++: ${c1} `:////${c2}ssssssssssssssssssssssssssso${c3}+++. ${c1}`-////+${c2}ssssssssssssssssssssssssssso${c3}++++- ${c1} `..-+${c2}oosssssssssssssssssssssssso${c3}+++++/` ./++++++++++++++++++++++++++++++/:. `:::::::::::::::::::::::::------`` """) hyfetch-1.4.11/hyfetch/distros/endeavouros_small.py000066400000000000000000000006341453247431100224540ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt endeavouros_small = AsciiArt(match=r'''"endeavouros_small"*''', color='1 5 4', ascii=r""" ${c1} /${c2}o${c3}. ${c1} :${c2}sssso${c3}- ${c1} :${c2}ossssssso${c3}: ${c1} /${c2}ssssssssssso${c3}+ ${c1} -+${c2}ssssssssssssssso${c3}+ ${c1} //${c2}osssssssssssssso${c3}+- `+++++++++++++++-` """) hyfetch-1.4.11/hyfetch/distros/endless.py000066400000000000000000000016331453247431100203670ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt endless = AsciiArt(match=r'''"Endless"*''', color='1 7', ascii=r""" ${c1} `:+yhmNMMMMNmhy+:` -odMMNhso//////oshNMMdo- /dMMh+. .+hMMd/ /mMNo` `oNMm: `yMMo` `oMMy` `dMN- -NMd` hMN. .NMh /MM/ -os` /MM/ dMm `smNmmhs/- `:sNMd+ `` mMd MMy oMd--:+yMMMMMNo.:ohmMMMNy` yMM MMy -NNyyhmMNh+oNMMMMMy:. dMo yMM dMm `/++/-``/yNNh+/sdNMNddMm- mMd /MM/ `dNy: `-::- /MM/ hMN. .NMh `dMN- -NMd` `yMMo` `oMMy` /mMNo` `oNMm/ /dMMh+. .+hMMd/ -odMMNhso//////oshNMMdo- `:+yhmNMMMMNmhy+:` """) hyfetch-1.4.11/hyfetch/distros/enso.py000066400000000000000000000015521453247431100176760ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt enso = AsciiArt(match=r'''"Enso"*''', color='8 7', ascii=r""" ${c1} .:--==--:. :=*#%%%%%%%#####*+-. .+%%%%%%%%%%%%###%%#*##*: .*%%%%%%%%%#+==-==++*####*##- =%%%%%%%#=: .-+**#***. *%%%%%%#- ++*#**. +%%%%%%+ -*+#** :%%%%%%* .*+**= *%%%%%%: --#*# %%%%%%% +++#. %%%%%%%. ++=*. *%%%%%%+ .-+*+ :%%%%%%%- -:*+: =%%%%%%%*. :.*+- +%%%%%%%%*- :*=- =%%%%%%%%%%#+=: =+=: .+%%%%%%%%%%%%%. .-==: .=#%%%%%%%%%%= ..:--:. .-+#%%%%%+ """) hyfetch-1.4.11/hyfetch/distros/eurolinux.py000066400000000000000000000013451453247431100207640ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt eurolinux = AsciiArt(match=r'''"EuroLinux"*''', color='4 7', ascii=r""" ${c1} __ -wwwWWWWWWWWWwww- -WWWWWWWWWWWWWWWWWWw- \WWWWWWWWWWWWWWWWWWW- _Ww `WWWWWWWWWWWWWWWWWWWw -W${c2}E${c1}Www -WWWWWWWWW- _WW${c2}U${c1}WWWW- _WWWWWWWW _WW${c2}R${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW- wWW${c2}O${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWW${c2}L${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWw WWW${c2}I${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWww- wWW${c2}N${c1}WWWWw WW${c2}U${c1}WWWWWWw wW${c2}X${c1}WWWWWWWWww wWWWWWWWWWWWWWWWw wWWWWWWWWWWWWWWWw WWWWWWWWWWWWWw wWWWWWWWw """) hyfetch-1.4.11/hyfetch/distros/evolutionos.py000066400000000000000000000014731453247431100213220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt evolutionos = AsciiArt(match=r'''"EvolutionOS"*''', color='4 7', ascii=r""" ${c1}\e[1;32m dddddddddddddddddddddddd .dddd''''''''''''''''''''''dddd. dd: dddddddddddddddddddd; dd: dd: ldl:'''''''''''''''' dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: ddddddd; ddddd; dd: dd: ldl: ''''''' ''''' dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: ddddddddddddddd; dd: dddd:.''' ''''''''''''''' dddd: dddddddddddddddddddddddddd;;' '''''''''''''''''''''''''\e[0m """) hyfetch-1.4.11/hyfetch/distros/exherbo.py000066400000000000000000000021611453247431100203630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt exherbo = AsciiArt(match=r'''"Exherbo"*''', color='4 7 1', ascii=r""" ${c2} , OXo. NXdX0: .cok0KXNNXXK0ko:. KX '0XdKMMK;.xMMMk, .0MMMMMXx; ... 'NO..xWkMMx kMMM cMMMMMX,NMWOxOXd. cNMk NK .oXM. OMMMMO. 0MMNo kW. lMc o: ., .oKNk; ;NMMWlxW' ;Mc .. .,,' .0M${c1}g;${c2}WMN'dWMMMMMMO XX ,WMMMMW. cM${c1}cfli${c2}WMKlo. .kMk .Mo .WM${c1}GD${c2}MW. XM${c1}WO0${c2}MMk oMl ,M: ,XMMWx::,''oOK0x; NM. 'Ml ,kNKOxxxxxkkO0XXKOd:. oMk NK .0Nxc${c3}:::::::::::::::${c2}fkKNk, .MW ,Mo .NXc${c3}::${c2}qXWXb${c3}::::::::::${c2}oo${c3}::${c2}lNK. .MW ;Wo oMd${c3}:::${c2}oNMNP${c3}::::::::${c2}oWMMMx${c3}:${c2}c0M; lMO 'NO;W0c${c3}:::::::::::::::${c2}dMMMMO${c3}::${c2}lMk .WM' xWONXdc${c3}::::::::::::::${c2}oOOo${c3}::${c2}lXN. ,WMd 'KWWNXXK0Okxxo,${c3}:::::::${c2},lkKNo xMMO :XMNxl,';:lodxkOO000Oxc. .oWMMo 'dXMMXkl;,. .,o0MMNo' ':d0XWMMMMWNNNNMMMNOl' ':okKXWNKkl' """) hyfetch-1.4.11/hyfetch/distros/exodia_predator_os.py000066400000000000000000000022071453247431100226020ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt exodia_predator_os = AsciiArt(match=r'''"Exodia Predator OS"* | "exodia-predator"* | "Predator"*''', color='5 5', ascii=r""" ${c1}- : ${c1}+: :+ ${c1}++. .++ ${c1}+++ : . +++ ${c1}+++= .+ + =+++ ${c1}++++- ++ += -++++ ${c1}++++++- -++ ++- -++++++ ${c1}++++++++: .+++ +++. :++++++++ ${c1}++++++++++: ++++ ++++ :++++++++++ ${c1}+++++++++++==++++ ++++=++++++=+++++ ${c1}+++++.:++++++++++ ++++++++++:.+++++ ${c1}+++++. .+++++++++ +++++++++. .+++++ ${c1}+++++: ++++++++ ++++++++ :+++++ ${c1}++++++- =+++++++ +++++++= -++++++ ${c1} :+++++= =+++++++ +++++++= =+++++: ${c1} :+++= =+++++++ +++++++= =+++: ${c1} -+= =+++++++ +++++++= ++- ${c1} : =++++++- -++++++= : ${c1} =++++- -++++= ${c1} =++= =++= ${c1} =++ ++= ${c1} =+. .+= ${c1} =- -= ${c1} : : """) hyfetch-1.4.11/hyfetch/distros/fedora.py000066400000000000000000000020011453247431100201600ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt fedora = AsciiArt(match=r'''"Fedora"*''', color='12 7', ascii=r""" ${c1} .',;::::;,'. .';:cccccccccccc:;,. .;cccccccccccccccccccccc;. .:cccccccccccccccccccccccccc:. .;ccccccccccccc;${c2}.:dddl:.${c1};ccccccc;. .:ccccccccccccc;${c2}OWMKOOXMWd${c1};ccccccc:. .:ccccccccccccc;${c2}KMMc${c1};cc;${c2}xMMc${c1};ccccccc:. ,cccccccccccccc;${c2}MMM.${c1};cc;${c2};WW:${c1};cccccccc, :cccccccccccccc;${c2}MMM.${c1};cccccccccccccccc: :ccccccc;${c2}oxOOOo${c1};${c2}MMM0OOk.${c1};cccccccccccc: cccccc;${c2}0MMKxdd:${c1};${c2}MMMkddc.${c1};cccccccccccc; ccccc;${c2}XM0'${c1};cccc;${c2}MMM.${c1};cccccccccccccccc' ccccc;${c2}MMo${c1};ccccc;${c2}MMW.${c1};ccccccccccccccc; ccccc;${c2}0MNc.${c1}ccc${c2}.xMMd${c1};ccccccccccccccc; cccccc;${c2}dNMWXXXWM0:${c1};cccccccccccccc:, cccccccc;${c2}.:odl:.${c1};cccccccccccccc:,. :cccccccccccccccccccccccccccc:'. .:cccccccccccccccccccccc:;,.. '::cccccccccccccc::;,. """) hyfetch-1.4.11/hyfetch/distros/fedora_old.py000066400000000000000000000015541453247431100210320ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt fedora_old = AsciiArt(match=r'''"Fedora_old"* | "RFRemix"*''', color='4 7 1', ascii=r""" ${c1} /:-------------:\ :-------------------:: :-----------${c2}/shhOHbmp${c1}---:\ /-----------${c2}omMMMNNNMMD ${c1}---: :-----------${c2}sMMMMNMNMP${c1}. ---: :-----------${c2}:MMMdP${c1}------- ---\ ,------------${c2}:MMMd${c1}-------- ---: :------------${c2}:MMMd${c1}------- .---: :---- ${c2}oNMMMMMMMMMNho${c1} .----: :-- .${c2}+shhhMMMmhhy++${c1} .------/ :- -------${c2}:MMMd${c1}--------------: :- --------${c2}/MMMd${c1}-------------; :- ------${c2}/hMMMy${c1}------------: :--${c2} :dMNdhhdNMMNo${c1}------------; :---${c2}:sdNMMMMNds:${c1}------------: :------${c2}:://:${c1}-------------:: :---------------------:// """) hyfetch-1.4.11/hyfetch/distros/fedora_small.py000066400000000000000000000004541453247431100213620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt fedora_small = AsciiArt(match=r'''"fedora_small"''', color='12', ascii=r""" ${c1} ,'''''. | ,. | | | '_' ,....| |.. .' ,_;| ..' | | | | | ',_,' | '. ,' ''''' """) hyfetch-1.4.11/hyfetch/distros/femboyos.py000066400000000000000000000017351453247431100205600ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt femboyos = AsciiArt(match=r'''"FemboyOS"*''', color='4', ascii=r""" ${c1}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWKkxkKWMMMMMMMMMMMMMMMMMMMMWKkxkKWMM MMMMXo. .;xKWMMMMMMMMMMMMMMMMMMXo. .oXMM MMWXx,..'..oXMMMMMMMMMMMMMMMMWKx, .lXMM MMNo. .cOc.,xKWMMMMMMMMMMMMWXx;.....cXMM MMXl..;kKl. .oXMMMMMMMMMMWKx;..,ok:.'o0W WKx,.cKWNk;..lXMMMMMMMMWKx;..,o0NXl. .oN No. .lXMMWKc.,dKWMMMMMMNo..;d0NWMNx,..lX Nk:,:kNMMMNk:,ckNMMMMMMNxcxXWMMMMMN0ockN MWNNNWMMMMMWNNNWMMMMMMMMWWWMMMMMMMMMWWWM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMNXKXNWMMMMMMMMMMMWNKOKWMMMMMMMMMM MMMMMMWKdccxXMMMMMMMMMMW0o'.oXMMMMMMMMMM MMMMMMMNO:.'o0NKkkkkkOXXo. .lXMMMMMMMMMM MMMMMMMMNx,..;o;. .:o,..;kNMMMMMMMMMM MMMMMMMMMNO: ... .cKWMMMMMMMMMMM MMMMMMMMMMNx,. .;dk:. .;kNMMMMMMMMMMMM MMMMMMMMMMMN0ocxXWNkl:,:xXWMMMMMMMMMMMMM MMMMMMMMMMMMMWNWMMMWWNNNWMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM """) hyfetch-1.4.11/hyfetch/distros/feren.py000066400000000000000000000012141453247431100200240ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt feren = AsciiArt(match=r'''"Feren"*''', color='4 7 1', ascii=r""" ${c1} `----------` :+ooooooooo+. -o+oooooooooo+- ..`/+++++++++++/...````````````````` .++++++++++++++++++++++++++/////- ++++++++++++++++++++++++++++++++//:` -++++++++++++++++++++++++++++++/-` ++++++++++++++++++++++++++++:. -++++++++++++++++++++++++/. +++++++++++++++++++++/-` -++++++++++++++++++//-` .:+++++++++++++//////- .:++++++++//////////- `-++++++---:::://///. `.:///+++. ` `......... """) hyfetch-1.4.11/hyfetch/distros/finnix.py000066400000000000000000000012731453247431100202250ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt finnix = AsciiArt(match=r'''"Finnix"*''', color='4 7 7', ascii=r""" ${c1} ,,:;;;;:,, ,;*%S########S%*;, ;?#################S?: :%######################?: +##########################; +############################; :#############.**,#############, *###########+ +###########+ ?########## ${c3}Finnix${c1} ##########* *###########, ,###########+ :#############%..%#############, *############################+ *##########################+ ;S######################%: ,+%##################%; :+?S##########S?+: ,:;++++;:, """) hyfetch-1.4.11/hyfetch/distros/floflis.py000066400000000000000000000041021453247431100203620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt floflis = AsciiArt(match=r'''"Floflis"*''', color='1 7 3', ascii=r""" \e[96m ,▄▄▄▌▓▓███▓▓▌▄▄▄, ,▄▒▓███████████████████▓▄▄ ▄▓███████████████████████████▌ ▓███████████████████████████████ , ╙▓████████████████████████████▀ ▄ ╓█▓▄ ╙▀▓████████████████████▀▀` ,▄██▓ ╓█████▌▄, '▀▀▀▀▓▓▓▓▓▓▀▀Å╙` ▄▄▓█████▌ ██████████▓▌▄ , ▄▓███████████▄ ╢████████████▓ ║████▓▓███▌ ╣█████████████▓ ▓█████████████ ▐█████████▀ ▓██████████████ ▓█████████████ ▐█████████▄ ███████████████ ▀████████████▌ ║█████████▌ ▀█████████████▌ ████████████M ▓██████████ ▐█████████████⌐ ▀██████████▌ ▐███████████▌ ▀███████████▌ ╙▓█████▓ ▓██████████████▄ ▀███████▀ ╝▓██▀ ╓▓████████████████▓ ▀▓██▀ ,▄████████████████████▌, ╝▀████████████████████▓▀' `╙▀▀▓▓███████▓▀▀╩' """) hyfetch-1.4.11/hyfetch/distros/freebsd.py000066400000000000000000000014071453247431100203430ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt freebsd = AsciiArt(match=r'''FreeBSD*|HardenedBSD*''', color='1 7 3', ascii=r""" ${c2}``` ${c1}` ${c2}` `.....---...${c1}....--.``` -/ ${c2}+o .--` ${c1}/y:` +. ${c2} yo`:. ${c1}:o `+- ${c2}y/ ${c1}-/` -o/ ${c2}.- ${c1}::/sy+:. ${c2}/ ${c1}`-- / ${c2}`: ${c1}:` ${c2}`: ${c1}:` ${c2}/ ${c1}/ ${c2}.- ${c1}-. ${c2}-- ${c1}-. ${c2}`:` ${c1}`:` .-- `--. .---.....----. """) hyfetch-1.4.11/hyfetch/distros/freebsd_small.py000066400000000000000000000004071453247431100215320ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt freebsd_small = AsciiArt(match=r'''"freebsd_small"''', color='1 7 3', ascii=r""" ${c1}/\,-'''''-,/\ \_) (_/ | | | | ; ; '-_____-' """) hyfetch-1.4.11/hyfetch/distros/freemint.py000066400000000000000000000011401453247431100205340ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt freemint = AsciiArt(match=r'''"FreeMiNT"*''', color='7', ascii=r""" ${c1} ## ## ######### #### ## #### #### ## #### #### ## ## #### #### ## ## #### #### ## ## ## #### ###### ###### ## ## #### #### ################ #### ## #### ## #### ###### ## ## #### #### ## ## ## ## ## #### #### ## ## ## """) hyfetch-1.4.11/hyfetch/distros/frugalware.py000066400000000000000000000023041453247431100210650ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt frugalware = AsciiArt(match=r'''"Frugalware"*''', color='4 7 1', ascii=r""" ${c1} `++/::-.` /o+++++++++/::-.` `o+++++++++++++++o++/::-.` /+++++++++++++++++++++++oo++/:-.`` .o+ooooooooooooooooooosssssssso++oo++/:-` ++osoooooooooooosssssssssssssyyo+++++++o: -o+ssoooooooooooosssssssssssssyyo+++++++s` o++ssoooooo++++++++++++++sssyyyyo++++++o: :o++ssoooooo${c2}/-------------${c1}+syyyyyo+++++oo `o+++ssoooooo${c2}/-----${c1}+++++ooosyyyyyyo++++os: /o+++ssoooooo${c2}/-----${c1}ooooooosyyyyyyyo+oooss .o++++ssooooos${c2}/------------${c1}syyyyyyhsosssy- ++++++ssooooss${c2}/-----${c1}+++++ooyyhhhhhdssssso -s+++++syssssss${c2}/-----${c1}yyhhhhhhhhhhhddssssy. sooooooyhyyyyyh${c2}/-----${c1}hhhhhhhhhhhddddyssy+ :yooooooyhyyyhhhyyyyyyhhhhhhhhhhdddddyssy` yoooooooyhyyhhhhhhhhhhhhhhhhhhhddddddysy/ -ysooooooydhhhhhhhhhhhddddddddddddddddssy .-:/+osssyyyysyyyyyyyyyyyyyyyyyyyyyyssy: ``.-/+oosysssssssssssssssssssssss ``.:/+osyysssssssssssssh. `-:/+osyyssssyo .-:+++` """) hyfetch-1.4.11/hyfetch/distros/funtoo.py000066400000000000000000000010701453247431100202370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt funtoo = AsciiArt(match=r'''"Funtoo"*''', color='5 7', ascii=r""" ${c1} .dKXXd . :XXl;:. .OXo .'OXO'' .''''''''''''''''''''':XNd..'oco.lco, xXXXXXX, cXXXNNNXXXXNNXXXXXXXXNNNNKOOK; d0O .k kXX xXo KNNN0 KNN. 'xXNo :c; 'cc. kXX xNo KNNN0 KNN. :xxxx. 'NNo kXX xNo loooc KNN. oNNNN. 'NNo kXX xN0:. KNN' oNNNX' ,XNk kXX xNNXNNNNNNNNXNNNNNNNNXNNOxXNX0Xl ... ......................... .;cc;. """) hyfetch-1.4.11/hyfetch/distros/galliumos.py000066400000000000000000000020001453247431100207130ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt galliumos = AsciiArt(match=r'''"GalliumOS"*''', color='4 7 1', ascii=r""" ${c1}sooooooooooooooooooooooooooooooooooooo+: yyooooooooooooooooooooooooooooooooo+/::: yyysoooooooooooooooooooooooooooo+/:::::: yyyyyoooooooooooooooooooooooo+/::::::::: yyyyyysoooooooooooooooooo++/:::::::::::: yyyyyyysoooooooooooooo++/::::::::::::::: yyyyyyyyysoooooo${c2}sydddys${c1}+/::::::::::::::: yyyyyyyyyysooo${c2}smMMMMMMMNd${c1}+:::::::::::::: yyyyyyyyyyyyo${c2}sMMMMMMMMMMMN${c1}/::::::::::::: yyyyyyyyyyyyy${c2}dMMMMMMMMMMMM${c1}o//::::::::::: yyyyyyyyyyyyy${c2}hMMMMMMMMMMMm${c1}--//:::::::::: yyyyyyyyyyyyyy${c2}hmMMMMMMMNy${c1}:..-://:::::::: yyyyyyyyyyyyyyy${c2}yyhhyys+:${c1}......://::::::: yyyyyyyyyyyyyyys+:--...........-///::::: yyyyyyyyyyyys+:--................://:::: yyyyyyyyyo+:-.....................-//::: yyyyyyo+:-..........................://: yyyo+:-..............................-// o/:-...................................: """) hyfetch-1.4.11/hyfetch/distros/garuda.py000066400000000000000000000015771453247431100202040ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt garuda = AsciiArt(match=r'''"Garuda"*''', color='7 7 3 7 2 4', ascii=r""" ${c3} .%;888:8898898: x;XxXB%89b8:b8%b88: .8Xxd 8X:. .8Xx; 8x:. .tt8x ${c6}.d${c3} x88; .@8x8; ${c6}.db:${c3} xx@; ${c4},tSXX° .bbbbbbbbbbbbbbbbbbbB8x@; .SXxx bBBBBBBBBBBBBBBBBBBBbSBX8; ,888S pd! 8X88/ q GBB. ${c5}x%88 d888@8@X@X@X88X@@XX@@X@8@X. dxXd dB8b8b8B8B08bB88b998888b88x. dxx8o .@@;. dx88 .t@x. d:SS@8ba89aa67a853Sxxad. .d988999889889899dd. """) hyfetch-1.4.11/hyfetch/distros/garuda_small.py000066400000000000000000000004301453247431100213570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt garuda_small = AsciiArt(match=r'''"garuda_small"''', color='7 7 3 7 2 4', ascii=r""" ${c3} .----. .' ${c6},${c3} '. ${c4} .' ${c6}'${c3}-----| '${c5}. -----, '.____.' """) hyfetch-1.4.11/hyfetch/distros/gentoo.py000066400000000000000000000015701453247431100202250ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt gentoo = AsciiArt(match=r'''"Gentoo"*''', color='5 7', ascii=r""" ${c1} -/oyddmdhs+:. -o${c2}dNMMMMMMMMNNmhy+${c1}-` -y${c2}NMMMMMMMMMMMNNNmmdhy${c1}+- `o${c2}mMMMMMMMMMMMMNmdmmmmddhhy${c1}/` om${c2}MMMMMMMMMMMN${c1}hhyyyo${c2}hmdddhhhd${c1}o` .y${c2}dMMMMMMMMMMd${c1}hs++so/s${c2}mdddhhhhdm${c1}+` oy${c2}hdmNMMMMMMMN${c1}dyooy${c2}dmddddhhhhyhN${c1}d. :o${c2}yhhdNNMMMMMMMNNNmmdddhhhhhyym${c1}Mh .:${c2}+sydNMMMMMNNNmmmdddhhhhhhmM${c1}my /m${c2}MMMMMMNNNmmmdddhhhhhmMNh${c1}s: `o${c2}NMMMMMMMNNNmmmddddhhdmMNhs${c1}+` `s${c2}NMMMMMMMMNNNmmmdddddmNMmhs${c1}/. /N${c2}MMMMMMMMNNNNmmmdddmNMNdso${c1}:` +M${c2}MMMMMMNNNNNmmmmdmNMNdso${c1}/- yM${c2}MNNNNNNNmmmmmNNMmhs+/${c1}-` /h${c2}MMNNNNNNNNMNdhs++/${c1}-` `/${c2}ohdmmddhys+++/:${c1}.` `-//////:--. """) hyfetch-1.4.11/hyfetch/distros/gentoo_small.py000066400000000000000000000003741453247431100214160ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt gentoo_small = AsciiArt(match=r'''"gentoo_small"''', color='5 7', ascii=r""" ${c1} _-----_ ( \ \ 0 \ ${c2} \ ) / _/ ( _- \____- """) hyfetch-1.4.11/hyfetch/distros/ghostbsd.py000066400000000000000000000005531453247431100205470ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ghostbsd = AsciiArt(match=r'''"GhostBSD"*''', color='4', ascii=r""" ${c1} ,gggggg. ,agg9* .g) .agg* ._.,gg* ,gga* (ggg*' ,ga* ,ga* ,ga' .ag* ,ga' .agga' 9g' .agg'g*,a 'gggg*',gga' .gg*' .gga* .gga* (ga* """) hyfetch-1.4.11/hyfetch/distros/glaucus.py000066400000000000000000000011041453247431100203660ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt glaucus = AsciiArt(match=r'''"glaucus"*''', color='5', ascii=r""" ${c1} ,, ,d88P ,d8P ,ad8888* ,888P d88888* ,,ad8888P* d d888P a88888P* ,ad8888888* .d8 d8888: d888888* ,d888888P* .888; 88888b d8888888b8888888P d8888J888888a88888888888888P* ,d 88888888888888888888888888P ,,d8* 888888888888888888888888888888888* *8888888888888888888888888888888* Y888888888P* `*``*888888888888* *^888^* *Y888P** """) hyfetch-1.4.11/hyfetch/distros/gnewsense.py000066400000000000000000000013111453247431100207210ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt gnewsense = AsciiArt(match=r'''"gNewSense"*''', color='4 5 7 6', ascii=r""" ${c1} ..,,,,.. .oocchhhhhhhhhhccoo. .ochhlllllllc hhhhhh ollllllhhco. ochlllllllllll hhhllllllhhh lllllllllllhco .cllllllllllllll hlllllo +hllh llllllllllllllc. ollllllllllhco'' hlllllo +hllh ``ochllllllllllo hllllllllc' hllllllllllllh `cllllllllh ollllllh +llllllllllll+ hllllllo `cllllh. ohllllllho .hllllc' ochllc. ++++ .cllhco `+occooo+. .+ooocco+' `+oo++++ ++++oo+' """) hyfetch-1.4.11/hyfetch/distros/gnome.py000066400000000000000000000015161453247431100200370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt gnome = AsciiArt(match=r'''"GNOME"*''', color='4', ascii=r""" ${c1} ,@@@@@@@@, @@@@@@ @@@@@@@@@@@@ ,@@. @@@@@@@ *@@@@@@@@@@@@ @@@@@% @@@@@@( @@@@@@@@@@@& @@@@@@ @@@@* @@@@@@@@@# @@@@* @@@@, *@@@@@% @@@@@. @@@@# @@@@@@@@@@@@@@@@ ,@@@@@@@@@@@@@@@@@@@@@@@, ,@@@@@@@@@@@@@@@@@@@@@@@@@@& .@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@( @@@@@@@@@@@@@@@@@@@@% @@@@@@@@@@@@@@@@ @@@@@@@@@@@@* @@@@@@@@/ &@@@@@@@@@@ @@@@@@@@@* @@@@@@@@@@@, @@@@@@@@@* ,@@@@@@@@@@@@@@@@@@@@& &@@@@@@@@@@@@@@ ... """) hyfetch-1.4.11/hyfetch/distros/gnu.py000066400000000000000000000012631453247431100175220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt gnu = AsciiArt(match=r'''"GNU"*''', color='fg 7', ascii=r""" ${c1} _-`````-, ,- '- . .' .- - | | - -. `. /.' / `. \ :/ : _... ..._ `` : :: : /._ .`:'_.._\. || : :: `._ ./ ,` : \ . _.'' . `:. / | -. \-. \_ / \:._ _/ .' .@) \@) ` `\ ,.' _/,--' .- .\,-.`--`. ,'/'' (( \ ` ) /'/' \ `-' ( '/'' `._,-----' ''/' .,---' ''/' ;: ''/'' ''/ ''/''/'' '/'/' `; """) hyfetch-1.4.11/hyfetch/distros/gobolinux.py000066400000000000000000000004721453247431100207400ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt gobolinux = AsciiArt(match=r'''"GoboLinux"*''', color='5 4 6 2', ascii=r""" ${c1} _____ _ / ____| | | | | __ ___ | |__ ___ | | |_ |/ _ \| '_ \ / _ \ | |__| | (_) | |_) | (_) | \_____|\___/|_.__/ \___/ """) hyfetch-1.4.11/hyfetch/distros/grapheneos.py000066400000000000000000000017551453247431100210720ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt grapheneos = AsciiArt(match=r'''"GrapheneOS"*''', color='7 4', ascii=r""" ${c1} B? G~ G~& G!^:^?# &^.:::.J &PG& #G5JJ7~^~?JY5B& #PG B5JJPGJ77YG5JYP# && &B5JYPGJ7?YG5JYP# &Y..::.:P& &?..::.:G #!::::? B~::::J B~J# B!?# !P 75 !P 75 !5 7Y &Y~:^!P &J~:^!P P..::.:B Y..::.:# #PYJJ~^^!JJYP# &B5YJ?~^^!JJYG# &YYG# && #PYJ5G5??JGGYJ5G& && #PYP B^.::..7& J::::^G #Y^G& B~ G! # """) hyfetch-1.4.11/hyfetch/distros/grombyang.py000066400000000000000000000016011453247431100207120ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt grombyang = AsciiArt(match=r'''"Grombyang"*''', color='4 2 1', ascii=r""" ${c1} eeeeeeeeeeee eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeee eeeee ${c2}.o+ ${c1}eeee eeee ${c2}`ooo/ ${c1}eeee eeee ${c2}`+oooo: ${c1}eeee eee ${c2}`+oooooo: ${c1}eee eee ${c2}-+oooooo+: ${c1}eee ee ${c2}`/:oooooooo+: ${c1}ee ee ${c2}`/+ +++ +: ${c1}ee ee ${c2}+o+\ ${c1}ee eee ${c2}+o+\ ${c1}eee eee ${c2}// \ooo/ \\ ${c1}eee eee ${c2}//++++oooo++++\\ ${c1}eee eeee ${c2}::::++oooo+::::: ${c1}eeee eeeee ${c3}Grombyang OS ${c1} eeee eeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeee """) hyfetch-1.4.11/hyfetch/distros/guix.py000066400000000000000000000006721453247431100177100ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt guix = AsciiArt(match=r'''"Guix"*''', color='3 7 6 1 8', ascii=r""" ${c1} .. `. `--..```..` `..```..--` .-:///-:::. `-:::///:-. ````.:::` `:::.```` -//:` -::- ://: -::- `///- .:::` -+++-:::. :+/:::- `-....` """) hyfetch-1.4.11/hyfetch/distros/guix_small.py000066400000000000000000000004411453247431100210720ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt guix_small = AsciiArt(match=r'''"guix_small"*''', color='3 7 6 1 8', ascii=r""" ${c1}|.__ __.| |__ \ / __| \ \ / / \ \ / / \ \ / / \ \/ / \__/ """) hyfetch-1.4.11/hyfetch/distros/haiku.py000066400000000000000000000011531453247431100200300ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt haiku = AsciiArt(match=r'''"Haiku"*''', color='1 3 7 2', ascii=r""" ${c3} MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM${c4} .ciO| /YMMMMM*" ${c3} MMMM${c4} .cOMMMMM|/MMMMM/` , ,iMM|/MMMMMMMMMMMMMMM* `*.__,-cMMMMMMMMMMMMMMMMM/`${c3}.MMM MM${c4}MMMMMMM/`:MMM/ ${c3}MMMM MMMM MMMM MMMM MMMM "\"\"" "\"\"" """) hyfetch-1.4.11/hyfetch/distros/haiku_small.py000066400000000000000000000004531453247431100212220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt haiku_small = AsciiArt(match=r'''"haiku_small"*''', color='2 8', ascii=r""" ${c1} ,^, / \ *--_ ; ; _--* \ '" "' / '. .' .-'" "'-. '-.__. .__.-' |_| """) hyfetch-1.4.11/hyfetch/distros/hamonikr.py000066400000000000000000000020521453247431100205360ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt hamonikr = AsciiArt(match=r'''"HamoniKR"*''', color='4 7 99 1 3 7', ascii=r""" ${c1} cO0Ox. .ldddddddo. .lddddddddddo 'lddddddddddddc ,oddddddddddddd; 'ldddddddddddddo. .oddddddddddddddc. ,dddddddddddddddo. ,ccoooooooocoddooo: ,cooooooooooooooooop ${c3} c000x. ${c1}.cooooooooooooooopcllll${c3} .cddddddo. ${c1}coooooooooooooop' .qlll.${c3} .ddoooooooo; ${c1}cooooooooooc; ${c3}'qlllp. .ddoooooooooo; ${c1}.cooooooc; ${c3}'lllbc...coooooooooooo; ${c1} .cooc' ${c3}.llllcoooooooooooooo. .coooooooooooooop: .coooooooooooooop' .cooooooooooooop. .cooooooooooooop. .coooooooooooop. .cooooooooooop. .cooooooooop. .cooooop' """) hyfetch-1.4.11/hyfetch/distros/hardclanz.py000066400000000000000000000021701453247431100206750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt hardclanz = AsciiArt(match=r'''"HarDClanZ"*''', color='4 7 1', ascii=r""" ${c1} ........::::.... ::################::.. :########################:. :######**###################: :###${c2}&&&&^${c1}############ ${c2}&${c1}#######: :#${c2}&&&&&${c1}.:##############:${c2}^&o${c1}`:###: :#${c2}&&&&${c1}.:#################:.${c2}&&&${c1}`###: :##${c2}&^${c1}:######################:${c2}^&&${c1}::##: :#############################:${c2}&${c1}:##:: :##########${c2}@@${c1}###########${c2}@@${c1}#####:.###: :#########${c2}@@${c3}o${c2}@@${c1}#########${c2}@@${c3}o${c2}@@${c1}########: :#######:${c2}@@${c3}o${c5}0${c3}o${c2}@@@@${c1}###${c2}@@@@${c3}o${c5}0${c3}o${c2}@@${c1}######: : :######:${c2}@@@${c3}o${c2}@@@@@@${c1}V${c2}@@@@@@${c3}o${c2}@@@${c1}######: :#####:${c2}@@@@@@@@@@@@@@@@@@@${c1}:####; :####:.${c2}@@@@@@@@@@@@@@@@${c1}:#####: `:####:.${c2}@@@@@@@@@@@@@@${c1}:#####: ``:##:.${c2}@@@@@@@@@@@@${c1}^## # : : ## ${c2}\@@@;@@@/ ${c1}:: # : ${c2} VVV """) hyfetch-1.4.11/hyfetch/distros/hash.py000066400000000000000000000006711453247431100176560ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt hash = AsciiArt(match=r'''"Hash"*''', color='123', ascii=r""" ${c1} + ###### + ### ###### ### ##### ###### ##### ###### ###### ###### ####### '"###### '"######## ####### ###### ######## ####### ###### ######## ###### '"###### '"###### ##### ###### ##### ### ###### ### ~ ###### ~ """) hyfetch-1.4.11/hyfetch/distros/huayra.py000066400000000000000000000013631453247431100202230ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt huayra = AsciiArt(match=r'''"Huayra"*''', color='4 7', ascii=r""" ${c2} ` . . ` `` - . . `.` -` `. - `` .` ..`-`-` + - / .` ``` .--.+--`+:- :/.` .-``.` -+/so::h:.d-`./:`.` :hNhyMomy:os-...-. ```` .dhsshNmNhoo+:-``.``` ${c1}`ohy:-${c2}NMds+::-.`` ````${c1}.hNN+`${c2}mMNho/:-....```` ````` `../dmNhoo+/:..`` ```` .dh++o/:....` .+s/` `/s-.-.:.`` ```` ::` `::`..` .` `.. `` """) hyfetch-1.4.11/hyfetch/distros/hybrid.py000066400000000000000000000016261453247431100202150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt hybrid = AsciiArt(match=r'''"Hybrid"*''', color='4 12', ascii=r""" ${c1} / ${c2}# ${c1}////& ${c2}##### ${c1}///// ${c2}###### ${c1}///// ////////// ${c2}###### ${c1}///// //////////////////// ${c2}###### ${c1}////////////////////////// ${c2}###### ${c1}///////// /// ${c2}###### ${c1}/////// / ${c2}###### ${c1}////// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}######### ${c1}////& ${c2}######## """) hyfetch-1.4.11/hyfetch/distros/hydroos.py000066400000000000000000000007361453247431100204240ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt hydroos = AsciiArt(match=r'''"HydroOS"*''', color='1 2 3 4 5', ascii=r""" ${c1} _ _ _ ____ _____ | | | | | | / __ \ / ____| | |__| |_ _ __| |_ __ ___ | | | | (___ | __ | | | |/ _` | '__/ _ \| | | |\___ \ | | | | |_| | (_| | | | (_) | |__| |____) | |_| |_|\__, |\__,_|_| \___/ \____/|_____/ __/ | |___/ """) hyfetch-1.4.11/hyfetch/distros/hyperbola.py000066400000000000000000000012651453247431100207200ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt hyperbola = AsciiArt(match=r'''"Hyperbola"*''', color='8', ascii=r""" ${c1} WW KX W WO0W NX0O NOO0NW WNXK0OOKW W0OOOOOOOOOOOOKN N0OOOOOOO0KXW WNXXXNW NXK00000KN WNK0OOOOOOOOOO0W NK0OOOOOOOOOOOOOO0W X0OOOOOOO00KK00OOOOOK X0OOOO0KNWW WX0OO0W X0OO0XNW KOOW N00KNW KOW NKXN W0W WW W """) hyfetch-1.4.11/hyfetch/distros/hyperbola_small.py000066400000000000000000000004051453247431100221030ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt hyperbola_small = AsciiArt(match=r'''"hyperbola_small"*''', color='8', ascii=r""" ${c1} |`__.`/ \____/ .--. / \ / ___ \ / .` `.\ /.` `.\ """) hyfetch-1.4.11/hyfetch/distros/iglunix.py000066400000000000000000000005551453247431100204130ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt iglunix = AsciiArt(match=r'''"iglunix"*|"iglu"*''', color='8', ascii=r""" ${c1} | | | | | ________ | /\ | \ / \ | \ | / \ \ | / \________\ \ / / \ / / \ / / \/________/ """) hyfetch-1.4.11/hyfetch/distros/instantos.py000066400000000000000000000014751453247431100207600ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt instantos = AsciiArt(match=r'''"instantOS"*''', color='4 6', ascii=r""" ${c1} 'cx0XWWMMWNKOd:'. .;kNMMMMMMMMMMMMMWNKd' 'kNMMMMMMWNNNWMMMMMMMMXo. ,0MMMMMW0o;'..,:dKWMMMMMWx. OMMMMMXl. .xNMMMMMNo WMMMMNl .kWWMMMMO' MMMMMX; oNWMMMMK, NMMMMWo .OWMMMMMK, kWMMMMNd. ,kWMMMMMMK, 'kWMMMMWXxl:;;:okNMMMMMMMMK, .oXMMMMMMMWWWMMMMMMMMMMMMK, 'oKWMMMMMMMMMMMMMMMMMMMK, .;lxOKXXXXXXXXXXXXXXXO;...... ................,d0000000kd:. .kMMMMMMMMMW0; .kMMMMMMMMMMMX .xMMMMMMMMMMMW cXMMMMMMMMMM0 :0WMMMMMMNx, .o0NMWNOc. """) hyfetch-1.4.11/hyfetch/distros/interix.py000066400000000000000000000015751453247431100204210ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt interix = AsciiArt(match=r'''"Interix"*''', color='1 7 4 0 3', ascii=r""" ${c1} .${c3}. ${c1} 75${c3}G! ${c1} ^?PG${c3}&&J. ${c1} :!5GPP${c3}&&&B! ${c1} :YPPPPP${c3}&&&&&Y: ${c1} !5PPPPPP${c3}&&&&&&B! ${c1} :?PPPPPPPP${c3}&&&&&&&&Y~ ${c1} !5PPPPPPPPP${c3}###&&&&&&B7 ${c1} :?PPPP5555555${c3}B####&&&&&&5: ${c1} ~5PPPP555YJ${c5}7!~7?${c3}5B###&&&&&B?. ${c1} .:JPPPP5555Y${c5}?^....:^?${c3}G####&&&&&5: ${c1} 75PPP555555Y${c5}7:....:^!${c3}5#####&&&&&B7. ${c1} :JPPPP${c2}555555YY?${c5}~::::^~${c2}7YPGBB###${c3}&&&&&5^ ${c1}75${c2}GGPPPPPP555555YJ?77??YYYYYY55PPGGB#${c3}&B? ${c2}~!!7JY5PGGBBBBBBBBGGGGGGGBGGGGGP5YJ?7~~~ .::^~7?JYPGBB#BGPYJ?7!7^:. ..:^... """) hyfetch-1.4.11/hyfetch/distros/irix.py000066400000000000000000000015421453247431100177040ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt irix = AsciiArt(match=r'''"IRIX"*''', color='4 7', ascii=r""" ${c1} ./ohmNd/ +dNmho/- `:+ydNMMMMMMMM.-MMMMMMMMMdyo:. `hMMMMMMNhs/sMMM-:MMM+/shNMMMMMMh` -NMMMMMmo-` /MMM-/MMM- `-omMMMMMN. `.`-+hNMMMMMNhyMMM-/MMMshmMMMMMmy+...` +mMNds:-:sdNMMMMMMMyyMMMMMMMNdo:.:sdMMm+ dMMMMMMmy+.-/ymNMMMMMMMMNmy/-.+hmMMMMMMd oMMMMmMMMMNds:.+MMMmmMMN/.-odNMMMMmMMMM+ .MMMM-/ymMMMMMmNMMy..hMMNmMMMMMmy/-MMMM. hMMM/ `/dMMMMMMMN////NMMMMMMMd/. /MMMh /MMMdhmMMMmyyMMMMMMMMMMMMhymMMMmhdMMM: `mMMMMNho//sdMMMMM//NMMMMms//ohNMMMMd `/so/:+ymMMMNMMMM` mMMMMMMMmh+::+o/` `yNMMNho-yMMMM` NMMMm.+hNMMNh` -MMMMd: oMMMM. NMMMh :hMMMM- -yNMMMmooMMMM- NMMMyomMMMNy- .omMMMMMMMM-`NMMMMMMMmo. `:hMMMMMM. NMMMMMh/` .odNm+ /dNms. """) hyfetch-1.4.11/hyfetch/distros/itc.py000066400000000000000000000012161453247431100175060ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt itc = AsciiArt(match=r'''"Itc"*''', color='1', ascii=r""" ${c1}....................-==============+... ${c1}....................-==============:... ${c1}...:===========-....-==============:... ${c1}...-===========:....-==============-... ${c1}....*==========+........-::********-... ${c1}....*===========+.:*====**==*+-.-...... ${c1}....:============*+-..--:+**====*---... ${c1}......::--........................::... ${c1}..+-:+-.+::*:+::+:-++::++-.:-.*.:++:++. ${c1}..:-:-++++:-::--:+::-::.:++-++:++--:-:. ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ """) hyfetch-1.4.11/hyfetch/distros/januslinux.py000066400000000000000000000021351453247431100211300ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt januslinux = AsciiArt(match=r'''"januslinux"*|"janus"*|"Ataraxia Linux"*|"Ataraxia"*''', color='4 5 6 2', ascii=r""" ${c1} 'l: loooooo loooo coooool looooooooooooooooooool looooooooooooooooo lool cooo coooooooloooooooo clooooo ;lood cloooo :loooocooo cloo loooo loooo :ooooool loooo looo cooooo cooooo looooooooooooo ;loooooo ${c2}looooooc ${c1}looooooooo loo cloooooool ${c2}looooc ${c1} cooo cooooooooooo ${c2}looolooooool ${c1} cooo: ${c2}coooooooooooooooooool loooooooooooolc: loooc; cooo: loooooooooooc ;oool looooooo: coool olc, looooc ,, coooooc loc :oooool, coool:, looool:, looool: ooooooooooooooo: cooolc .ooooooooooool """) hyfetch-1.4.11/hyfetch/distros/kaisen.py000066400000000000000000000014601453247431100202020ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kaisen = AsciiArt(match=r'''"Kaisen"*''', color='1 7 3', ascii=r""" ${c1} ` `:+oyyho. `+:`sdddddd/ `+` :ho oyo++ohds-` .ho :dd. .: `sddddddhhyso+/- ody.ddd-:yd- +hysssyhddddddddho` yddddddhddd` ` `--` -+hddddddh. hddy-+dddddy+ohh/..+sddddy/:::+ys :ddd/sdddddddddd- oddddddd ` `yddddddddddddddd/ /ddddddd/ :. :ydddddddddddddddddo..sddddddy/` odhdddddddo- `ddddh+-``....-+hdddddds. -ddddddhd: /dddo -ydddddddhdddddddd- /hdy:o - `:sddds .`./hdddddddddddddo `/- `+hddyosy+ :dddddddy-.-od/ :sydds -hddddddd` / .+shd- `:ohddddddddd` `:+ooooooooooooo: """) hyfetch-1.4.11/hyfetch/distros/kali.py000066400000000000000000000016661453247431100176600ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kali = AsciiArt(match=r'''"Kali"*''', color='4 8', ascii=r""" ${c1}.............. ..,;:ccc,. ......''';lxO. .....''''..........,:ld; .';;;:::;,,.x, ..'''. 0Xxoc:,. ... .... ,ONkc;,;cokOdc',. . OMo ':${c2}dd${c1}o. dMc :OO; 0M. .:o. ;Wd ;XO, ,d0Odlc;,.. ..',;:cdOOd::,. .:d;.':;. 'd, .' ;l .. .o c .' . """) hyfetch-1.4.11/hyfetch/distros/kali_small.py000066400000000000000000000006261453247431100210430ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kali_small = AsciiArt(match=r'''"kali_small" | "kalilinux_small" | "kali_linux_small"''', color='4 8', ascii=r""" ${c1} -#. # @### -###### @######### =##. .##### ## ## ## ## ## # ## @### ##. ### ##% ##- -##% -* :*##+ :*#* -# @ : """) hyfetch-1.4.11/hyfetch/distros/kaos.py000066400000000000000000000012051453247431100176620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kaos = AsciiArt(match=r'''"KaOS"*''', color='4 7 1', ascii=r""" ${c1} .. ..... ..OSSAAAAAAA.. .KKKKSS. .SSAAAAAAAAAAA. .KKKKKSO. .SAAAAAAAAAA... KKKKKKS. .OAAAAAAAA. KKKKKKS. .OAAAAAA. KKKKKKS. .SSAA.. .KKKKKS..OAAAAAAAAAAAA........ DKKKKO.=AA=========A===AASSSO.. AKKKS.==========AASSSSAAAAAASS. .=KKO..========ASS.....SSSSASSSS. .KK. .ASS..O.. =SSSSAOSS: .OK. .ASSSSSSSO...=A.SSA. .K ..SSSASSSS.. ..SSA. .SSS.AAKAKSSKA. .SSS....S.. """) hyfetch-1.4.11/hyfetch/distros/kde.py000066400000000000000000000015341453247431100174750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kde = AsciiArt(match=r'''"KDE"*''', color='2 7', ascii=r""" ${c1} `..---+/---..` `---.`` `` `.---.` .--.` `` `-:-. `:/: `.----//----.` :/- .:. `---` `--.` .:` .:` `--` .:- `:. `/ `:. `.-::-.` -:` `/` /. /. `:++++++++:` .: .: `/ .: `+++++++++++/ /` `+` /+` -- .++++++++++++` :. .+: `/ .: `+++++++++++/ /` `+` /` /. `:++++++++:` .: .: ./ `:. `.:::-.` -:` `/` .:` `--` .:- `:. .:. `---` `--.` .:` `:/: `.----//----.` :/- .-:.` `` `-:-. `---.`` `` `.---.` `..---+/---..` """) hyfetch-1.4.11/hyfetch/distros/kibojoe.py000066400000000000000000000013311453247431100203470ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kibojoe = AsciiArt(match=r'''"Kibojoe"*''', color='2 7 4', ascii=r""" ${c3} ./+oooooo+/. -/+ooooo+/:.` ${c1}`${c3}yyyo${c2}+++/++${c3}osss${c1}. ${c1}+NMN${c3}yssssssssssss${c1}. ${c1}.dMMMMN${c3}sssssssssssy${c1}Ns` +MMMMMMMm${c3}sssssssssssh${c1}MNo` `hMMMMMNNNMd${c3}sssssssssssd${c1}MMN/ .${c3}syyyssssssy${c1}NNmmmmd${c3}sssss${c1}hMMMMd: -NMmh${c3}yssssssssyhhhhyssyh${c1}mMMMMMMMy` -NMMMMMNN${c3}mdhyyyyyyyhdm${c1}NMMMMMMMMMMMN+ `NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd. ods+/:-----://+oyydmNMMMMMMMMMMMMMMMMMN- ` .-:+osyhhdmmNNNmdo """) hyfetch-1.4.11/hyfetch/distros/kogaion.py000066400000000000000000000013061453247431100203560ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kogaion = AsciiArt(match=r'''"Kogaion"*''', color='4 7 1', ascii=r""" ${c1} ;; ,; ;;; ,;; ,;;;; ;;;; ,;;;;;;;; ;;;; ;;;;;;;;;;; ;;;;; ,;;;;;;;;;;;; ';;;;;, ;;;;;;;;;;;;;;, ';;;;;;; ;;;;;;;;;;;;;;;;;, ';;;;; ; ';;;;;;;;;;;;;;;;;;, ;;; ;;;, ';;;;;;;;;;;;;;;;;;;,;; ;;;;;, ';;;;;;;;;;;;;;;;;;, ;;;;;;;;, ';;;;;;;;;;;;;;;;, ;;;;;;;;;;;;, ';;;;;;;;;;;;;; ';;;;;;;;;;;;; ';;;;;;;;;;;;; ';;;;;;;;;;;;;, ';;;;;;;;;;; ';;;;;;;;;;;;; ;;;;;;;;;; ';;;;;;;;;;;; ;;;;;;;; ';;;;;;;; ;;;;;; ';;;;; ;;;; ';;; ;; """) hyfetch-1.4.11/hyfetch/distros/korora.py000066400000000000000000000014661453247431100202330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt korora = AsciiArt(match=r'''"Korora"*''', color='4 7 1', ascii=r""" ${c2} ____________ _add55555555554${c1}: _w?'${c1}``````````'${c2})k${c1}: _Z'${c1}`${c2} ]k${c1}: m(${c1}`${c2} )k${c1}: _.ss${c1}`${c2}m[${c1}`${c2}, ]e${c1}: .uY"^`${c1}`${c2}Xc${c1}`${c2}?Ss. d(${c1}` jF'${c1}`${c2} `@. ${c1}`${c2}Sc .jr${c1}` jr${c1}`${c2} `?n_ ${c1}`${c2}$; _a2"${c1}` .m${c1}:${c2} `~M${c1}`${c2}1k${c1}`${c2}5?!`${c1}` :#${c1}:${c2} ${c1}`${c2})e${c1}``` :m${c1}:${c2} ,#'${c1}` :#${c1}:${c2} .s2'${c1}` :m,________.aa7^${c1}` :#baaaaaaas!J'${c1}` ``````````` """) hyfetch-1.4.11/hyfetch/distros/krassos.py000066400000000000000000000025351453247431100204210ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt krassos = AsciiArt(match=r'''"KrassOS"* | "Krass"*''', color='4 7', ascii=r""" ${c1} ${c2}**@@@@@@@@@@@* ${c2},@@@@%${c1}(((((((((((((${c2}%@@@@, ${c2}#@@&${c1}(((((((((((((((((((((((${c2}&@@% ${c2}@@&${c1}(((((((((((((((((((((((((((((${c2}@@@ ${c2}@@&${c1}(((((((((((((((((((((((((((((((((${c2}&@@ ${c2}.@@${c1}(((((((((((((((((((((((((((((((((((((${c2}@@. ${c2}@@${c1}(((((((((((((((((((((((((((((((((((((((${c2}@@ ${c2}@@#${c1}(((((((((((((((((((((((((((((${c2}%@@@@@@@#${c1}(#${c2}@@ ${c2}.@@${c1}((((((((((((((((${c2}#%@@@@@@@@@&%#${c1}((((${c2}%@&${c1}((((${c2}@@. ${c2}.@@${c1}(((((((/(${c2}&@@@@@@%${c1}(/((((((((((((((${c2}@@/${c1}(((((${c2}@@. ${c2}.@@${c1}(///////////////////////////////${c2}@${c1}(///////${c2}@@ ${c2}%@#${c1}/////////////////////////////(${c2}#${c1}////////${c2}%@% ${c2} @@${c1}(///////////////////////////${c2}%${c1}/////////(${c2}@@ ${c2}@@#${c1}***********************************${c2}%@@ ${c2}*@@${c1}********************************${c2}/@@/ ${c2},@@#${c1}***************************${c2}%@@* ${c2}@@@&${c1}********************${c2}/@@@@ ${c2}&@@@@&${c1}(//***//(${c2}&@@@@& ${c1} ${c2}**@@@@@@@@@@@* """) hyfetch-1.4.11/hyfetch/distros/kslinux.py000066400000000000000000000006501453247431100204250ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kslinux = AsciiArt(match=r'''"KSLinux"*''', color='4 7 1', ascii=r""" ${c1} K K U U RRRR ooo K K U U R R o o KKK U U RRRR o o K K U U R R o o K K UUU R R ooo ${c2} SSS AAA W W AAA S A A W W A A SSS AAAAA W W W AAAAA S A A WW WW A A SSS A A W W A A """) hyfetch-1.4.11/hyfetch/distros/kubuntu.py000066400000000000000000000022501453247431100204230ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt kubuntu = AsciiArt(match=r'''"Kubuntu"*''', color='4 7 1', ascii=r""" ${c1} `.:/ossyyyysso/:. .:oyyyyyyyyyyyyyyyyyyo:` -oyyyyyyyo${c2}dMMy${c1}yyyyyyysyyyyo- -syyyyyyyyyy${c2}dMMy${c1}oyyyy${c2}dmMMy${c1}yyyys- oyyys${c2}dMy${c1}syyyy${c2}dMMMMMMMMMMMMMy${c1}yyyyyyo `oyyyy${c2}dMMMMy${c1}syysoooooo${c2}dMMMMy${c1}yyyyyyyyo` oyyyyyy${c2}dMMMMy${c1}yyyyyyyyyyys${c2}dMMy${c1}sssssyyyo -yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy- oyyyysoo${c2}dMy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyysosyyyyyyyy yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyyyyyyyyyyyyy oyyyyysos${c2}dy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo -yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy- oyyyyyy${c2}dMMMy${c1}syyyyyyyyyyys${c2}dMMy${c1}oyyyoyyyo `oyyyy${c2}dMMMy${c1}syyyoooooo${c2}dMMMMy${c1}oyyyyyyyyo oyyysyyoyyyys${c2}dMMMMMMMMMMMy${c1}yyyyyyyo -syyyyyyyyy${c2}dMMMy${c1}syyy${c2}dMMMy${c1}syyyys- -oyyyyyyy${c2}dMMy${c1}yyyyyysosyyyyo- ./oyyyyyyyyyyyyyyyyyyo/. `.:/oosyyyysso/:.` """) hyfetch-1.4.11/hyfetch/distros/lainos.py000066400000000000000000000026001453247431100202120ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt lainos = AsciiArt(match=r'''"LainOS"*''', color='4 14 7 2 3 5', ascii=r""" ${c2} /==\ \==/ ${c1} · · · · · · · · · · · · · · · · · · · · ${c2}.-======-.${c1}· · · · ${c2} .::.${c1} ·${c2}.-============-.${c1}· ${c2}.::. .:==:${c1}· ${c2}.:===:'${c1}. ·· .${c2}':===:.${c1} ·${c2}:==:. .:===:${c1} · ${c2}:===.${c1} · ${c3}.--.${c1} · ${c2}.===:${c1} · ${c2}:===:. :===:${c1}· · ${c2}:===.${c1} · ${c3}.:====:.${c1} · ${c2}.===:${c1} · ·${c2}:===: (===:${c1}· · ${c2}:===-${c1} · ${c3}:======:${c1} · ${c2}-===:${c1} · ·${c2}:===) :===:${c1}· · ${c2}:===.${c1} · ${c3}':====:'${c1} · ${c2}.===:${c1} · ·${c2}:===: ':===:${c1} · ${c2}:===.${c1} · ${c3}'--'${c1} · ${c2}.===:${c1} · ${c2}:===:' ':==:${c1}· ${c2}':===:.${c1}' ·· '${c2}.:===:'${c1} ·${c2}:==:' '::'${c1} · ${c2}'===-. .-==='${c1} · ${c2}'::' ${c2}/==\${c1} · · · ${c2}:=== ===:${c1} · · · ${c2}/==\ \==/${c1} · · ·${c2}:===${c1} ·${c2}===:${c1}· · · ${c2}\==/${c2} .-. ${c1}· ${c2}:===${c1}· ${c2}===:${c1} ·${c2} ${c2}.-. .===. .=== ===. .===. .======== ========. ''''' ''''' """) hyfetch-1.4.11/hyfetch/distros/langitketujuh.py000066400000000000000000000011511453247431100216030ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt langitketujuh = AsciiArt(match=r'''"LangitKetujuh"*''', color='4 2', ascii=r""" ${c1} . 'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML7 MM. 'MMMMMMMMMMMMMMMMMMMMMMMMMMML7L7 MMMMMM MMMMMMML7L7L7L7L7L7L7L7L7L7 L7MMMM L7L7L7 L7L7MM 'L7L7L7L7L7L7L7L7L7L: L7L7L7 'L7L7L7L7L7L7L::: L7L7L7 'L7L7L7:::::: :7L7L7 :::::: ::L7L7L7L7L7L7L7L7L7L::::::. :::::: :::::7L7L7L7L7L7:::::::::::::::. ':: :::::::::::::::::::::::::::::::::::. ' ${c2} """) hyfetch-1.4.11/hyfetch/distros/langitketujuh_old.py000066400000000000000000000014431453247431100224450ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt langitketujuh_old = AsciiArt(match=r'''"LangitKetujuh_old"''', color='7 4', ascii=r""" ${c1} L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L 'L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L L7L. 'L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L7L7L7L7L7L7L7L7L L7L7L7L 'L7L7L7L7L7L7L7L7L7L L7L7L7L 'L7L7L7L7L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L. 'L7L L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L. L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L ${c2} """) hyfetch-1.4.11/hyfetch/distros/laxeros.py000066400000000000000000000014361453247431100204100ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt laxeros = AsciiArt(match=r'''"LaxerOS"*''', color='7 4', ascii=r""" ${c2} /. `://:- `//////: .////////:` -//////////:` -/////////////` :///////////////. `://////.```-//////- `://///:` .//////- `//////: `//////: .//////- `://///:` -//////- `://///:` -//////. ://////` ://////` -//////. `/////:` ./////: .-::-` .:::-` .:://////////////////////////////////::. //////////////////////////////////////// .:////////////////////////////////////:. """) hyfetch-1.4.11/hyfetch/distros/lede.py000066400000000000000000000005001453247431100176330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt lede = AsciiArt(match=r'''"LEDE"*''', color='4 7 1', ascii=r""" ${c1} _________ / /\ / LE / \ / DE / \ /________/ LE \ \ \ DE / \ LE \ / \ DE \ / \________\/ """) hyfetch-1.4.11/hyfetch/distros/libreelec.py000066400000000000000000000022141453247431100206540ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt libreelec = AsciiArt(match=r'''"LibreELEC"*''', color='2 3 7 14 13', ascii=r""" ${c1} :+ooo/. ${c2}./ooo+: ${c1} :+ooooooo/. ${c2}./ooooooo+: ${c1} :+ooooooooooo:${c2}:ooooooooooo+: ${c1} :+ooooooooooo+- ${c2}-+ooooooooooo+: ${c1} :+ooooooooooo+- ${c3}-- ${c2}-+ooooooooooo+: ${c1}.+ooooooooooo+- ${c3}:+oo+: ${c2}-+ooooooooooo+- ${c1}-+ooooooooo+- ${c3}:+oooooo+: ${c2}-+oooooooooo- ${c1} :+ooooo+- ${c3}:+oooooooooo+: ${c2}-+oooooo: ${c1} :+o+- ${c3}:+oooooooooooooo+: ${c2}-+oo: ${c4} ./ ${c3}:oooooooooooooooooo: ${c5}/. ${c4} ./oo+: ${c3}-+oooooooooooooo+- ${c5}:+oo/. ${c4} ./oooooo+: ${c3}-+oooooooooo+- ${c5}:+oooooo/. ${c4}-oooooooooo+: ${c3}-+oooooo+- ${c5}:+oooooooooo- ${c4}.+ooooooooooo+: ${c3}-+oo+- ${c5}:+ooooooooooo+. ${c4} -+ooooooooooo+: ${c3}.. ${c5}:+ooooooooooo+- ${c4} -+ooooooooooo+: ${c5}:+ooooooooooo+- ${c4} -+oooooooooo+:${c5}:+oooooooooo+- ${c4} -+oooooo+: ${c5}:+oooooo+- ${c4} -+oo+: ${c5}:+oo+- ${c4} .. ${c5}.. """) hyfetch-1.4.11/hyfetch/distros/linspire.py000066400000000000000000000017721453247431100205630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linspire = AsciiArt(match=r'''"Linspire"* | "Freespire"* | "Lindows"*''', color='4 2', ascii=r""" ${c2} __^ ${c2} __/ \ ${c2} MMy dMy __/ \ ${c2} dMMy MMy ${c1}MM${c2} \ ${c2} MMMy ,, ${c1}dMMMMn ${c2}\ ${c2} dMMy dMM dMMMMMMy ${c1}dMM MM dMMMMMy dMM MM.nMMM dMMMMMM ${c1}MMM ${c2}MMy MMy MMy ${c1}dMM MMy MMy MMy MMy dy dMy ${c1}MMM ${c2}dMM dMM MMy ${c1}dMMMMy dMM dMM dMM dMM dMMMMMMM ${c2} dMMy MMy MMy MMy ${c1}dMMy MM MMy MMy MMy dMM ${c2}dMMy dMM dMM dMM ${c1}dMM MMy dMMMMMy dMM dMM MMy MM ${c2}MMMMMMMMMM MMy MMy MMy ${c1}dMMMyyy MMy MMy MMy dMMMMMMy ${c2} ${c1}dy """) hyfetch-1.4.11/hyfetch/distros/linux.py000066400000000000000000000011151453247431100200640ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linux = AsciiArt(match=r'''"Linux"''', color='fg 8 3', ascii=r""" ${c2} ##### ${c2} ####### ${c2} ##${c1}O${c2}#${c1}O${c2}## ${c2} #${c3}#####${c2}# ${c2} ##${c1}##${c3}###${c1}##${c2}## ${c2} #${c1}##########${c2}## ${c2} #${c1}############${c2}## ${c2} #${c1}############${c2}### ${c3} ##${c2}#${c1}###########${c2}##${c3}# ${c3}######${c2}#${c1}#######${c2}#${c3}###### ${c3}#######${c2}#${c1}#####${c2}#${c3}####### ${c3} #####${c2}#######${c3}##### """) hyfetch-1.4.11/hyfetch/distros/linux_lite.py000066400000000000000000000010111453247431100210740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linux_lite = AsciiArt(match=r'''"Linux Lite"* | "Linux_Lite"*''', color='3 7', ascii=r""" ${c1} ,xXc .l0MMMMMO .kNMMMMMWMMMN, KMMMMMMKMMMMMMo 'MMMMMMNKMMMMMM: kMMMMMMOMMMMMMO .MMMMMMX0MMMMMW. oMMMMMMxWMMMMM: WMMMMMNkMMMMMO :MMMMMMOXMMMMW .0MMMMMxMMMMM; :;cKMMWxMMMMO 'MMWMMXOMMMMl kMMMMKOMMMMMX: .WMMMMKOWMMM0c lMMMMMWO0MNd:' oollXMKXoxl;. ':. .: .' .. . """) hyfetch-1.4.11/hyfetch/distros/linux_mint.py000066400000000000000000000020441453247431100211150ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linux_mint = AsciiArt(match=r'''"Linux Mint"* | "LinuxMint"* | "mint"*''', color='2 7', ascii=r""" ${c2} ...-:::::-... ${c2} .-MMMMMMMMMMMMMMM-. .-MMMM${c1}`..-:::::::-..`${c2}MMMM-. .:MMMM${c1}.:MMMMMMMMMMMMMMM:.${c2}MMMM:. -MMM${c1}-M---MMMMMMMMMMMMMMMMMMM.${c2}MMM- `:MMM${c1}:MM` :MMMM:....::-...-MMMM:${c2}MMM:` :MMM${c1}:MMM` :MM:` `` `` `:MMM:${c2}MMM: .MMM${c1}.MMMM` :MM. -MM. .MM- `MMMM.${c2}MMM. :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM-${c2}MMM: :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM:${c2}MMM: :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM-${c2}MMM: .MMM${c1}.MMMM` :MM:--:MM:--:MM: `MMMM.${c2}MMM. :MMM${c1}:MMM- `-MMMMMMMMMMMM-` -MMM-${c2}MMM: :MMM${c1}:MMM:` `:MMM:${c2}MMM: .MMM${c1}.MMMM:--------------:MMMM.${c2}MMM. '-MMMM${c1}.-MMMMMMMMMMMMMMM-.${c2}MMMM-' '.-MMMM${c1}``--:::::--``${c2}MMMM-.' ${c2} '-MMMMMMMMMMMMM-' ${c2} ``-:::::-`` """) hyfetch-1.4.11/hyfetch/distros/linux_mint_old.py000066400000000000000000000015721453247431100217600ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linux_mint_old = AsciiArt(match=r'''"Linux Mint Old"* | "LinuxMintOld"* | "mint_old"*''', color='2 7', ascii=r""" ${c1}MMMMMMMMMMMMMMMMMMMMMMMMMmds+. MMm----::-://////////////oymNMd+` MMd ${c2}/++ ${c1}-sNMd: MMNso/` ${c2}dMM `.::-. .-::.` ${c1}.hMN: ddddMMh ${c2}dMM :hNMNMNhNMNMNh: ${c1}`NMm NMm ${c2}dMM .NMN/-+MMM+-/NMN` ${c1}dMM NMm ${c2}dMM -MMm `MMM dMM. ${c1}dMM NMm ${c2}dMM -MMm `MMM dMM. ${c1}dMM NMm ${c2}dMM .mmd `mmm yMM. ${c1}dMM NMm ${c2}dMM` ..` ... ydm. ${c1}dMM hMM- ${c2}+MMd/-------...-:sdds ${c1}dMM -NMm- ${c2}:hNMNNNmdddddddddy/` ${c1}dMM -dMNs-${c2}``-::::-------.`` ${c1}dMM `/dMNmy+/:-------------:/yMMM ./ydNMMMMMMMMMMMMMMMMMMMMM .MMMMMMMMMMMMMMMMMMM """) hyfetch-1.4.11/hyfetch/distros/linux_small.py000066400000000000000000000005401453247431100212550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linux_small = AsciiArt(match=r'''"Linux_small"''', color='fg 8 3', ascii=r""" ${c2} ___ ${c2} (${c1}.. ${c2}| ${c2} (${c3}<> ${c2}| ${c2} / ${c1}__ ${c2}\ ${c2} ( ${c1}/ \ ${c2}/| ${c3}_${c2}/\ ${c1}__)${c2}/${c3}_${c2}) ${c3}\/${c2}-____${c3}\/ """) hyfetch-1.4.11/hyfetch/distros/linuxlite_small.py000066400000000000000000000004231453247431100221330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linuxlite_small = AsciiArt(match=r'''"linuxlite_small"*''', color='3 7', ascii=r""" ${c1} /\ / \ / ${c2}/ ${c1}/ > ${c2}/ ${c1}/ \ ${c2}\ ${c1}\ \_${c2}\${c1}_\ ${c2} \ """) hyfetch-1.4.11/hyfetch/distros/linuxmint_small.py000066400000000000000000000005071453247431100221500ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt linuxmint_small = AsciiArt(match=r'''"linuxmint_small"*''', color='2 7', ascii=r""" ${c1} ___________ |_ \ | ${c2}| _____ ${c1}| | ${c2}| | | | ${c1}| | ${c2}| | | | ${c1}| | ${c2}\__${c2}___/ ${c1}| \_________/ """) hyfetch-1.4.11/hyfetch/distros/live_raizo.py000066400000000000000000000013461453247431100210760ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt live_raizo = AsciiArt(match=r'''"Live Raizo"* | "Live_Raizo"*''', color='3', ascii=r""" ${c1} `......` -+shmNMMMMMMNmhs/. :smMMMMMmmhyyhmmMMMMMmo- -hMMMMd+:. `----` .:odMMMMh- `hMMMN+. .odNMMMMMMNdo. .yMMMMs` hMMMd. -dMMMMmdhhdNMMMNh` .mMMMh oMMMm` :MMMNs.:sddy:-sMMMN- `NMMM+ mMMMs dMMMo sMMMMMMd yMMMd sMMMm ----` .---` oNMMMMMh `---. .---- .sMMy: /MM/ +dMMms. hMMMMMMN `dMMMMMMm: .+ss+sMNysMMoomMd+ss+. +MMMMMMN` +MM/ hMMMMMNs sMMMMMMm-hNMMMd-hMMMMMMd :yddh+`hMMMMMMN :yddy/` .hMMMMd: `..` """) hyfetch-1.4.11/hyfetch/distros/lmde.py000066400000000000000000000013121453247431100176450ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt lmde = AsciiArt(match=r'''"LMDE"*''', color='2 7', ascii=r""" ${c2} `.-::---.. ${c1} .:++++ooooosssoo:. .+o++::. `.:oos+. ${c1} :oo:.` -+oo${c2}: ${c1} ${c2}`${c1}+o/` .${c2}::::::${c1}-. .++-${c2}` ${c1}${c2}`${c1}/s/ .yyyyyyyyyyo: +o-${c2}` ${c1}${c2}`${c1}so .ss ohyo` :s-${c2}: ${c1}${c2}`${c1}s/ .ss h m myy/ /s`${c2}` ${c1}`s: `oo s m Myy+-o:` `oo :+sdoohyoydyso/. :o. .:////////++: ${c1} `/++ ${c2}-:::::- ${c1} ${c2}`${c1}++- ${c1} ${c2}`${c1}/+- ${c1} ${c2}.${c1}+/. ${c1} ${c2}.${c1}:+-. `--.`` """) hyfetch-1.4.11/hyfetch/distros/lubuntu.py000066400000000000000000000022601453247431100204250ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt lubuntu = AsciiArt(match=r'''"Lubuntu"*''', color='4 7 1', ascii=r""" ${c1} `.:/ossyyyysso/:. `.:yyyyyyyyyyyyyyyyyy:.` .:yyyyyyyyyyyyyyyyyyyyyyyy:. .:yyyyyyyyyyyyyyyyyyyyyyyyyyyy:. -yyyyyyyyyyyyyy${c2}+hNMMMNh+${c1}yyyyyyyyy- :yy${c2}mNy+${c1}yyyyyyyy${c2}+Nmso++smMdhyysoo+${c1}yy: -yy${c2}+MMMmmy${c1}yyyyyy${c2}hh${c1}yyyyyyyyyyyyyyyyyyy- .yyyy${c2}NMN${c1}yy${c2}shhs${c1}yyy${c2}+o${c1}yyyyyyyyyyyyyyyyyyyy. :yyyy${c2}oNM+${c1}yyyy${c2}+sso${c1}yyyyyyy${c2}ss${c1}yyyyyyyyyyyyy: :yyyyy${c2}+dNs${c1}yyyyyyy${c2}++${c1}yyyyy${c2}oN+${c1}yyyyyyyyyyyy: :yyyyy${c2}oMMmhysso${c1}yyyyyyyyyy${c2}mN+${c1}yyyyyyyyyyy: :yyyyyy${c2}hMm${c1}yyyyy${c2}+++${c1}yyyyyyy${c2}+MN${c1}yyyyyyyyyyy: .yyyyyyy${c2}ohmy+${c1}yyyyyyyyyyyyy${c2}NMh${c1}yyyyyyyyyy. -yyyyyyyyyy${c2}++${c1}yyyyyyyyyyyy${c2}MMh${c1}yyyyyyyyy- :yyyyyyyyyyyyyyyyyyyyy${c2}+mMN+${c1}yyyyyyyy: -yyyyyyyyyyyyyyyyy${c2}+sdMMd+${c1}yyyyyyyy- .:yyyyyyyyy${c2}hmdmmNMNdy+${c1}yyyyyyyy:. .:yyyyyyy${c2}my${c1}yyyyyyyyyyyyyyy:. `.:yyyy${c2}s${c1}yyyyyyyyyyyyy:.` `.:/oosyyyysso/:.` """) hyfetch-1.4.11/hyfetch/distros/lunar.py000066400000000000000000000011161453247431100200470ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt lunar = AsciiArt(match=r'''"Lunar"*''', color='4 7 3', ascii=r""" ${c1}`-. `-. -ohys/-` `:+shy/` -omNNdyo/` :+shmNNy/` ${c3} - /mMmo hMMMN` .NMMs ${c1} -:+oooo+//: ${c3}/MN${c1}. -///oooo+/-` /:.` ${c3}/${c1} `.:/` ${c3} __ | | _ _ ___ ___ ___ | |__| | | | .'| _| |_____|___|_|_|__,|_| """) hyfetch-1.4.11/hyfetch/distros/mac.py000066400000000000000000000012351453247431100174700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mac = AsciiArt(match=r'''"mac"* | "Darwin"''', color='2 3 1 1 5 4', ascii=r""" ${c1} c.' ,xNMM. .OMMMMo lMM" .;loddo:. .olloddol;. cKMMMMMMMMMMNWMMMMMMMMMM0: ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd. XMMMMMMMMMMMMMMMMMMMMMMMX. ${c3};MMMMMMMMMMMMMMMMMMMMMMMM: :MMMMMMMMMMMMMMMMMMMMMMMM: ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX. kMMMMMMMMMMMMMMMMMMMMMMMMWd. ${c5}'XMMMMMMMMMMMMMMMMMMMMMMMMMMk 'XMMMMMMMMMMMMMMMMMMMMMMMMK. ${c6}kMMMMMMMMMMMMMMMMMMMMMMd ;KMMMMMMMWXXWMMMMMMMk. "cooc*" "*coo'" """) hyfetch-1.4.11/hyfetch/distros/mac_small.py000066400000000000000000000004451453247431100206620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mac_small = AsciiArt(match=r'''"mac"*"_small"''', color='2 3 1 5 4', ascii=r""" ${c1} .:' _ :'_ ${c2} .'`_`-'_``. :________.-' ${c3}:_______: :_______: ${c4} :_______`-; ${c5} `._.-._.' """) hyfetch-1.4.11/hyfetch/distros/mageia.py000066400000000000000000000011361453247431100201530ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mageia = AsciiArt(match=r'''"Mageia"*''', color='6 7', ascii=r""" ${c1} .°°. °° .°°. .°°°. °° . . °°° .°°°. .°°°. '___' ${c2} .${c1}'___' ${c2} . :dkxc;'. ..,cxkd; .dkk. kkkkkkkkkk .kkd. .dkk. ';cloolc;. .kkd ckk. .kk; xO: cOd xO: lOd lOO. .OO: .k00. .00x .k00; ;00O. .lO0Kc;,,,,,,;c0KOc. ;d00KKKKKK00d; .,KKKK,. """) hyfetch-1.4.11/hyfetch/distros/mageia_small.py000066400000000000000000000003531453247431100213430ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mageia_small = AsciiArt(match=r'''"mageia_small"*''', color='6 7', ascii=r""" ${c1} * * ** ${c2} /\__/\ / \ \ / \____/ """) hyfetch-1.4.11/hyfetch/distros/magpieos.py000066400000000000000000000016021453247431100205320ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt magpieos = AsciiArt(match=r'''"MagpieOS"*''', color='2 1 3 5', ascii=r""" ${c1} ;00000 :000Ol .x00kk00: O0kk00k; l00: :00. o0k :O0k. .k0k. x${c2}d$dddd${c1}k' .d00; k0k. ${c2}.dddddl ${c1}o00, o00. ${c2}':cc:. ${c1}d0O .00l ,00. l00. d0x k0O .:k0o O0k ;dO0000d. k0O .O0O${c2}xxxxk${c1}00: o00. k0O${c2}dddddd${c1}occ '00l x0O${c2}dddddo${c3};..${c1} x00. .x00${c2}kxxd${c3}:..${c1} .O0x .:oxxx${c4}Okl.${c1} .x0d ${c4},xx,${c1} .:o. ${c4}.xd ckd${c1} .. ${c4}dxl .xx; :xxolldxd' ;oxdl. """) hyfetch-1.4.11/hyfetch/distros/mainsailos.py000066400000000000000000000014731453247431100210730ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mainsailos = AsciiArt(match=r'''"MainsailOS"*''', color='1', ascii=r""" ${c1} - *%: :%%%# =%%%%%- *%%%%%%# :#%%%%%%%#. -%%%%%%%%+ *%%%%%%%%- : .#%%%%%%%#. *%= -%%%%%%%%+ :#%%%* +%%%%%%%%- =%%%%%%#. .#%%%%%%%#. *%%%%%%%%: -%%%%%%%%* :#%%%%%%%#. +%%%%%%%%- =%%%%%%%%+ :%*. .#%%%%%%%#: *%%%%%%%%- +%%%%*: :%%%%%%%%* :#%%%%%%%#. .*%%%%%%%* +%%%%%%%%= -%%%%%%%%+ :%%%%%%%%* .#%%%%%%%%: *%%%%%%%%- =%%%%%%%%= """) hyfetch-1.4.11/hyfetch/distros/mainsailos_small.py000066400000000000000000000004441453247431100222600ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mainsailos_small = AsciiArt(match=r'''"MainsailOS_small"*''', color='1', ascii=r""" ${c1} -: +%* .#%%+ -%%%: += +%%#..#%%- .#%%+ -%%%- += -%%%- +%%#..#%%+ """) hyfetch-1.4.11/hyfetch/distros/mandriva.py000066400000000000000000000014331453247431100205310ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mandriva = AsciiArt(match=r'''"Mandriva"* | "Mandrake"*''', color='4 3', ascii=r""" ${c2} `` `-. ${c1} ` ${c2}.--- ${c1} -/ ${c2}-::--` ${c1} `++ ${c2}`----...```-:::::. ${c1} `os. ${c2}.::::::::::::::-``` ` ` ${c1} +s+ ${c2}.::::::::::::::::---...--` ${c1}-ss: ${c2}`-::::::::::::::::-.``.`` ${c1}/ss- ${c2}.::::::::::::-.`` ` ${c1}+ss: ${c2}.::::::::::::- ${c1}/sso ${c2}.::::::-::::::- ${c1}.sss/ ${c2}-:::-.` .::::: ${c1} /sss+. ${c2}..`${c1} `--` ${c2}.::: ${c1} -ossso+/:://+/-` ${c2}.:` ${c1} -/+ooo+/-. ${c2}` """) hyfetch-1.4.11/hyfetch/distros/manjaro.py000066400000000000000000000023371453247431100203630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt manjaro = AsciiArt(match=r'''"Manjaro"*''', color='2 7', ascii=r""" ${c1}██████████████████ ████████ ██████████████████ ████████ ██████████████████ ████████ ██████████████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ """) hyfetch-1.4.11/hyfetch/distros/manjaro_small.py000066400000000000000000000004361453247431100215510ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt manjaro_small = AsciiArt(match=r'''"manjaro_small"*''', color='2 7', ascii=r""" ${c1}||||||||| |||| ||||||||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| """) hyfetch-1.4.11/hyfetch/distros/massos.py000066400000000000000000000012741453247431100202400ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt massos = AsciiArt(match=r'''"MassOS"*''', color='7', ascii=r""" ${c1} -+++/+++osyyhdmNNMMMMNdy/ /MMMMMMMMMMMMMMMMMMMMMMMMm. /MMMMMMMMMMMMMMMMMMMMMMMMMm /MMMMMMMMMMMMMMMMMMMMMMMMMM: :ddddddddhddddddddhdddddddd/ /NNNNNNNm:NNNNNNNN-NNNNNNNNo /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs :MMMMMMMN:MMMMMMMM-MMMMMMMMs dMMMMMMN:MMMMMMMM-MMMMMMMMs `yNMMMMN:MMMMMMMM-MMMMMMMMs `:+oss.ssssssss.ssssssss/ """) hyfetch-1.4.11/hyfetch/distros/matuusos.py000066400000000000000000000052331453247431100206120ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt matuusos = AsciiArt(match=r'''"MatuusOS"*''', color='9 11 0', ascii=r""" ${c2} ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░▒▓▓████▓▒▒░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░▒▓████████████▓░░░░░░░░░░░░░░ ░░░░░░░░░░░░▓████████████████▒░░░░░░░░░░░░ ░░░░░░░░░░░▓██████████████████▒░░░░░░░░░░░ ░░░░░░░░░░▓████▒▓███████▓▓█████░░░░░░░░░░░ ░░░░░░░░░░██████▓░▓████▒░██████▓░░░░░░░░░░ ░░░░░░░░░▒███████▓░▒▓▒░░████████░░░░░░░░░░ ░░░░░░░░░▒█████████▒░░░█████████░░░░░░░░░░ ░░░░░░░░░░██████████▓▒██████████░░░░░░░░░░ ░░░░░░░░░░▓████████████████████▒░░░░░░░░░░ ░░░░░░░░░░░███████████████████▓░░░░░░░░░░░ ░░░░░░░░░░░░█████████████████▓░░░░░░░░░░░░ ░░░░░░░░░░░░░▓██████████████▒░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░▒▓████████▓░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ """) hyfetch-1.4.11/hyfetch/distros/maui.py000066400000000000000000000015771453247431100176740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt maui = AsciiArt(match=r'''"Maui"*''', color='6 7', ascii=r""" ${c1} `.-://////:--` .:/oooooooooooooooo+:. `:+ooooooooooooooooooooooo:` `:oooooooooooooooooooooooooooo/` ..```-oooooo/-`` `:oooooo+:.` `-- :. +oo+-` /ooo/` -/ -o. `o+- +o/` -o: `oo` ::` :o/ `+. .+o` /oo. /o+ . -+oo- ` /oo/ `ooo/ +o- /ooo+` .+ooo. :ooo+ ++ .+oooo: -oooo+ `oooo+ :. .oooooo` :ooooo- :oooo: ` .oooooo: :ooooo+ `ooo+-` .+oooooo` -oooooo: `o/- +oooooo: .ooooooo. /ooooooo` /ooooooo/ .. `:oooooooo/:::/ooooooooo+:--:/:` `:+oooooooooooooooooooooo+:` .:+oooooooooooooooo+:. `.-://////:-.` """) hyfetch-1.4.11/hyfetch/distros/meowix.py000066400000000000000000000012061453247431100202360ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt meowix = AsciiArt(match=r'''"Meowix"*''', color='1 3 3 4', ascii=r""" ${c1} #${c2}% ${c3}&${c4}* ${c1} ##${c2}%% ${c3}&&${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%%${c3}&& ${c4}** ${c1} ## ${c2}%% ${c4}** ${c1} ## ${c4}** ${c1}## ${c4}** """) hyfetch-1.4.11/hyfetch/distros/mer.py000066400000000000000000000020611453247431100175110ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mer = AsciiArt(match=r'''"Mer"*''', color='4 7 1', ascii=r""" ${c1} dMs .-` `y`-o+` ``NMMy .--`:++. .hNNNNs /MMMMMN `ommmd/ +/ ```` +/ `:+sssso/-` .-::. `-::-` `smNMNmdmNMNd/ .://-` .ymNMNNdmNMMNm+` -dMMh:.....+dMMs `sNNMMNo dMN+::NMMy::hMM+ mMMo `ohhy/ `dMM+ yMMy::- MMm yMM- :MMs NMN` `:::::--sMMh dMM` MMm yMM- -MMs mMM+ `ymmdsymMMMs dMM` NNd sNN- -NNs -mMNs-.--..:dMMh` dNN --- .--` `--. .smMMmdddmMNdo` .-- ./ohddds+:` +h- `.:-. ./`.dMMMN+ +MMMMMd `+dmmy- ``` .+` .dMNo-y. `hmm/ .:` dMs """) hyfetch-1.4.11/hyfetch/distros/minix.py000066400000000000000000000014571453247431100200620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt minix = AsciiArt(match=r'''"Minix"*''', color='1 7 3', ascii=r""" ${c2} -sdhyo+:-` -/syymm: sdyooymmNNy. `` .smNmmdysNd odyoso+syNNmysoyhhdhsoomNmm+/osdm/ :hhy+-/syNNmddhddddddmNMNo:sdNd: `smNNdNmmNmddddddddddmmmmmmmy` `ohhhhdddddmmNNdmddNmNNmdddddmdh- odNNNmdyo/:/-/hNddNy-`..-+ydNNNmd: `+mNho:` smmd/ sNNh :dmms` -+ymmo. -od/ -m${c1}mm${c2}mo -NN+ +m${c1}mm${c2}m- yms: +sms -.` :so: .NN+ :os/ .-`mNh: .-hyh+:////- -sNNd:` .--://ohNs- `:hNNNNNNNMMd/sNMmhsdMMh/ymmNNNmmNNy/ -+sNNNNMMNNNsmNMo: :NNmymNNNNMMMms: //oydNMMMMydMMNysNMMmsMMMMMNyo/` ../-yNMMy--/::/-.sMMmos+.` -+oyhNsooo+omy/``` `::ohdmds-` """) hyfetch-1.4.11/hyfetch/distros/miracle_linux.py000066400000000000000000000010421453247431100215570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt miracle_linux = AsciiArt(match=r'''"MIRACLE LINUX"* | "MIRACLE_LINUX"*''', color='29', ascii=r""" ${c1} ,A .### .#' .#### .#. r##: :#### ####. +###; :#### ######C :####: #### ,######".#. .# :####. :### #####'.#####. ##: `####. ### ###'.########+. #### `####::## ##'.#######+' ####+.`###i## #',####:' `+###MI`##### 'l###:' `+####+`### ;#E' `+###:## #' `:### ' '## '; """) hyfetch-1.4.11/hyfetch/distros/mx.py000066400000000000000000000015321453247431100173540ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mx = AsciiArt(match=r'''"MX"*''', color='4 6 7', ascii=r""" ${c3}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMM MMMMMMMMMMNs..yMMMMMMMMMMMMMm: +NMMMMMMM MMMMMMMMMN+ :mMMMMMMMMMNo` -dMMMMMMMM MMMMMMMMMMMs. `oNMMMMMMh- `sNMMMMMMMMM MMMMMMMMMMMMN/ -hMMMN+ :dMMMMMMMMMMM MMMMMMMMMMMMMMh- +ms. .sMMMMMMMMMMMMM MMMMMMMMMMMMMMMN+` ` +NMMMMMMMMMMMMMM MMMMMMMMMMMMMMNMMd: .dMMMMMMMMMMMMMMM MMMMMMMMMMMMm/-hMd- `sNMMMMMMMMMMMMM MMMMMMMMMMNo` -` :h/ -dMMMMMMMMMMMM MMMMMMMMMd: /NMMh- `+NMMMMMMMMMM MMMMMMMNo` :mMMN+` `-hMMMMMMMM MMMMMMh. `oNMMd: `/mMMMMMM MMMMm/ -hMd- `sNMMMM MMNs` - :dMMM Mm: `oMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM """) hyfetch-1.4.11/hyfetch/distros/mx_small.py000066400000000000000000000003671453247431100205510ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt mx_small = AsciiArt(match=r'''"mx_small"*''', color='4 6 7', ascii=r""" ${c3} \\ / \\/ \\ /\/ \\ / \ /\ / \/ \ /__________\ """) hyfetch-1.4.11/hyfetch/distros/namib.py000066400000000000000000000016371453247431100200240ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt namib = AsciiArt(match=r'''"Namib"*''', color='1', ascii=r""" ${c1} .:+shysyhhhhysyhs+:. -/yyys syyy/- -shy yhs- -yhs shy- +hy yh+ +ds sd+ /ys so sy/ sh smMMNdyo hs yo ymMMMMNNMMNho oy N ydMMMNNMMMMMMMMMmy N N shmMMMMNNMMMMMMMMMMMMMNy N yo ooshmNMMMNNNNMMMMMMMMMMMMMMMMMms oy sd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ds /ys sy/ +ds sd+ +hy yh+ -yhs shy- -shy yhs- -/yyys syyy/- .:+shysyhyhhysyhs+:. """) hyfetch-1.4.11/hyfetch/distros/nekos.py000066400000000000000000000017741453247431100200570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nekos = AsciiArt(match=r'''"NekOS"*''', color='3 7 1', ascii=r""" ${c1} @@@@@ @@@@@@@@@. @@@@@@@@ @@@ @@@@@@@@@@@ @@. @@@@@@@@@@@@@ . @@@@@@@@@@@@@@@@@ , @@@@@@@@@@@@@@@@@@@ @@@@@${c2}///${c1}@@@@@@@${c2}///${c1}@@@ @@@@${c2}/***${c1}@@@@@@@${c2}**//${c1}@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@ @@@/ /@@@@@@@@@/ /@@@ @@@@@@ @@@${c3}██${c1}@@@@ @@@@@@ @@@@@@/ /@${c2}██${c3}██${c2}██${c1}@@/ /@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ ##########%%%% ##########%% %% @ @@@#######@@%%% @@@ @@@@####@@@@ % @@@ @@@@@@@#@@@@@@@ @@@ @@@@@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ """) hyfetch-1.4.11/hyfetch/distros/neptune.py000066400000000000000000000014441453247431100204100ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt neptune = AsciiArt(match=r'''"Neptune"*''', color='7', ascii=r""" ${c1} ./+sydddddddys/-. .+ymNNdyooo/:+oooymNNmy/` `/hNNh/.` `-+dNNy:` /mMd/. .++.:oy/ .+mMd- `sMN/ oMMmdy+. `oNNo `hMd. `/ymy/. :NMo oMN- `/dMd: /MM- `mMy -dMN+` mMs .MMo -NMM/ yMs dMh mMMMo:` `NMo /MM/ /ymMMMm- sMN. +Mm: .hMMd` oMN/ +mNs. `yNd/` -dMm- .yMNs: `/.` `/yNNo` .odNNy+-` .:ohNNd/. -+ymNNmdyyyyyyydmNNmy+. `-//sssssss//. """) hyfetch-1.4.11/hyfetch/distros/netbsd.py000066400000000000000000000011011453247431100201770ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt netbsd = AsciiArt(match=r'''"NetBSD"*''', color='5 7', ascii=r""" ${c1} `-/oshdmNMNdhyo+:-` ${c2}y${c1}/s+:-`` `.-:+oydNMMMMNhs/-`` ${c2}-m+${c1}NMMMMMMMMMMMMMMMMMMMNdhmNMMMmdhs+/-` ${c2}-m+${c1}NMMMMMMMMMMMMMMMMMMMMmy+:` ${c2}-N/${c1}dMMMMMMMMMMMMMMMds:` ${c2}-N/${c1}hMMMMMMMMMmho:` ${c2}-N/${c1}-:/++/:.` ${c2} :M+ :Mo :Ms :Ms :Ms :Ms :Ms :Ms :Ms :Ms """) hyfetch-1.4.11/hyfetch/distros/netbsd_small.py000066400000000000000000000005031453247431100213740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt netbsd_small = AsciiArt(match=r'''"netbsd_small"*''', color='5 7', ascii=r""" ${c2}\\${c1}\`-______,----__ ${c2} \\ ${c1}__,---\`_ ${c2} \\ ${c1}\`.____ ${c2} \\${c1}-______,----\`- ${c2} \\ \\ \\ """) hyfetch-1.4.11/hyfetch/distros/netrunner.py000066400000000000000000000016401453247431100207500ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt netrunner = AsciiArt(match=r'''"Netrunner"*''', color='4 7 1', ascii=r""" ${c1} .:oydmMMMMMMmdyo:` -smMMMMMMMMMMMMMMMMMMds- +mMMMMMMMMMMMMMMMMMMMMMMMMd+ /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMm/ `hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy` .mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd` dMMMMMMMMMMMMMMMMMMMMMMNdhmMMMMMMMMMMh +MMMMMMMMMMMMMNmhyo+/-. -MMMMMMMMMMMM/ mMMMMMMMMd+:.` `mMMMMMMMMMMMMd MMMMMMMMMMMdy/. yMMMMMMMMMMMMMM MMMMMMMMMMMMMMMNh+` +MMMMMMMMMMMMMMM mMMMMMMMMMMMMMMMMMs -NMMMMMMMMMMMMMMd +MMMMMMMMMMMMMMMMMN. `mMMMMMMMMMMMMMMM/ dMMMMMMMMMMMMMMMMMy hMMMMMMMMMMMMMMMh `dMMMMMMMMMMMMMMMMM-+MMMMMMMMMMMMMMMd` `hMMMMMMMMMMMMMMMMmMMMMMMMMMMMMMMMy /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMm: +dMMMMMMMMMMMMMMMMMMMMMMMMd/ -odMMMMMMMMMMMMMMMMMMdo- `:+ydmNMMMMNmhy+-` """) hyfetch-1.4.11/hyfetch/distros/nitrux.py000066400000000000000000000007701453247431100202640ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nitrux = AsciiArt(match=r'''"Nitrux"*''', color='4', ascii=r""" ${c1}`:/. `/yo `/yo `/yo .+:. `/yo .sys+:.` `/yo `-/sys+:.` `/yo ./sss+:.` `/yo .:oss+:-` `/yo ./o///:-` `/yo `.-:///////:` `/yo `.://///++//-`` `/yo `.-:////++++/-` `/yo `-://///++o+/-` `/yo `-/+o+++ooo+/-` `/s+:+oooossso/.` `//+sssssso:. `+syyyy+:` :+s+- """) hyfetch-1.4.11/hyfetch/distros/nixos.py000066400000000000000000000034411453247431100200710ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nixos = AsciiArt(match=r'''"NixOS"*''', color='4 6', ascii=r""" ${c1} ▗▄▄▄ ${c2}▗▄▄▄▄ ▄▄▄▖ ${c1} ▜███▙ ${c2}▜███▙ ▟███▛ ${c1} ▜███▙ ${c2}▜███▙▟███▛ ${c1} ▜███▙ ${c2}▜██████▛ ${c1} ▟█████████████████▙ ${c2}▜████▛ ${c1}▟▙ ${c1} ▟███████████████████▙ ${c2}▜███▙ ${c1}▟██▙ ${c2} ▄▄▄▄▖ ▜███▙ ${c1}▟███▛ ${c2} ▟███▛ ▜██▛ ${c1}▟███▛ ${c2} ▟███▛ ▜▛ ${c1}▟███▛ ${c2}▟███████████▛ ${c1}▟██████████▙ ${c2}▜██████████▛ ${c1}▟███████████▛ ${c2} ▟███▛ ${c1}▟▙ ▟███▛ ${c2} ▟███▛ ${c1}▟██▙ ▟███▛ ${c2} ▟███▛ ${c1}▜███▙ ▝▀▀▀▀ ${c2} ▜██▛ ${c1}▜███▙ ${c2}▜██████████████████▛ ${c2} ▜▛ ${c1}▟████▙ ${c2}▜████████████████▛ ${c1} ▟██████▙ ${c2}▜███▙ ${c1} ▟███▛▜███▙ ${c2}▜███▙ ${c1} ▟███▛ ▜███▙ ${c2}▜███▙ ${c1} ▝▀▀▀ ▀▀▀▀▘ ${c2}▀▀▀▘ """) hyfetch-1.4.11/hyfetch/distros/nixos_old.py000066400000000000000000000040221453247431100207230ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nixos_old = AsciiArt(match=r'''"nixos_old"*''', color='4 6', ascii=r""" ${c1} ____ ${c2}_______ ____ ${c1} /####\ ${c2}\######\ /####\ ${c1} ######\ ${c2}\######\ /#####/ ${c1} \######\ ${c2}\######\ /#####/ ${c1} \######\ ${c2}\######\/#####/ ${c1}/\ ${c1} \######\ ${c2}\###########/ ${c1}/##\ ${c1} ________\######\______${c2}\#########/ ${c1}/####\ ${c1} /#######################${c2}\#######/ ${c1}/###### ${c1} /#########################${c2}\######\ ${c1}/######/ ${c1} /###########################${c2}\######\ ${c1}/######/ ${c1} ¯¯¯¯¯¯¯¯¯¯¯¯${c2}/######/${c1}¯¯¯¯¯¯¯¯¯${c2}\######${c1}/######/ ${c2} /######/ ${c2}\####${c1}/######/________ ${c2} _____________/######/ ${c2}\##${c1}/################\ ${c2} /###################/ ${c2}\${c1}/##################\ ${c2} \##################/${c1}\ /###################/ ${c2} \################/${c1}##\ /######/¯¯¯¯¯¯¯¯¯¯¯¯¯ ${c2} ¯¯¯¯¯¯¯¯/######/${c1}####\ /######/ ${c2} /######/${c1}######\${c2}_________${c1}/######/${c2}____________ ${c2} /######/ ${c1}\######\${c2}###########################/ ${c2} /######/ ${c1}\######\${c2}#########################/ ${c2} ######/ ${c1}/#######\${c2}#######################/ ${c2} \####/ ${c1}/#########\${c2}¯¯¯¯¯¯\######\¯¯¯¯¯¯¯¯ ${c2} \##/ ${c1}/###########\${c2} \######\ ${c2} \/ ${c1}/#####/\######\${c2} \######\ ${c1} ${c1}/#####/ \######\${c2} \######\ ${c1} ${c1}/#####/ \######\${c2} \###### ${c1} ${c1}\####/ \######\${c2} \####/ ${c1} ${c1}¯¯¯¯ ¯¯¯¯¯¯¯${c2} ¯¯¯¯ """) hyfetch-1.4.11/hyfetch/distros/nixos_small.py000066400000000000000000000004131453247431100212550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nixos_small = AsciiArt(match=r'''"nixos_small"''', color='4 6', ascii=r""" ${c1} \\ \\ // ==\\__\\/ // // \\// ==// //== //\\___// // /\\ \\== // \\ \\ """) hyfetch-1.4.11/hyfetch/distros/nobara.py000066400000000000000000000044671453247431100202040ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nobara = AsciiArt(match=r'''"Nobara"*''', color='"#999999" "#d80a0a" "#e5b90b"', ascii=r""" ${c1} ⢀⣤⣴⣶⣶⣶⣦⣤⡀⠀⣀⣠⣤⣴⣶⣶⣶⣶⣶⣶⣶⣶⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠉⠁⠀⠀⠉⠉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀${c3}⢀⣀⣀⡀${c1}⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀${c3}⢠⣾⣿⣿⣿⣿⣷⡄${c1}⠀⠀⠀⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀${c3}⣿⣿⣿⣿⣿⣿⣿⡇${c1}⠀⠀⠀⠀⠀⣀⣀⣬⣽⣿⣿⣿⣿⣿⣿⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀${c3}⠈⠻⢿⣿⣿⡿⠟⠁${c1}⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠉⠉⠛⠛⢿⣿⣿⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀ ${c2} ⠘⢿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀ ${c2} ⠈⠙⠛⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠛⠉⠁ """) hyfetch-1.4.11/hyfetch/distros/nomadbsd.py000066400000000000000000000007611453247431100205220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nomadbsd = AsciiArt(match=r'''"NomadBSD"*''', color='4', ascii=r""" ${c1} _======__ (===============\ (===================\ _ _---__ (= ====- (= ====== (== ====== (== ====== (==\ \=-_ _=/ /====/ (==\ \========/ /====/ /====-_ (==\ \=====/ /==/ /===-- /================/ /===- \===========/ """) hyfetch-1.4.11/hyfetch/distros/nurunner.py000066400000000000000000000013751453247431100206110ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nurunner = AsciiArt(match=r'''"Nurunner"*''', color='4', ascii=r""" ${c1} ,xc ;00cxXl ;K0, .xNo. :KO' .lXx. cXk. ;xl cXk. cXk. ;k:.,xo. cXk. .lXx. :x::0MNl,dd. :KO, .xNx. cx;:KMMMMMNo'dx. ;KK; .dNl. cd,cXMMMMMMMMMWd,ox' 'OK: ;WK. 'K,.KMMMMMMMMMMMMMWc.Kx lMO 'OK: 'dl'xWMMMMMMMMMM0::x: 'OK: .kNo .xo'xWMMMMMM0;:O: ;KK; .dXd. .do,oNMMO;ck: ;00, oNd. .dx,;'cO; ;K0, oNx. okk; ;K0, lXx. :KO' cKk' cXk. ;00:lXx. ,kd. """) hyfetch-1.4.11/hyfetch/distros/nutyx.py000066400000000000000000000015631453247431100201230ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt nutyx = AsciiArt(match=r'''"NuTyX"*''', color='4 1', ascii=r""" ${c1} . . ... ... .... .........--. ..-++-----....--++++++---. .-++++++-. .-++++++++++++-----.. .--... .++..-+++--.....-++++++++++--.. . .-+-. .**- .... ..-+----.. .+++. .*+. + -++-----. .+++++- ++. .*+. .....-+++-----. -+++-++. .+. .-+***++***++--++++. . -+-. -- -. -*- ...... ..--. .-. .+- . -+. . .+- +. -- -- -+----. .- -++-.+. . .++. -- +. ----. . .+. .. - . . """) hyfetch-1.4.11/hyfetch/distros/obarun.py000066400000000000000000000012471453247431100202210ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt obarun = AsciiArt(match=r'''"Obarun"*''', color='6 6 7 1', ascii=r""" ${c1} ,;::::; ;cooolc;, ,coool; ,loool, loooo; :ooool cooooc ,:ccc; looooc :oooooool cooooo ;oooooooooo, :ooooo; :ooooooooooo oooooo oooooooooooc :oooooo :ooooooooool loooooo ;oooooooool looooooc .coooooooc cooooooo: ,;co; ,ooooooool; ,:loc cooooooooooooloooooc ;ooooooooooooool; ;looooooolc; """) hyfetch-1.4.11/hyfetch/distros/obrevenge.py000066400000000000000000000010601453247431100207000ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt obrevenge = AsciiArt(match=r'''"OBRevenge"*''', color='1 7 3', ascii=r""" ${c1} __ __ _@@@@ @@@g_ _@@@@@@ @@@@@@ _@@@@@@M W@@@@@@_ j@@@@P ^W@@@@ @@@@L____ _____Q@@@@ Q@@@@@@@@@@j@@@@@@@@@@ @@@@@ T@j@ T@@@@@ @@@@@ ___Q@J@ _@@@@@ @@@@@fMMM@@j@jggg@@@@@@ @@@@@ j@j@^MW@P @@@@ Q@@@@@ggg@@f@ @@@@@@L ^@@@@WWMMP ^ Q@@@@ @@@@@_ _@@@@l W@@@@@g_____g@@@@@P @@@@@@@@@@@@@@@@l ^W@@@@@@@@@@@P ^TMMMMTll """) hyfetch-1.4.11/hyfetch/distros/omnios.py000066400000000000000000000007511453247431100202360ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt omnios = AsciiArt(match=r'''"OmniOS"*''', color='15 3 8', ascii=r""" ${c1} ____ __ __ _ _ _ / __ \ | \/ || \ | || | | | | || || \| || | | |__| || |\/| || , `${c2}_${c1}||${c2}_${c1}| ${c2}____${c1} \____/ |_| |_||_|\${c2}/ __ \ / ___| | | | ||(__ ${c3}community${c2} | |__| | ___)| ${c3}edition${c2} \____/ |____/ """) hyfetch-1.4.11/hyfetch/distros/open_source_media_center.py000066400000000000000000000017021453247431100237470ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt open_source_media_center = AsciiArt(match=r'''"Open Source Media Center"* | "osmc"''', color='4 7 1', ascii=r""" ${c1} -+shdmNNNNmdhs+- .+hMNho/:..``..:/ohNMh+. :hMdo. .odMh: -dMy- -yMd- sMd- -dMs hMy +. .+ yMh yMy dMs. .sMd yMy :Mm dMNMs` `sMNMd `mM: yM+ dM//mNs``sNm//Md +My mM- dM: +NNNN+ :Md -Mm mM- dM: `oNN+ :Md -Mm yM+ dM/+NNo` :Md +My :Mm` dMMNs` :Md `mM: yMy dMs` -ms yMy hMy +. yMh sMd- -dMs -dMy- -yMd- :hMdo. .odMh: .+hMNho/:..``..:/ohNMh+. -+shdmNNNNmdhs+- """) hyfetch-1.4.11/hyfetch/distros/openbsd.py000066400000000000000000000017621453247431100203670ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openbsd = AsciiArt(match=r'''"OpenBSD"*''', color='3 7 6 1 8', ascii=r""" ${c3} _ (_) ${c1} | . ${c1} . |L /| . ${c3} _ ${c1} _ . |\ _| \--+._/| . ${c3}(_) ${c1} / ||\| Y J ) / |/| ./ J |)'( | ` F`.'/ ${c3} _ ${c1} -<| F __ .-< ${c3}(_) ${c1} | / .-'${c3}. ${c1}`. /${c3}-. ${c1}L___ J \ < ${c3}\ ${c1} | | ${c5}O${c3}\${c1}|.-' ${c3} _ ${c1} _J \ .- \${c3}/ ${c5}O ${c3}| ${c1}| \ |${c1}F ${c3}(_) ${c1} '-F -<_. \ .-' `-' L__ __J _ _. >-' ${c1})${c4}._. ${c1}|-' ${c1} `-|.' /_. ${c4}\_| ${c1} F /.- . _.< /' /.' .' `\ /L /' |/ _.-'-\ /'J ___.---'\| |\ .--' V | `. ` |/`. `-. `._) / .-.\ \ ( `\ `.\ """) hyfetch-1.4.11/hyfetch/distros/openbsd_small.py000066400000000000000000000004521453247431100215520ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openbsd_small = AsciiArt(match=r'''"openbsd_small"''', color='3 7 6 1 8', ascii=r""" ${c1} _____ \- -/ \_/ \ | ${c2}O O${c1} | |_ < ) 3 ) / \ / /-_____-\ """) hyfetch-1.4.11/hyfetch/distros/openeuler.py000066400000000000000000000022751453247431100207330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openeuler = AsciiArt(match=r'''"openEuler"*''', color='4 7 1', ascii=r""" ${c1} `.cc.` ``.cccccccc..` `.cccccccccccccccc.` ``.cccccccccccccccccccccc.`` `..cccccccccccccccccccccccccccc..` `.ccccccccccccccc${c2}/++/${c1}ccccccccccccccccc.` .ccccccccccccccc${c2}mNMMNdo+oso+${c1}ccccccccccc. .cccccccccc${c2}/++odms+//+mMMMMm/:+syso/${c1}cccc .ccccccccc${c2}yNNMMMs:::/::+o+/:${c1}c${c2}dMMMMMm${c1}cccc .ccccccc${c2}:+NmdyyhNNmNNNd:${c1}ccccc${c1}${c2}:oyyyo:${c1}cccc .ccc${c2}:ohdmMs:${c1}cccc${c2}+mNMNmy${c1}ccccccccccccccccc .cc${c2}/NMMMMMo////:${c1}c${c2}:///:${c1}cccccccccccccccccc .cc${c2}:syysyNMNNNMNy${c1}ccccccccccccccccccccccc .cccccccc${c2}+MMMMMNy${c1}c${c2}:/+++/${c1}cccccccccccccccc .ccccccccc${c2}ohhhs/${c1}c${c2}omMMMMNh${c1}ccccccccccccccc .ccccccccccccccc${c2}:MMMMMMMM/${c1}cccccccccccccc .cccccccccccccccc${c2}sNNNNNd+${c1}cccccccccccccc. `..cccccccccccccccc${c2}/+/:${c1}cccccccccccccc..` ``.cccccccccccccccccccccccccccc.`` `.cccccccccccccccccccccc.` ``.cccccccccccccc.`` `.cccccccc.` `....` """) hyfetch-1.4.11/hyfetch/distros/openindiana.py000066400000000000000000000013711453247431100212160ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openindiana = AsciiArt(match=r'''"OpenIndiana"*''', color='4 7 1', ascii=r""" ${c2} .sy/ .yh+ ${c1}-+syyyo+- ${c2} /+. ${c1}+ddo/---/sdh/ ${c2} ym- ${c1}`hm+ `sms${c2} ym-```````.-. ${c1}sm+ sm/ ${c2} ym- +s ${c1}hm. /mo ${c2} ym- /h ${c1}omo ym: ${c2} ym- `os` ${c1}smo` .ym+ ${c2} ym- .os- `` ${c1}:ymy+///oyms- ${c2} ym- .+s+. ..` ${c1}`:+oo+/-` ${c2} -//oyo- -:` .:oys/. +- `./oyys/. h+` `.-:+oyyyo/-` `/ossssysso+/-.` """) hyfetch-1.4.11/hyfetch/distros/openkylin.py000066400000000000000000000012721453247431100207410ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openkylin = AsciiArt(match=r'''"openKylin"*''', color='2 7', ascii=r""" ${c1} /KKK] KKKKKKK` ]KKKK\ KKKKK/ /KKKKKKKKK\ KKKK/ ,KKKKKKKKKKKK^ ,]KKK =KKK` /KKKKKKOOOOOO` ,KKKKKK =KK /` [\OOOOOOO\ \KKKKK =K ,OOOOOOO` ,KKKKK =^ \OOOOOO ,KKKK ^ OOOOOO^ *KKK^ =OOOOO^ OOKK^ OOOOOO^ \OOOK\ /OOOOOO` OOOOOO] ,OOOOOOO^ ,OOOOOOOO\] ,[OOOOOOOOO/ \OOOOOOOOOOOOOOOOOOOOO` [OOOOOOOOOOOOOOOO/` ,[OOOOOOOOO] """) hyfetch-1.4.11/hyfetch/distros/openmamba.py000066400000000000000000000017361453247431100206750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openmamba = AsciiArt(match=r'''"openmamba"*''', color='7 2', ascii=r""" ${c1} ````` .-/+ooooooooo+/:-` ./ooooooooooooooooooo+:. -+oooooooooooooooooooooooo+- .+ooooooooo+/:---::/+ooooooooo+. :oooooooo/-` `-/oo${c2}s´${c1}oooo.${c2}s´${c1} :ooooooo/` `${c2}sNds${c1}ooo${c2}sNds${c1} -ooooooo- ${c2}:dmy${c1}ooo${c2}:dmy${c1} +oooooo: :oooooo- .ooooooo .://:` :oooooo+ ./+o+:` -ooooooo` `oooooo+ `ooooooo: /oooooo+ -ooooooo: :ooooooo. :ooooooo+. .+ooooooo: :oooooooo+-` `-+oooooooo: .+ooooooooo+/::::://oooooooooo+. -+oooooooooooooooooooooooo+- .:ooooooooooooooooooo+:. `-:/ooooooooo+/:.` `````` """) hyfetch-1.4.11/hyfetch/distros/openmandriva.py000066400000000000000000000017471453247431100214230ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openmandriva = AsciiArt(match=r'''"OpenMandriva"*''', color='4', ascii=r""" ${c1} `````` `-:/+++++++//:-.` .:+++oooo+/:.`` `` `:+ooooooo+:. `-:/++++++/:.` -+oooooooo:` `-++o+/::::://+o+/- `/ooooooooo- -+oo/.` `-/oo+. `+ooooooooo. :os/` .+so: +sssssssss/ :ss/ `+ss- :ssssssssss` sss` .sso ossssssssss `yyo sys `sssssssssss` `yys `yys `sssssssssss: +yy/ +yy: oyyyyyyyyyys. `oyy/` `+yy+ :yyyyyyyyyyyo. `+yhs:. `./shy/ oyyyyyyyyyyys:` .oyhys+:----/+syhy+. ` `syyyyyyyyyyyyo-` .:osyhhhhhyys+:``.:` `oyyyyyyyyyyyyys+-`` `.----.```./oo. /yhhhhhhhhhhhhhhyso+//://+osyhy/` `/yhhhhhhhhhhhhhhhhhhhhhhhhy/` `:oyhhhhhhhhhhhhhhhhhhyo:` .:+syhhhhhhhhys+:-` ``....`` """) hyfetch-1.4.11/hyfetch/distros/openstage.py000066400000000000000000000012661453247431100207210ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openstage = AsciiArt(match=r'''"OpenStage"*''', color='2', ascii=r""" ${c1} /(/ .(((((((, /(((((((((/ .(((((/,/(((((, *(((((* ,(((((/ (((((* .*/(( *((((/ (//(/* /((((* ((((((((((, . /((((* (((((((((((((. ((. *((((/ ,(((((((( ,(((/ (((((/ ** ,((((((* /(((((. .(((((/ //(((* *(((((/ .(((((, ((/ .(((((/. .(((((, /((((* ,(((((((/ ,((((( /(((((((((((((((((((/. /(((((((((/ /(((((((((((((((((, /(((((((((((/ */(((((//*. */((/(/(/* """) hyfetch-1.4.11/hyfetch/distros/opensuse.py000066400000000000000000000017471453247431100206010ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt opensuse = AsciiArt(match=r'''"openSUSE"* | "open SUSE"* | "SUSE"*''', color='2 7', ascii=r""" ${c2} .;ldkO0000Okdl;. .;d00xl:^''''''^:ok00d;. .d00l' 'o00d. .d0Kd'${c1} Okxol:;,. ${c2}:O0d. .OK${c1}KKK0kOKKKKKKKKKKOxo:, ${c2}lKO. ,0K${c1}KKKKKKKKKKKKKKK0P^${c2},,,${c1}^dx:${c2} ;00, .OK${c1}KKKKKKKKKKKKKKKk'${c2}.oOPPb.${c1}'0k.${c2} cKO. :KK${c1}KKKKKKKKKKKKKKK: ${c2}kKx..dd ${c1}lKd${c2} 'OK: dKK${c1}KKKKKKKKKOx0KKKd ${c2}^0KKKO' ${c1}kKKc${c2} dKd dKK${c1}KKKKKKKKKK;.;oOKx,..${c2}^${c1}..;kKKK0.${c2} dKd :KK${c1}KKKKKKKKKK0o;...^cdxxOK0O/^^' ${c2}.0K: kKK${c1}KKKKKKKKKKKKK0x;,,......,;od ${c2}lKk '0K${c1}KKKKKKKKKKKKKKKKKKKK00KKOo^ ${c2}c00' 'kK${c1}KKOxddxkOO00000Okxoc;'' ${c2}.dKk' l0Ko. .c00l' 'l0Kk:. .;xK0l' 'lkK0xl:;,,,,;:ldO0kl' '^:ldxkkkkxdl:^' """) hyfetch-1.4.11/hyfetch/distros/opensuse_leap.py000066400000000000000000000013121453247431100215660ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt opensuse_leap = AsciiArt(match=r'''"openSUSE Leap"* | "openSUSE_Leap"*''', color='2 7', ascii=r""" ${c2} `-++:` ./oooooo/- `:oooooooooooo:. -+oooooooooooooooo+-` ./oooooooooooooooooooooo/- :oooooooooooooooooooooooooo: ` `-+oooooooooooooooooooo/- ` `:oo/- .:ooooooooooooooo+:` `-+oo/. `/oooooo:. -/oooooooooo/. ./oooooo/. `:+ooooo+-` `:+oooo+- `:oooooo+:` .:oooooo/. .::` -+oooooo/. -/oooooo:. ./oooooo+- `:+ooooo+-:+oooooo:` ./oooooooooo/. -/oooo+:` `:/. """) hyfetch-1.4.11/hyfetch/distros/opensuse_small.py000066400000000000000000000004271453247431100217630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt opensuse_small = AsciiArt(match=r'''"opensuse_small" | "suse_small"*''', color='2 7', ascii=r""" ${c1} _______ __| __ \ / .\ \ \__/ | _______| \_______ __________/ """) hyfetch-1.4.11/hyfetch/distros/opensuse_tumbleweed.py000066400000000000000000000015561453247431100230140ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt opensuse_tumbleweed = AsciiArt(match=r'''"openSUSE Tumbleweed"* | "openSUSE_Tumbleweed"*''', color='2 7', ascii=r""" ${c2} ...... .,cdxxxoc,. .:kKMMMNWMMMNk:. cKMMN0OOOKWMMXo. A ;0MWk:' ':OMMk. ;WMK;' 'lKMMNM, :NMK' 'OMW; cMW; WMMMN ,XMK' oMM. .MMc ''^*~l. xMN: KM0 'MM. .NMO oMM .MM, .kMMl xMN KM0 .kMM0' .dl>~,. .WMd 'XM0. ,OMMK' OMMM7' .XMK *WMO:. .;xNMMk' NNNMKl. .xWMx ^ONMMNXMMMKx; V 'xNMWKkxllox0NMWk' ''''' ':dOOXXKOxl' """) hyfetch-1.4.11/hyfetch/distros/openwrt.py000066400000000000000000000005611453247431100204270ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt openwrt = AsciiArt(match=r'''"OpenWrt"*''', color='4 7 1', ascii=r""" ${c1} _______ | |.-----.-----.-----. | - || _ | -__| | |_______|| __|_____|__|__| |__| ________ __ | | | |.----.| |_ | | | || _|| _| |________||__| |____| """) hyfetch-1.4.11/hyfetch/distros/opnsense.py000066400000000000000000000020351453247431100205610ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt opnsense = AsciiArt(match=r'''"OPNsense"*''', color='7 202', ascii=r""" ${c1} .''''''''''''''''''''''''''''''''''' oocc:::::::::::::::::::::::::::::::cox ;00; o0O .,:' .;;;;;;;;;;;;;;;;;;;;;;;;;; ;:, .',;;cxOOOOOOOOOOOOOOOOOOOOOOOkd:;;,.. .,cll:' ':llc,. ,;;:okxdxd: :dxdxko:;;, .xxxx0XNNK0O. .O0KNNX0xxxx. ,${c2}cc:${c1},. .,${c2}:cc${c1}, ........;${c2}ccc:${c1};. .;${c2}:ccc${c1};........ ${c2}ccccccccccccccc ccccccccccccccc${c1} ........;${c2}ccc:${c1};. .;${c2}:ccc${c1};........ ,${c2}cc:${c1},. .,${c2}:cc${c1}, .xxxx0XNNK0O. .O0KNNX0xxxx. ,;;:okxdxd: :dxdxko:;;, .,cll:' ':llc,. .,,;,ckOOOOOOOOOOOOOOOOOOOOOOOOx;,;,'. .:l' ........................... ;:; lOk' cdd ;lccccccccccccccccccccccccccccccccccc:. """) hyfetch-1.4.11/hyfetch/distros/oracle.py000066400000000000000000000010411453247431100201700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt oracle = AsciiArt(match=r'''"Oracle"*''', color='1 7 3', ascii=r""" ${c1} `-/+++++++++++++++++/-.` `/syyyyyyyyyyyyyyyyyyyyyyys/. :yyyyo/-...............-/oyyyy/ /yyys- .oyyy+ .yyyy` `syyy- :yyyo /yyy/ .yyyy` `syyy- /yyys. .oyyyo /yyyyo:-...............-:oyyyy/` `/syyyyyyyyyyyyyyyyyyyyyyys+. `.:/+ooooooooooooooo+/:.` """) hyfetch-1.4.11/hyfetch/distros/orchid.py000066400000000000000000000030051453247431100201750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt orchid = AsciiArt(match=r'''"orchid"*''', color='255 127 127', ascii=r""" ${c2} .==. .-${c3}#${c1}@@${c3}#${c2}-. .-${c3}##${c1}@@@@${c3}##${c2}-. .-${c3}##${c1}@@@@@@@@${c3}##${c2}-. :*${c1}@@@@@${c3}####${c1}@@@@@${c2}*: ..:*${c1}@@@@${c2}==--==${c1}@@@@${c2}*:.. .-*${c1}%%${c3}#${c2}==${c3}#${c1}@@${c3}#${c2}====${c3}#${c1}@@${c3}#${c2}==${c3}#${c1}%%${c2}*-. .-${c3}#${c1}@@@@@${c3}##${c2}==${c3}#${c1}@@${c2}++${c1}@@${c3}##${c2}==${c3}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c2}#${c1}@@@${c3}#${c2}++#====${c3}#${c2}++#${c1}@@@${c2}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c3}#${c2}-==**${c3}###${c2}+:--:+${c3}###${c2}**==-${c3}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c3}#${c2}-==**${c3}###${c2}+:--:+${c3}###${c2}**==-${c3}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c2}#${c1}@@@${c3}#${c2}++#====${c3}#${c2}++#${c1}@@@${c2}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c3}##${c2}==${c3}#${c1}@@${c2}++${c1}@@${c3}##${c2}==${c3}#${c1}@@@@@${c3}#${c2}-. .-*${c1}%%${c3}#${c2}==${c3}#${c1}@@${c3}#${c2}====${c3}#${c1}@@${c3}#${c2}==${c3}#${c1}%%${c2}*-. ..:*${c1}@@@@${c2}==--==${c1}@@@@${c2}*:.. :*${c1}@@@@@${c3}####${c1}@@@@@${c2}*: .-${c3}##${c1}@@@@@@@@${c3}##${c2}-. .-${c3}##${c1}@@@@${c3}##${c2}-. .-${c3}#${c1}@@${c3}#${c2}-. .==. """) hyfetch-1.4.11/hyfetch/distros/orchid_small.py000066400000000000000000000015721453247431100213740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt orchid_small = AsciiArt(match=r'''"orchid_small"*''', color='255 127', ascii=r""" ${c2} :##: -#${c1}@@@@${c2}#- #${c1}@@${c2}=..=${c1}@@${c2}# +${c1}@@${c2}- -${c1}@@${c2}+ -#${c1}@@${c2}*..*${c1}@${c2}..${c1}@${c2}*..*${c1}@@${c2}#- :#${c1}@@${c2}*+%${c1}@${c2}= . . =${c1}@${c2}%+*${c1}@@${c2}#: +${c1}@@@${c2}: :-. .-: :${c1}@@@${c2}+ :#${c1}@@${c2}*+%${c1}@${c2}= . . =${c1}@${c2}%+*${c1}@@${c2}#: -#${c1}@@${c2}*..*${c1}@${c2}..${c1}@${c2}*..*${c1}@@${c2}#- +${c1}@@${c2}- -${c1}@@${c2}+ #${c1}@@${c2}=..=${c1}@@${c2}# -#${c1}@@@@${c2}#- :##: """) hyfetch-1.4.11/hyfetch/distros/os_elbrus.py000066400000000000000000000020471453247431100207270ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt os_elbrus = AsciiArt(match=r'''"OS Elbrus"*''', color='4 7 3', ascii=r""" ${c1} ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██ ██ ██ ██ ███████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███████ ███████ ██ ██ ██ ██ ██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄██ ██ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██ ██ ██ ███████████████████████████ """) hyfetch-1.4.11/hyfetch/distros/pacbsd.py000066400000000000000000000021431453247431100201630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pacbsd = AsciiArt(match=r'''"PacBSD"*''', color='1 7 3', ascii=r""" ${c1} :+sMs. `:ddNMd- -o--` -sMMMMh: `+N+`` yMMMMMs` .....-/-... `mNh/ yMMMMMmh+-`:sdmmmmmmMmmmmddy+-``./ddNMMm yNMMNMMMMNdyyNNMMMMMMMMMMMMMMMhyshNmMMMm :yMMMMMMMMMNdooNMMMMMMMMMMMMMMMMNmy:mMMd +MMMMMMMMMmy:sNMMMMMMMMMMMMMMMMMMMmshs- :hNMMMMMMN+-+MMMMMMMMMMMMMMMMMMMMMMMs. .omysmNNhy/+yNMMMMMMMMMMNMMMMMMMMMNdNNy- /hMM:::::/hNMMMMMMMMMMMm/-yNMMMMMMN.mMNh` .hMMMMdhdMMMMMMMMMMMMMMmo `sMMMMMMN mMMm- :dMMMMMMMMMMMMMMMMMMMMMdo+ oMMMMMMN`smMNo` /dMMMMMMMMMMMMMMMMMMMMMNd/` :yMMMMMN:-hMMM. :dMMMMMMMMMMMMMMMMMMMMMNh` oMMMMMMNo/dMNN` :hMMMMMMMMMMMMMMMMMMMMMMNs--sMMMMMMMNNmy++` sNMMMMMMMMMMMMMMMMMMMMMMMmmNMMMMMMNho::o. :yMMMMMMMMMMMMMNho+sydNNNNNNNmysso/` -// /dMMMMMMMMMMMMMs- ````````..`` .oMMMMMMMMMMMMNs` ./y:` +dNMMNMMMMMMMmy` ``./ys. `/hMMMMMMMMMMMNo-`` `.+yy+-` `-/hmNMNMMMMMMmmddddhhy/-` `-+oooyMMMdsoo+/:. """) hyfetch-1.4.11/hyfetch/distros/panwah.py000066400000000000000000000023541453247431100202110ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt panwah = AsciiArt(match=r'''"Panwah"*''', color='7 1 0', ascii=r""" ${c1} HHH HAAAH HHH HAAAAH HAAAH HAAAAAAH HAAAAH HAAAAAAH HAAAAAH HAAAAAAAAH${c2}WWWWWWWWWWWWWWWW ${c1}HAAAAAH$ HAAAAAAAAH${c2}WWWWWWWWWWWWWWWWWWWW${c1} HAAAAAH HAA${c2}WWWWWWWWWWWWWWWWWWWWWWWWWWWWW${c1}AAAAAH${c2} WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW${c1}WAH${c2} WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWW${c1}AAA${c2}WWWW WWWWWWWWWWWWWWWWWWWWWWWWWWW WWWW${c1}AAA${c2}WWWWW WWWWWWW WWWWWWWWWWWWWWW WW${c1}AAA${c2}WWWWWWWWWWWWWWWWW WWWWW${c1}AAA${c2}WWWWWWWW ${c1}AAA${c2}WWWWW${c1}OOOOOOOOOOO${C2}WWWWWWWWWWW${c1}AAA${c2}WWWWWW ${c1}OOOO${c3}GGGGGGG${c1}OOOO${c2}WWWWWWWWWW${c1}AAA${c2}WWWW ${c1}OOO${c3}GGGGGGG${c1}OOO${c2}WWWWWWWWWWWW${c1}AAA${c2}W ${c1}OOOOOOOOO """) hyfetch-1.4.11/hyfetch/distros/parabola.py000066400000000000000000000013161453247431100205110ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt parabola = AsciiArt(match=r'''"Parabola"*''', color='5 7', ascii=r""" ${c1} `.-. `. `.` `:++. `-+o+. `` `:+/. `:+/. `-+oooo+ ``-::-.:+/. `:+/. `-+oooooo+ `.-:///- ..` .-. `-+oooooooo- `..-..` `+ooooooooo: `` :oooooooo/ `ooooooo: `oooooo: -oooo+. +ooo/` -ooo- `+o/. /+- //` -. """) hyfetch-1.4.11/hyfetch/distros/parabola_small.py000066400000000000000000000004111453247431100216740ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt parabola_small = AsciiArt(match=r'''"parabola_small"*''', color='5 7', ascii=r""" ${c1} __ __ __ _ .`_//_//_/ / `. / .` / .` /.` /` """) hyfetch-1.4.11/hyfetch/distros/parch.py000066400000000000000000000017421453247431100200300ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt parch = AsciiArt(match=r'''"parch"* | "Parch"* | "PARCH"*''', color='4 7 1', ascii=r""" ${c1} ,:lodddd. .:clooood. ;clllooooc ;cclllllloo .cccccllllll . ,cccclllll ':::;; ccccclll; .:::cccccccccccll; ;::::ccccllllllcll: .;::::cccclllloool::; ;;;::::cccclllolc::::;. ;;;::::cccclllccc:::::;. ;;;::::cccclccccc::::::;. ;;;;::::::llcccccc:::::' ;;;;:; ,clllccccccc:: .;; .cllllllcccccc::;::::' .'''''''''',:lddoooolll '.....'''',cdddooooollll ........':oddddoooolllllc ....';ldddddooooolllllc: ,cdddddddooooollllccc :ddddddoooolllllccc ;ddooooolllllcc. :ooollllc. c' """) hyfetch-1.4.11/hyfetch/distros/pardus.py000066400000000000000000000015231453247431100202260ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pardus = AsciiArt(match=r'''"Pardus"*''', color='3 7 6 1 8', ascii=r""" ${c1} .smNdy+- `.:/osyyso+:.` -+ydmNs. /Md- -/ymMdmNNdhso/::/oshdNNmdMmy/. :dM/ mN. oMdyy- -y `-dMo .Nm .mN+` sMy hN+ -: yMs `+Nm. `yMMddMs.dy `+` sMddMMy` +MMMo .` . oMMM+ `NM/ `````.` `.````` +MN` yM+ `.-:yhomy ymohy:-.` +My yM: yo oy :My +Ms .N` `N. +h sM+ `MN - -::::::- : :o:+`NM` yM/ sh -dMMMMd- ho +y+My .dNhsohMh-//: /mm/ ://-yMyoshNd` `-ommNMm+:/. oo ./:+mMNmmo:` `/o+.-somNh- :yy: -hNmos-.+o/` ./` .s/`s+sMdd+``+ddMs+s`/s. `/. : -y. -hNmddmNy. .y- : -+ `..` +- """) hyfetch-1.4.11/hyfetch/distros/parrot.py000066400000000000000000000016021453247431100202350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt parrot = AsciiArt(match=r'''"Parrot"*''', color='6 7', ascii=r""" ${c1} `:oho/-` `mMMMMMMMMMMMNmmdhy- dMMMMMMMMMMMMMMMMMMs` +MMsohNMMMMMMMMMMMMMm/ .My .+dMMMMMMMMMMMMMh. + :NMMMMMMMMMMMMNo `yMMMMMMMMMMMMMm: /NMMMMMMMMMMMMMy` .hMMMMMMMMMMMMMN+ ``-NMMMMMMMMMd- /MMMMMMMMMMMs` mMMMMMMMsyNMN/ +MMMMMMMo :sNh. `NMMMMMMm -o/ oMMMMMMM. `NMMMMMM+ +MMd/NMh mMm -mN` /MM `h: dM` . :M- d: -+ - """) hyfetch-1.4.11/hyfetch/distros/parsix.py000066400000000000000000000022171453247431100202370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt parsix = AsciiArt(match=r'''"Parsix"*''', color='3 1 7 8', ascii=r""" ${c2}-/+/:. ${c2}.syssssys. ${c1}.--. ${c2}ssssssssso${c1} ..--. :++++++: ${c2}+ssssssss+${c1} ./++/+++: /+++++++++.${c2}.yssooooy`${c1}-+///////o- /++++++++++.${c2}+soooos:${c1}:+////////+- :+++++////o-${c2}oooooo-${c1}+/////////- `-/++//++-${c4}.-----.-${c1}:+/////:- ${c3}-://::--${c1}-:/:${c4}.--.````.--.${c1}:::-${c3}--::::::. ${c3}-/:::::::://:${c4}.:-` `-:${c3}`:/:::::::--/- ${c3}/::::::::::/-${c4}--. .-.${c3}-/://///::::/ ${c3}-/:::::::::/:${c4}`:-. .-:${c3}`:///////////- `${c3}-::::--${c1}.-://.${c4}---....---${c1}`:+/:-${c3}--::::-` ${c1}-/+///+o/-${c4}.----.${c1}.:oo+++o+. ${c1}-+/////+++o:${c2}syyyyy.${c1}o+++++++++: ${c1}.+////+++++-${c2}+sssssy+${c1}.++++++++++\ ${c1}.+:/++++++.${c2}.yssssssy-${c1}`+++++++++: ${c1}:/+++++- ${c2}+sssssssss ${c1}-++++++- ${c1}`--` ${c2}+sssssssso ${c1}`--` ${c2}+sssssy+` ${c2}`.::-` """) hyfetch-1.4.11/hyfetch/distros/pcbsd.py000066400000000000000000000021521453247431100200220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pcbsd = AsciiArt(match=r'''"PCBSD"* | "TrueOS"*''', color='1 7 3', ascii=r""" ${c1} .. s. +y yN -MN `. :NMs `m .yMMm` `No `-/+++sdMMMNs+-`+Ms `:oo+-` .yMMMMy` `-+oNMh -oo- +NMMMM/ oMMh- .s+` ` oMMMMM/ - oMMMhy. +s`- :: :MMMMMd -o `mMMMy`s+ y+ h .Ny+oNMMMMMN/ sh+NMMMMo +y s+ .ds -NMMMMMMMMMMNdhdNMMMMMMh` +s -h .NM` `hMMMMMMMMMMMMMMNMMNy: h- y- hMN` hMMmMMMMMMMMMNsdMNs. -y m` mMMy` oMMNoNMMMMMMo` sMMMo `m m` :NMMMdyydMMMMo+MdMMMs sMMMd` `m h- `+ymMMMMMMMM--M+hMMN/ +MMMMy -h :y `.sMMMMM/ oMM+.yMMNddNMMMMMm y: y: `s dMMN- .MMMM/ :MMMMMMMMMMh :y `h: `mdmMMM/ yMMMMs sMMMMMMMMN- :h` so -NMMMN /mmd+ `dMMMMMMMm- os :y: `yMMM` `+NMMMMMMNo`:y: /s+`.omy /NMMMMMNh/.+s: .+oo:-. /mdhs+::oo+. -/o+++++++++++/- """) hyfetch-1.4.11/hyfetch/distros/pclinuxos.py000066400000000000000000000015701453247431100207560ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pclinuxos = AsciiArt(match=r'''"PCLinuxOS"*''', color='4 7 1', ascii=r""" ${c1} mhhhyyyyhhhdN dyssyhhhhhhhhhhhssyhN Nysyhhyo/:-.....-/oyhhhssd Nsshhy+. `/shhysm dohhy/ -shhsy dohhs` /hhys N+hho ${c2}+ssssss+- .+syhys+ ${c1}/hhsy ohhh` ${c2}ymmo++hmm+`smmy/::+y` ${c1}shh+ +hho ${c2}ymm- /mmy+mms ${c1}:hhod /hh+ ${c2}ymmhhdmmh.smm/ ${c1}.hhsh +hhs ${c2}ymm+::-` /mmy` ` ${c1}/hh+m yyhh- ${c2}ymm- /dmdyosyd` ${c1}`yhh+ ohhy` ${c2}://` -/+++/- ${c1}ohhom N+hhy- `shhoh sshho. `+hhyom dsyhhs/. `:ohhhoy dysyhhhso///://+syhhhssh dhyssyhhhhhhyssyyhN mddhdhdmN """) hyfetch-1.4.11/hyfetch/distros/pearos.py000066400000000000000000000013501453247431100202170ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pearos = AsciiArt(match=r'''"pearOS"*''', color='2 3 1 1 5 4', ascii=r""" \e[0;32m .+yh sMMMo sMMN+ +o: \e[0m \e[93m ./oyyys+. :dMMMMMMMMMm/ :MMMMMMMMMMMMMy yMMMMMMMMMMMMMN \e[0m \e[31m mMMMMMMMMMMMMs` yMMMMMMMMMMMMo -mMMMMMMMMMMMMM` oMMMMMMMMMMMMMMM` \e[0m \e[95m oMMMMMMMMMMMMMMMMy .MMMMMMMMMMMMMMMMMMy` +MMMMMMMMMMMMMMMMMMMMy/` /MMMMMMMMMMMMMMMMMMMMMMMNds \e[0m \e[34m `mMMMMMMMMMMMMMMMMMMMMMMMM/ .mMMMMMMMMMMMMMMMMMMMMMM+ `oNMMMMMMMMMMMMMMMMMMd- `+hMMMMMMMMMMMMMms- -/osyhhyso:. \e[0m """) hyfetch-1.4.11/hyfetch/distros/pengwin.py000066400000000000000000000012701453247431100203760ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pengwin = AsciiArt(match=r'''"Pengwin"*''', color='5 5 13', ascii=r""" ${c3} ...` ${c3} `-///:-` ${c3} .+${c2}ssys${c3}/ ${c3} +${c2}yyyyy${c3}o ${c2} ${c2} -yyyyyy: ${c2} `.:/+ooo+/:` -yyyyyy+ ${c2} `:oyyyyyys+:-.`syyyyyy: ${c2} .syyyyyyo-` .oyyyyyyo ${c2} `syyyyyy `-+yyyyyyy/` ${c2} /yyyyyy+ -/osyyyyyyo/. ${c2} +yyyyyy- `.-:::-.` ${c2} .yyyyyy- ${c3} :${c2}yyyyy${c3}o ${c3} .+${c2}ooo${c3}+ ${c3} `.::/:. """) hyfetch-1.4.11/hyfetch/distros/pentoo.py000066400000000000000000000020621453247431100202330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pentoo = AsciiArt(match=r'''"Pentoo"*''', color='5 7', ascii=r""" ${c2} `:oydNNMMMMNNdyo:` :yNMMMMMMMMMMMMMMMMNy: :dMMMMMMMMMMMMMMMMMMMMMMd: oMMMMMMMho/-....-/ohMMMMMMMo oMMMMMMy. .yMMMMMMo .MMMMMMo oMMMMMM. +MMMMMm mMMMMM+ oMMMMMh hMMMMMo //hMMMMMm//${c1}`${c2} ${c1}`${c2}////mMMMMMh// MMMMMMMMMMM${c1}/${c2} ${c1}/o/`${c2} ${c1}.${c2}smMMMMMMMMMMM MMMMMMMMMMm ${c1}`NMN:${c2} ${c1}.${c2}yMMMMMMMMMM MMMMMMMMMMMh${c1}:.${c2} dMMMMMMMMM MMMMMMMMMMMMMy${c1}.${c2} ${c1}-${c2}NMMMMMMMMM MMMMMMMMMMMd:${c1}`${c2} ${c1}-${c2}yNMMMMMMMMMM MMMMMMMMMMh${c1}`${c2} ${c1}./${c2}hNMMMMMMMMMMMM MMMMMMMMMM${c1}s${c2} ${c1}.:${c2}ymMMMMMMMMMMMMMMM MMMMMMMMMMN${c1}s:..-/${c2}ohNMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM """) hyfetch-1.4.11/hyfetch/distros/peppermint.py000066400000000000000000000031111453247431100211060ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt peppermint = AsciiArt(match=r'''"Peppermint"*''', color='1 15 3', ascii=r""" ${c1} PPPPPPPPPPPPPP ${c1} PPPP${c2}MMMMMMM${c1}PPPPPPPPPPP ${c1} PPPP${c2}MMMMMMMMMM${c1}PPPPPPPP${c2}MM${c1}PP ${c1} PPPPPPPP${c2}MMMMMMM${c1}PPPPPPPP${c2}MMMMM${c1}PP ${c1} PPPPPPPPPPPP${c2}MMMMMM${c1}PPPPPPP${c2}MMMMMMM${c1}PP ${c1} PPPPPPPPPPPP${c2}MMMMMMM${c1}PPPP${c2}M${c1}P${c2}MMMMMMMMM${c1}PP ${c1} PP${c2}MMMM${c1}PPPPPPPPPP${c2}MMM${c1}PPPPP${c2}MMMMMMM${c1}P${c2}MM${c1}PPPP ${c1} P${c2}MMMMMMMMMM${c1}PPPPPP${c2}MM${c1}PPPPP${c2}MMMMMM${c1}PPPPPPPP ${c1} P${c2}MMMMMMMMMMMM${c1}PPPPP${c2}MM${c1}PP${c2}M${c1}P${c2}MM${c1}P${c2}MM${c1}PPPPPPPPPPP ${c1} P${c2}MMMMMMMMMMMMMMMM${c1}PP${c2}M${c1}P${c2}MMM${c1}PPPPPPPPPPPPPPPP ${c1} P${c2}MMM${c1}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP${c2}MMMMM${c1}P ${c1} PPPPPPPPPPPPPPPP${c2}MMM${c1}P${c2}M${c1}P${c2}MMMMMMMMMMMMMMMM${c1}PP ${c1} PPPPPPPPPPP${c2}MM${c1}P${c2}MM${c1}PPPP${c2}MM${c1}PPPPP${c2}MMMMMMMMMMM${c1}PP ${c1} PPPPPPPP${c2}MMMMMM${c1}PPPPP${c2}MM${c1}PPPPPP${c2}MMMMMMMMM${c1}PP ${c1} PPPP${c2}MM${c1}P${c2}MMMMMMM${c1}PPPPPP${c2}MM${c1}PPPPPPPPPP${c2}MMMM${c1}PP ${c1} PP${c2}MMMMMMMMM${c1}P${c2}M${c1}PPPP${c2}MMMMMM${c1}PPPPPPPPPPPPP ${c1} PP${c2}MMMMMMM${c1}PPPPPPP${c2}MMMMMM${c1}PPPPPPPPPPPP ${c1} PP${c2}MMMM${c1}PPPPPPPPP${c2}MMMMMMM${c1}PPPPPPPP ${c1} PP${c2}MM${c1}PPPPPPPP${c2}MMMMMMMMMM${c1}PPPP ${c1} PPPPPPPPPP${c2}MMMMMMMM${c1}PPPP ${c1} PPPPPPPPPPPPPP """) hyfetch-1.4.11/hyfetch/distros/peropesis.py000066400000000000000000000006371453247431100207460ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt peropesis = AsciiArt(match=r'''"Peropesis"*''', color='4 7 1', ascii=r""" ${c1}#### #### #### ### #### #### #### # #### # # # # # # # # # # # # # #### ### #### # # #### ### # # # # # # # # # # # # # # # #### # # ### # #### #### # #### """) hyfetch-1.4.11/hyfetch/distros/phyos.py000066400000000000000000000013011453247431100200640ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt phyos = AsciiArt(match=r'''"phyOS"*''', color='33 33 7 1', ascii=r""" ${c1}.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.^^^^^. :777777777777777777777777777777^~7777: .~~~~~~~~~~~~~~~~~~~~~^~7777!:!777!. ~7!!!!!!!!!!!!!!!!!^:!777~^!777~ ^77777!!!!!!!!!7!^^7777^^7777^ ^7777~.~~~~^. .~7777^~7777: :!777~^!777~. !777!:~777!: .!777!:~777!:~77~:!777!. ~777!^~7777:^~^!777~ ^7777^^7777^^7777^ :7777~^!7777777: .!777!:!7777!. .~777!:~77~. ~7777^~~ ^7777. :77: .. """) hyfetch-1.4.11/hyfetch/distros/pikaos.py000066400000000000000000000012731453247431100202200ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pikaos = AsciiArt(match=r'''"PikaOS"*''', color='11', ascii=r""" ${c1} /🐦🐦🐦$ /🐦/🐦 /🐦🐦🐦 /🐦🐦🐦 | 🐦__ $|__| 🐦 /🐦__ 🐦/🐦__ 🐦 | 🐦 \ 🐦/$| 🐦 /🐦 /🐦🐦🐦| 🐦 \ $| 🐦 \__/ | 🐦🐦🐦$| $| 🐦 /🐦/|____ $| 🐦 | $| 🐦🐦🐦 | 🐦____/| $| 🐦🐦🐦/ /🐦🐦🐦| 🐦 | 🐦\____ 🐦 | 🐦 | $| 🐦_ 🐦 /🐦__ $| 🐦 | 🐦/🐦 \ 🐦 | 🐦 | $| 🐦 \ $| 🐦🐦🐦| 🐦🐦🐦| 🐦🐦🐦/ |__/ |__|__/ \__/\_______/\______/ \______/ . """) hyfetch-1.4.11/hyfetch/distros/pisi.py000066400000000000000000000020161453247431100176720ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pisi = AsciiArt(match=r'''"Pisi"*''', color='12 7 6 1 8', ascii=r""" ${c1} \Fv/!- `:?lzC ${c1} Q!::=zFx! ${c2}`;v6WBCicl;` ${c1},vCC\!::#. ${c1} ,%:::,'` ${c2}+#%@@FQ@@. ,cF%i${c1}``-',::a? ${c1} +m:,'```${c2}}3,/@@Q\@@ "af-${c1} `-'"7f =o'.` ${c2}/m' :Q@:Qg ,kl${c1} `.|o :k` '${c2}$+ 'Narm >d,${c1} ii #`${c2}!p. `C , 'd+${c1} %' ${c2} !0m `6Kv =a m+ !A !\L|: :|L\! $: .8` Q''%Q#' '#Q%''Q `0- :6 E|.6QQu uQQ6.|E p: i{ \jts9? ?9stj\ u\ |a` -''. `e> ,m+ ${c1}'^ !`${c2}s@@@@a${c1}'"`+`${c2} >e' !3|${c1}`|=>>r- ${c2}'U%:${c1} '>>>=:`\3! 'xopE| ${c2}`'${c1} `ledoz- `;=>>+`${c2}`^llci/|==|/iclc;`${c1}'>>>>: `^`+~ ${c2}````${c1} !!-^ """) hyfetch-1.4.11/hyfetch/distros/pnm_linux.py000066400000000000000000000022401453247431100207360ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pnm_linux = AsciiArt(match=r'''"PNM Linux"* | "WHPNM Linux"*''', color='33 9 15 202', ascii=r""" ${c1} ``.---..` `--` ``.---........-:.${c2}-::`${c1} ${c2}./::-${c1}........${c2}--::.````${c1} ${c2}.:://:::${c1}----${c2}::::-..${c1} ..${c2}--:::::--::::++-${c1}.` ${c2}`-:-`${c1} .-ohy+::${c2}-:::${c1}/sdmdd:.${c2} `-:- .-:::${c1}...${c3}sNNmds$y${c1}o/+${c3}sy+NN$m${c1}d+.`${c2}-:::-. `.-:-${c1}./${c3}dN${c1}()${c3}yyooosd${c1}()${c3}$m${c1}dy${c2}-.::-.`${c1} ${c2}`.${c1}-...-${c3}+hNdyyyyyydmy${c1}:......${c2}`${c1} ``..--.....-${c3}yNNm${c4}hssssh${c3}mmdo${c1}.........``` `-:://:.....${c3}hNNNNN${c4}mddm${c3}NNNmds${c1}.....//::--` ```.:-...${c3}oNNNNNNNNNNNNNNmd/${c1}...:-.``` .....${c3}hNNNNNNNNNNNNNNmds${c1}....` --...${c3}hNNNNNNNNNNNNNNmdo${c1}..... .:...${c3}/NNNNNNNNNNNNNNdd${c1}:....` `-...${c3}+mNNNNNNNNNNNmh${c1}:...-. ${c4}.:+o+/:-${c1}:+oo+///++o+/:-${c4}:/+ooo/:. ${c4}+oo/:o- +oooooso.` ${c4}.` ` `/ .-//- """) hyfetch-1.4.11/hyfetch/distros/pop__os.py000066400000000000000000000022301453247431100203620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pop__os = AsciiArt(match=r'''"Pop!_OS"* | "popos"* | "pop_os"*''', color='6 7', ascii=r""" ${c1} ///////////// ///////////////////// ///////${c2}*767${c1}//////////////// //////${c2}7676767676*${c1}////////////// /////${c2}76767${c1}//${c2}7676767${c1}////////////// /////${c2}767676${c1}///${c2}*76767${c1}/////////////// ///////${c2}767676${c1}///${c2}76767${c1}.///${c2}7676*${c1}/////// /////////${c2}767676${c1}//${c2}76767${c1}///${c2}767676${c1}//////// //////////${c2}76767676767${c1}////${c2}76767${c1}///////// ///////////${c2}76767676${c1}//////${c2}7676${c1}////////// ////////////,${c2}7676${c1},///////${c2}767${c1}/////////// /////////////*${c2}7676${c1}///////${c2}76${c1}//////////// ///////////////${c2}7676${c1}//////////////////// ///////////////${c2}7676${c1}///${c2}767${c1}//////////// //////////////////////${c2}'${c1}//////////// //////${c2}.7676767676767676767,${c1}////// /////${c2}767676767676767676767${c1}///// /////////////////////////// ///////////////////// ///////////// """) hyfetch-1.4.11/hyfetch/distros/popos_small.py000066400000000000000000000004741453247431100212640ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt popos_small = AsciiArt(match=r'''"popos_small"* | "pop_os_small"*''', color='6 7', ascii=r""" ${c1}______ \ _ \ __ \ \ \ \ / / \ \_\ \ / / \ ___\ /_/ \ \ _ __\_\__(_)_ (___________)` """) hyfetch-1.4.11/hyfetch/distros/porteus.py000066400000000000000000000012351453247431100204310ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt porteus = AsciiArt(match=r'''"Porteus"*''', color='6 7', ascii=r""" ${c1} `.-:::-.` -+ydmNNNNNNNmdy+- .+dNmdhs+//////+shdmdo. .smmy+-` ./sdy: `omdo. `.-/+osssso+/-` `+dy. `yms. `:shmNmdhsoo++osyyo-``oh. hm/ .odNmds/.` ``.....:::-+s /m: `+dNmy:` `./oyhhhhyyooo++so ys `yNmy- .+hmmho:-.` ``` s: yNm+` .smNd+. `` /Nm: +dNd+` yN+ `smNy. dm oNNy` hy -mNm. +y oNNo `y` sNN: `: +NN: ` .mNo /mm` /my` .sy` .+: ` """) hyfetch-1.4.11/hyfetch/distros/postmarketos.py000066400000000000000000000012641453247431100214650ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt postmarketos = AsciiArt(match=r'''"PostMarketOS"*''', color='2 7', ascii=r""" ${c1} /\ / \ / \ / \ / \ / \ \ \ /\ \____ \ / \____ \ \ / / \ \ / / \ ___\ / / \ / ____ / / \/ / \ / / __________/ \ / \ \ \ / \ \ \ / / / \ /___________/ /____________________\ """) hyfetch-1.4.11/hyfetch/distros/postmarketos_small.py000066400000000000000000000005051453247431100226520ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt postmarketos_small = AsciiArt(match=r'''"postmarketos_small"''', color='2 7', ascii=r""" ${c1} /\ / \ / \ \__ \ /\__ \ _\ / / \/ __ / / ____/ \ / \ \ \ /_____/ /________\ """) hyfetch-1.4.11/hyfetch/distros/profelis_sambabox.py000066400000000000000000000015721453247431100224330ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt profelis_sambabox = AsciiArt(match=r'''"Profelis SambaBOX"* | "SambaBOX"*''', color='3 6', ascii=r""" ${c1} # *////##### /////////#########( .((((((///// ,####(#((((( /#######(((* (#(((((((((. //((#(#(#, ((##( ,((((((// ////// #(##########( ////// ////// ((#(#(#(#(##########(///////// /////( (((((((#########(##((((((///// /(((#( ((((/ ####(# ((### #########(((/////////(((((((((, (#(#( ########( /////////(((((((* ##### ####///, *////((( ((((((( ./////////// .//((((((((( ///////////, *(/////((((* ,/(((((((((##########/. .((((((####### ((##* """) hyfetch-1.4.11/hyfetch/distros/proxmox.py000066400000000000000000000021311453247431100204400ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt proxmox = AsciiArt(match=r'''"Proxmox"*''', color='7 202', ascii=r""" ${c1} .://:` `://:. `hMMMMMMd/ /dMMMMMMh` `sMMMMMMMd: :mMMMMMMMs` ${c2}`-/+oo+/:${c1}`.yMMMMMMMh- -hMMMMMMMy.`${c2}:/+oo+/-` `:oooooooo/${c1}`-hMMMMMMMyyMMMMMMMh-`${c2}/oooooooo:` `/oooooooo:${c1}`:mMMMMMMMMMMMMm:`${c2}:oooooooo/` ./ooooooo+-${c1} +NMMMMMMMMN+ ${c2}-+ooooooo/. .+ooooooo+-${c1}`oNMMMMNo`${c2}-+ooooooo+. -+ooooooo/.${c1}`sMMs`${c2}./ooooooo+- :oooooooo/${c1}`..`${c2}/oooooooo: :oooooooo/`${c1}..${c2}`/oooooooo: -+ooooooo/.`${c1}sMMs${c2}`./ooooooo+- .+ooooooo+-`${c1}oNMMMMNo${c2}`-+ooooooo+. ./ooooooo+-${c1} +NMMMMMMMMN+ ${c2}-+ooooooo/. `/oooooooo:`${c1}:mMMMMMMMMMMMMm:${c2}`:oooooooo/` `:oooooooo/`${c1}-hMMMMMMMyyMMMMMMMh-${c2}`/oooooooo:` `-/+oo+/:`${c1}.yMMMMMMMh- -hMMMMMMMy.${c2}`:/+oo+/-` ${c1} `sMMMMMMMm: :dMMMMMMMs` `hMMMMMMd/ /dMMMMMMh` `://:` `://:` """) hyfetch-1.4.11/hyfetch/distros/puffos.py000066400000000000000000000010061453247431100202260ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt puffos = AsciiArt(match=r'''"PuffOS"*''', color='3', ascii=r""" ${c1} _,..._,m, ,/' '""; / ". ,'mmmMMMMmm. \ _/-"^^^^^"\""%#%mm, ; ,m,_,' "###) ;, (###% \#/ ;##mm. ^#/ __ ___ ; (######) ; //.\ //.\ ; \####/ _; (#\"// \"/#) ; ,/ @##\ \##/ = `"=" ,;mm/ `\##>.____,...,____,<####@ """) hyfetch-1.4.11/hyfetch/distros/puppy.py000066400000000000000000000014751453247431100201130ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt puppy = AsciiArt(match=r'''"Puppy"* | "Quirky Werewolf"* | "Precise Puppy"*''', color='4 7', ascii=r""" ${c1} `-/osyyyysosyhhhhhyys+- -ohmNNmh+/hMMMMMMMMNNNNd+dMMMMNM+ yMMMMNNmmddo/NMMMNNNNNNNNNo+NNNNNy .NNNNNNmmmddds:MMNNNNNNNNNNNh:mNNN/ -NNNdyyyhdmmmd`dNNNNNmmmmNNmdd/os/ .Nm+shddyooo+/smNNNNmmmmNh. :mmd. NNNNy:` ./hmmmmmmmNNNN: hNMh NMN- -++- +NNNNNNNNNNm+..-sMMMM- .MMo oNNNNo hNNNNNNNNmhdNNNMMMMM+ .MMs /NNNN/ dNmhs+:-` yMMMMMMMM+ mMM+ .. `sNN+. hMMMMhhMMM- +MMMmo:...:sNMMMMMms:` hMMMMm.hMMy yMMMMMMMMMMMNdMMMMMM::/+o+//dMMd` sMMMMMMMMMMN+:oyyo:sMMMNNMMMNy` :mMMMMMMMMMMMmddNMMMMMMMMmh/ /dMMMMMMMMMMMMMMMMMMNdy/` .+hNMMMMMMMMMNmdhs/. .:/+ooo+/:-. """) hyfetch-1.4.11/hyfetch/distros/pureos.py000066400000000000000000000012251453247431100202440ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pureos = AsciiArt(match=r'''"PureOS"*''', color='2 7 7', ascii=r""" ${c1}dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd dNm//////////////////////////////////mNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNm//////////////////////////////////mNd dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd """) hyfetch-1.4.11/hyfetch/distros/pureos_small.py000066400000000000000000000004241453247431100214340ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt pureos_small = AsciiArt(match=r'''"pureos_small"*''', color='2 7 7', ascii=r""" ${c1} _____________ | _________ | | | | | | | | | | |_________| | |_____________| """) hyfetch-1.4.11/hyfetch/distros/q4os.py000066400000000000000000000015771453247431100176270ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt q4os = AsciiArt(match=r'''"Q4OS"*''', color='4 1', ascii=r""" ${c1} .:***** :=====. ${c1}.:******** :========. ${c1} .*********** :===========. ${c1}.:************ :============- ${c1} .************** :============== ${c1} :*************** :=============== ${c1}:**************. :=============== ${c1}.*************: .=============. ${c1}*************. .============: ${c1}:############. ${c2}:==: ${c1}:##############. ${c2}:======: ${c1}:################ ${c2}.==========: ${c1}:############### ${c2}.===========: ${c1}:############## ${c2}.===========: ${c1}:############# ${c2}.=========: ${c1}:########### ${c2}.=====: ${c1}.######### ${c2}.=: ${c1}.##### """) hyfetch-1.4.11/hyfetch/distros/qubes.py000066400000000000000000000016621453247431100200530ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt qubes = AsciiArt(match=r'''"Qubes"*''', color='4 5 7 6', ascii=r""" ${c1} `..--..` `.----------.` `..----------------..` `.------------------------.`` `..-------------....-------------..` .::----------..`` ``..----------:+: :////:----..` `..---:/ossso :///////:` `/osssssso :///////: /ssssssso :///////: /ssssssso :///////: /ssssssso :///////: /ssssssso :///////: /ssssssso :////////-` .:sssssssso :///////////-.` `-/osssssssssso `//////////////:-```.:+ssssssssssssso- .-://////////////sssssssssssssso/-` `.:///////////sssssssssssssso:. .-:///////ssssssssssssssssss/` `.:////ssss+/+ssssssssssss. `--//- `-/osssso/. """) hyfetch-1.4.11/hyfetch/distros/qubyt.py000066400000000000000000000017571453247431100201050ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt qubyt = AsciiArt(match=r'''"Qubyt"*''', color='4 5 0 4', ascii=r""" ${c1} ########################${c2}(${c3}ooo ${c1} ########################${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}##${c3}o ${c2}((((${c3}ooo ${c1}###${c2}(${c3}ooo o${c2}((${c1}### ${c3}oooooo ${c1}###${c2}(${c3}ooo oo${c2}((${c1}###${c3}o ${c1}###${c2}(${c3}ooo ooo${c2}((${c1}### ${c1}################${c2}(${c3}oo oo${c2}((((${c3}o ${c2}(((((((((((((((((${c3}ooo ooooo oooooooooooooooooo o """) hyfetch-1.4.11/hyfetch/distros/quibian.py000066400000000000000000000015341453247431100203620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt quibian = AsciiArt(match=r'''"Quibian"*''', color='3 7', ascii=r""" ${c1} `.--::::::::--.` `.-:::-..`` ``..-::-.` .::::-` .${c2}+${c1}:`` `.-::.` .::::.` -::::::-` `.::. `-:::-` -:::::::::--..`` .::` `::::- .${c2}oy${c1}:::::::---.```.: `::` -:::: `.-:::::::::::-.``` `:: .::::.`-:::::::::::::. `:. -::::.::::::::::::::: -: ::::::::::::::::::::` `: :::::::::::::::::::- `: ::::::::::::::::::: -- .:::::::::::::::::` `:` `::::::::::::::::: -` .:::::::::::::::- -` `::::::::::::::- `.` .::::::::::::- `` `.--:::::-. """) hyfetch-1.4.11/hyfetch/distros/radix.py000066400000000000000000000010321453247431100200320ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt radix = AsciiArt(match=r'''"Radix"*''', color='1 2', ascii=r""" ${c2} .:oyhdmNo `/yhyoosdms` -o+/ohmmho- ..`.:/:-` `.--:::-.``${c1} .+ydNMMMMMMNmhs:` `omMMMMMMMMMMMMMMNh- oNMMMNmddhhyyhhhddmy. mMMMMNmmddhhysoo+/:-` yMMMMMMMMMMMMMMMMNNh. -dmmmmmNNMMMMMMMMMMs` -+oossyhmMMMMMMMMd- `sNMMMMMMMMMMMMMm: `yMMMMMMNmdhhhh: `sNMMMMMNmmho. `+mMMMMMMMy. .yNMMMm+` `:yd+. """) hyfetch-1.4.11/hyfetch/distros/raspbian.py000066400000000000000000000016341453247431100205320ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt raspbian = AsciiArt(match=r'''"Raspbian"*''', color='2 1', ascii=r""" ${c1} `.::///+:/-. --///+//-:`` `+oooooooooooo: `+oooooooooooo: /oooo++//ooooo: ooooo+//+ooooo. `+ooooooo:-:oo- +o+::/ooooooo: `:oooooooo+`` `.oooooooo+- `:++ooo/. :+ooo+/.` ${c2}...` `.----.` ``.. .::::-``:::::::::.`-:::-` -:::-` .:::::::-` `-:::- `::. `.--.` `` `.---.``.::` .::::::::` -::::::::` ` .::` .:::::::::- `::::::::::``::. -:::` ::::::::::. ::::::::::.`:::- :::: -::::::::. `-:::::::: :::: -::- .-:::-.``....``.-::-. -::- .. `` .::::::::. `..`.. -:::-` -::::::::::` .:::::` :::::::` -::::::::::` :::::::. .::::::: -::::::::. :::::::: `-:::::` ..--.` ::::::. `...` `...--..` `...` .:::::::::: `.-::::-` """) hyfetch-1.4.11/hyfetch/distros/raspbian_small.py000066400000000000000000000004651453247431100217230ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt raspbian_small = AsciiArt(match=r'''"Raspbian_small"*''', color='2 1', ascii=r""" ${c1} .. ,. :oo: .:oo: 'o\o o/o: ${c2} :: . :: . :: :: ::: ::: :: :' '',.'' ': ::: :::: ::: ':, '' ,:' ' ~::~ ' """) hyfetch-1.4.11/hyfetch/distros/ravynos.py000066400000000000000000000015651453247431100204370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ravynos = AsciiArt(match=r'''"ravynOS"''', color='15', ascii=r""" ${c1} ..oooo.. .o$$$$$$$$$$$$$$o. od$$$$$$$$$$$$$$$$$$$$$o o$$$$$$$$$$$$$$$$$$$$$$$$$$o .$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. d$$$$$$$$$********$$$$$$$$$$$$$$$b d$$$$$$$* °****?$$$$$$$$b $$$$$$* °$$$$$$$ d$$** .oo$$$$$$$$b *° o$$$$$$$$$$$$$$ o$$$$$$$$$$$$$$$$ o$$$$$$$$$$$$$$$$$P *$$$$$$$$$$$$$$$$$ ?$$$$$$$$$$$$$$P $$$$$$$$$$$$$P $$$$$$$$$$$$P ?$$$$$$$$$$* $$$$$$$*° d$$$$*° ° """) hyfetch-1.4.11/hyfetch/distros/reborn_os.py000066400000000000000000000032251453247431100207210ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt reborn_os = AsciiArt(match=r'''"Reborn OS"* | "Reborn"*''', color='0 4 6', ascii=r""" ${c1} .======================. ${c1}.#${c2}#*********${c1}%%${c2}*********#${c1}%: ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- ${c1}-%${c2}************${c1}%%${c2}************${c1}%= ${c1}+%${c2}******${c1}%%#####${c1}%%#####%%${c2}******${c1}%+ ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* ${c1}*%${c2}*#${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. ${c1}.##${c2}*****${c1}#%%%#${c3}*++${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%. ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%: ${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%- ${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%= ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%- ${c1}.##${c2}*****${c1}#%%%#${c3}*+*${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%: ${c1}.##${c2}**${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* ${c1}+%${c2}******${c1}%%#####%%#####%%${c2}******${c1}%* ${c1}-%${c2}************${c1}%%${c2}************${c1}%= ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- ${c1}:%${c2}#*********${c1}%%${c2}*********#${c1}%: ${c1}.======================. """) hyfetch-1.4.11/hyfetch/distros/red_star.py000066400000000000000000000014311453247431100205310ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt red_star = AsciiArt(match=r'''"Red Star"* | "Redstar"*''', color='1 7 3', ascii=r""" ${c1} .. .oK0l :0KKKKd. .xKO0KKKKd ,Od' .d0000l .c;. .'''... ..'. .,:cloddxxxkkkkOOOOkkkkkkkkxxxxxxxxxkkkx: ;kOOOOOOOkxOkc'...',;;;;,,,'',;;:cllc:,. .okkkkd,.lko .......',;:cllc:;,,'''''. .cdo. :xd' cd:. ..';'',,,'',,;;;,'. . .ddl.;doooc'..;oc;'..';::;,'. coo;.oooolllllllcccc:'. . .ool''lllllccccccc:::::;. ;lll. .':cccc:::::::;;;;' :lcc:'',..';::::;;;;;;;,,. :cccc::::;...';;;;;,,,,,,. ,::::::;;;,'. ..',,,,'''. ........ ...... """) hyfetch-1.4.11/hyfetch/distros/redcore.py000066400000000000000000000013251453247431100203530ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt redcore = AsciiArt(match=r'''"Redcore"*''', color='1', ascii=r""" ${c1} RRRRRRRRR RRRRRRRRRRRRR RRRRRRRRRR RRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRR RRR RRR RRRRRRRR RRRRR RR RRRRRRRRR RRRR RR RRRRRRRR RR RRRRRR RRRR R RRRRRRRRRRRRRR RR RRRRR RRRR R RRRRRRRRRRRRRRRRRR R RRRRR RRRR RRRRRRRRRRRRRRRRRRR R RRRR RRR RRRRRRRRRRRRRRRRRRRR R RRRR RRR RRRRRRRRRRRRRRRRRRRR RRRR RR RRRRRRRRRRRRRRRRRRR RRR RR RRRRRRRRRRRRRRRRR RRR RR RRRRRRRRRRRRRR RR R RRRR RR """) hyfetch-1.4.11/hyfetch/distros/redhat.py000066400000000000000000000014751453247431100202050ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt redhat = AsciiArt(match=r'''"Redhat"* | "Red Hat"* | "rhel"*''', color='1', ascii=r""" ${c1} .MMM..:MMMMMMM MMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMM. MMMMMMMMMMMMMMMMMMMMMM ,MMMMMMMMMMMMMMMMMMMMMM: MMMMMMMMMMMMMMMMMMMMMMMM .MMMM' MMMMMMMMMMMMMMMMMMMMMM MMMMMM `MMMMMMMMMMMMMMMMMMMM. MMMMMMMM MMMMMMMMMMMMMMMMMM . MMMMMMMMM. `MMMMMMMMMMMMM' MM. MMMMMMMMMMM. MMMM `MMMMMMMMMMMMM. ,MMMMM. `MMMMMMMMMMMMMMMMM. ,MMMMMMMM. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM: MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM `MMMMMMMMMMMMMMMMMMMMMMMM: ``MMMMMMMMMMMMMMMMM' """) hyfetch-1.4.11/hyfetch/distros/redhat_old.py000066400000000000000000000013541453247431100210370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt redhat_old = AsciiArt(match=r'''"redhat_old" | "rhel_old"*''', color='1 7 3', ascii=r""" ${c1} `.-..........` `////////::.`-/. -: ....-////////. //:-::///////////` `--::: `-://////////////: //////- ``.-:///////// .` `://////:-.` :///////::///:` .-/////////:---/////////////: .-://////////////////////. ${c2} yMN+`.-${c1}::///////////////-` ${c2} .-`:NMMNMs` `..-------..` MN+/mMMMMMhoooyysshsss MMM MMMMMMMMMMMMMMyyddMMM+ MMMM MMMMMMMMMMMMMNdyNMMh` hyhMMM MMMMMMMMMMMMMMMMyoNNNMMM+. MMMMMMMM MMNMMMNNMMMMMNM+ mhsMNyyyyMNMMMMsMM """) hyfetch-1.4.11/hyfetch/distros/refracted_devuan.py000066400000000000000000000013671453247431100222370ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt refracted_devuan = AsciiArt(match=r'''"Refracted Devuan"* | "Refracted_Devuan"*''', color='8 7', ascii=r""" ${c2} A VW VVW\ .yWWW\ ,;,,u,;yy;;v;uyyyyyyy ,WWWWW^ *WWWWWWWWWWWWWWWW/ $VWWWWw , ^*%WWWWWWVWWX $WWWW** ,yy , "**WWW/' **' ,yy/WWW*` &WWWWwy `*` <,ywWW%VWWW* yWWWWWWWWWW* ., "**WW%W ,&WWWWWM*"` ,y/ &WWWww ^* XWWX*^ ,yWWWW09 .WWWWWWWWwy, *` &WWWWWM WWWWWWWWWWWWWww, (WWWWW` /#####WWW*********** ^WWWW VWW Wh. V/ """) hyfetch-1.4.11/hyfetch/distros/regata.py000066400000000000000000000023061453247431100201730ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt regata = AsciiArt(match=r'''"Regata"*''', color='7 1 4 5 3 2', ascii=r""" ${c1} ddhso+++++osydd dho/.`hh${c2}.:/+/:.${c1}hhh`:+yd do-hhhhhh${c2}/sssssss+`${c1}hhhhh./yd h/`hhhhhhh${c2}-sssssssss:${c1}hhhhhhhh-yd do`hhhhhhhhh${c2}`ossssssso.${c1}hhhhhhhhhh/d d/hhhhhhhhhhhh${c2}`/ossso/.${c1}hhhhhhhhhhhh.h /hhhhhhhhhhhh${c3}`-/osyso/-`${c1}hhhhhhhhhhhh.h shh${c4}-/ooo+-${c1}hhh${c3}:syyso+osyys/`${c1}hhh${c5}`+oo`${c1}hhh/ h${c4}`ohhhhhhho`${c3}+yyo.${c1}hhhhh${c3}.+yyo`${c5}.sssssss.${c1}h`h s${c4}:hhhhhhhhho${c3}yys`${c1}hhhhhhh${c3}.oyy/${c5}ossssssso-${c1}hs s${c4}.yhhhhhhhy/${c3}yys`${c1}hhhhhhh${c3}.oyy/${c5}ossssssso-${c1}hs hh${c4}./syyys+.${c1} ${c3}+yy+.${c1}hhhhh${c3}.+yyo`${c5}.ossssso/${c1}h`h shhh${c4}``.`${c1}hhh${c3}`/syyso++oyys/`${c1}hhh${c5}`+++-`${c1}hh:h d/hhhhhhhhhhhh${c3}`-/osyso+-`${c1}hhhhhhhhhhhh.h d/hhhhhhhhhhhh${c6}`/ossso/.${c1}hhhhhhhhhhhh.h do`hhhhhhhhh${c6}`ossssssso.${c1}hhhhhhhhhh:h h/`hhhhhhh${c6}-sssssssss:${c1}hhhhhhhh-yd h+.hhhhhh${c6}+sssssss+${c1}hhhhhh`/yd dho:.hhh${c6}.:+++/.${c1}hhh`-+yd ddhso+++++osyhd """) hyfetch-1.4.11/hyfetch/distros/regolith.py000066400000000000000000000014011453247431100205400ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt regolith = AsciiArt(match=r'''"Regolith"*''', color='1', ascii=r""" ${c1} ``....``` `.:/++++++/::-.` -/+++++++:.` -++++++++:` `/++++++++- `/++++++++. -/+/ /++++++++/ `` .:+++:. -+++++++++/ ./++++:+++/-` :+++++++++/ `+++++++/-` :++++++++++` .-/+++++++` `:++++++++++/``.-/++++:-:::-` ` `:+++++++++++++++++/:.` ./` :++/-:+++++++++/:-.. -/+. +++++++++/::-...:/+++/-..````..-/+++. `......``.::/+++++++++++++++++++++/. -/+++++++++++++++++++++/. .:/+++++++++++++++/-` `.-:://////:-. """) hyfetch-1.4.11/hyfetch/distros/rhaymos.py000066400000000000000000000011341453247431100204100ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt rhaymos = AsciiArt(match=r'''"RhaymOS"*''', color='1', ascii=r""" ${c1} ### ##### ####### /######## ############# ########### ,########### #### ####(.. #### #### ####* ########## #### ##### ##### (#### #### ########### ########### #### ######### ########## ################################### ##################################### ####################################### """) hyfetch-1.4.11/hyfetch/distros/rocky.py000066400000000000000000000014151453247431100200570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt rocky = AsciiArt(match=r'''"rocky"*''', color='35', ascii=r""" ${c1} __wgliliiligw_, _williiiiiiliilililw, _%iiiiiilililiiiiiiiiiii_ .Qliiiililiiiiiiililililiilm. _iiiiiliiiiiililiiiiiiiiiiliil, .lililiiilililiiiilililililiiiii, _liiiiiiliiiiiiiliiiiiF{iiiiiilili, jliililiiilililiiili@` ~ililiiiiiL iiiliiiiliiiiiiili>` ~liililii liliiiliiilililii` -9liiiil iiiiiliiliiiiii~ "4lili 4ililiiiiilil~| -w, )4lf -liiiiililiF' _liig, )' )iiiliii@` _QIililig, )iiii>` .Qliliiiililw )<>~ .mliiiiiliiiiiil, _gllilililiililii~ giliiiiiiiiiiiiT` -^~$ililili@~~' """) hyfetch-1.4.11/hyfetch/distros/rocky_small.py000066400000000000000000000007201453247431100212450ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt rocky_small = AsciiArt(match=r'''"rocky_small"*''', color='2', ascii=r""" ${c1} `-/+++++++++/-.` `-+++++++++++++++++-` .+++++++++++++++++++++. -+++++++++++++++++++++++. +++++++++++++++/-/+++++++ +++++++++++++/. ./+++++ +++++++++++:. ./+++ +++++++++:` `:/:` .:/ -++++++:` .:+++++:` .+++-` ./+++++++++:` `-` ./+++++++++++- -+++++++++:-.` """) hyfetch-1.4.11/hyfetch/distros/rosa.py000066400000000000000000000016051453247431100176750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt rosa = AsciiArt(match=r'''"Rosa"*''', color='4 7 1', ascii=r""" ${c1} ROSAROSAROSAROSAR ROSA AROS ROS SAROSAROSAROSAR AROS RO ROSAROSAROSAROSAROSAR RO ARO AROSAROSAROSARO AROS ROS ARO ROSAROS OSAR ROSA ROS RO AROSA ROSAROSAROSA ROSAR RO RO ROSAR ROSAROSAROSAR R ROSARO RO RO ROSA AROSAROSAROSA AR ROSARO AR RO AROS ROSAROSAROSA ROS AROSARO AR RO AROS ROSAROSARO ROSARO ROSARO AR RO ROS AROSAROS ROSAROSA AROSAR AR RO ROSA ROS ROSAROSAR ROSARO RO RO ROS AROSAROSAROSA ROSARO AR ARO ROSA ROSAROSAROS AROSAR ARO ARO OROSA R ROSAROS ROS RO AROSAROS AROSAROSAR RO AROS AROSAROSAROSARO AROS ROSA SARO ROSAROSAROSAROSAR """) hyfetch-1.4.11/hyfetch/distros/sabayon.py000066400000000000000000000015561453247431100203720ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt sabayon = AsciiArt(match=r'''"Sabayon"*''', color='4 7 1', ascii=r""" ${c1} ........... .. .. .. .. .. ${c2}o ${c1}.. .. ${c2}:W' ${c1}.. .. ${c2}.d. ${c1}.. :. ${c2}.KNO ${c1}.: :. ${c2}cNNN. ${c1}.: : ${c2}dXXX, ${c1}: : ${c2}. dXXX, .cd, ${c1}: : ${c2}'kc .. dKKK. ,ll;:' ${c1}: : ${c2}.xkkxc;..dkkkc',cxkkl ${c1}: :. ${c2}.,cdddddddddddddo:. ${c1}.: .. ${c2}:lllllll: ${c1}.. .. ${c2}',,,,, ${c1}.. .. .. .. .. ............... """) hyfetch-1.4.11/hyfetch/distros/sabotage.py000066400000000000000000000010621453247431100205130ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt sabotage = AsciiArt(match=r'''"sabotage"*''', color='4 7 1', ascii=r""" ${c2} .|'''.| | '||''|. ..|''|| ||.. ' ||| || || .|' || ''|||. | || ||'''|. || || . '|| .''''|. || || '|. || |'....|' .|. .||. .||...|' ''|...|' |''||''| | ..|'''.| '||''''| || ||| .|' ' || . || | || || .... ||''| || .''''|. '|. || || .||. .|. .||. ''|...'| .||.....| """) hyfetch-1.4.11/hyfetch/distros/sailfish.py000066400000000000000000000006721453247431100205360ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt sailfish = AsciiArt(match=r'''"Sailfish"*''', color='4 5 7 6', ascii=r""" ${c1} _a@b _#b (b _@@ @_ _, _#^@ _#*^^*gg,aa@^^ #- @@^ _a@^^ @_ *g#b ^@_ ^@_ ^@_ @ @(b (b #b(b#^ _@_#@^ _a@a*^ ,a@*^ """) hyfetch-1.4.11/hyfetch/distros/salentos.py000066400000000000000000000022271453247431100205620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt salentos = AsciiArt(match=r'''"SalentOS"*''', color='2 1 3 7', ascii=r""" ${c1} ``..`` .-:+oshdNMMMMMMNdhyo+:-.` -oydmMMMMMMMMMMMMMMMMMMMMMMMMMMNdhs/ ${c4} +hdddm${c1}NMMMMMMMMMMMMMMMMMMMMMMMMN${c4}mdddh+` ${c2}`MMMMMN${c4}mdddddm${c1}MMMMMMMMMMMM${c4}mdddddm${c3}NMMMMM- ${c2} mMMMMMMMMMMMN${c4}ddddhyyhhddd${c3}NMMMMMMMMMMMM` ${c2} dMMMMMMMMMMMMMMMMM${c4}oo${c3}MMMMMMMMMMMMMMMMMN` ${c2} yMMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMd ${c2} +MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMy ${c2} :MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMo ${c2} .MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMM/ ${c2} `NMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMM- ${c2} mMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMN` ${c2} hMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMm ${c2} /MMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMy ${c2} .+hMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMms: ${c2} `:smMMMMMMMMM${c4}hh${c3}MMMMMMMMMNh+. ${c2} .+hMMMMMM${c4}hh${c3}MMMMMMdo: ${c2} `:smMM${c4}yy${c3}MMNy/` ${c2}.- ${c4}`${c3}:. """) hyfetch-1.4.11/hyfetch/distros/salient_os.py000066400000000000000000000016371453247431100210760ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt salient_os = AsciiArt(match=r'''"Salient OS"* | "SalientOS"* | "salientos"*''', color='6 6 7 1', ascii=r""" ${c1} 00xxxx0 00xxxxxx0 0xxxxxxxxx 000000 0xxxxxxxxxx xxxxxxxxxx0 0xxxxxxxxxxx0 xxxxxxxxxxxxx0 0xxxxxxxxxxxx0 0xxxxxxxxxxxxxx0 0xxxxxxxxxxxxx0 0xxxxxxxxxxxxxxx0 0xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx0 xxxxxxxxxxxxxxxx0 0xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx 0xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx0 xxxxxxxxxxxxxx 0xxxxxxxxxxxxxxxxxx0 0xxxxxxxxxxxx0 0xxxxxxxxxxxxxxxxxx xxxxxxxxxxx0 0xxxxxxxxxxxxxxxxx xxxxxxxxxx0 0xxxxxxxxxxxxxxxx xxxxxxxxx0 0xxxxxxxxxxxx0 0xxxxxxx0 0xxxxxxx0 xxxxxx0 0xxx00 x00 """) hyfetch-1.4.11/hyfetch/distros/salix.py000066400000000000000000000015621453247431100200530ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt salix = AsciiArt(match=r'''"Salix"*''', color='2', ascii=r""" ${c1} __s_aaaaaaaaauuoXSSSSSSSS: ._xSSSSSSSSSSSSSSSSSSSSSSSSSS: _aSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: _xSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS} nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS}` XSSSSSSSSSSSSSSSSSSSSSSSSSSSS"` SSSSSSSSSSSSSSSSSSSSSSSSS!"` -"\"\""\"\""\"\""\"\""\"\""\"\""\"\""` """) hyfetch-1.4.11/hyfetch/distros/sasanqua.py000066400000000000000000000017561453247431100205540ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt sasanqua = AsciiArt(match=r'''"Sasanqua"*''', color='5 1 5', ascii=r""" ${c1} __,_ _╕⌐≡µ,√* º≡, ñ "' ░ ╞) _, ▒ __ _,,,_ _Ñ╜^≡µ ≡' 1µ╕º^el "%µ ∩' K Yµ& 1l ╞) ▒ √" ^Ü 1" `1µ Γ ║h _¿▒∞√;, ^≡, K ^u_ ⌐* ╙¥ ╓Ñ ⌠ º≡u,, ║I Å Ü _∩" ║µ_¿╝" Yu_ ▒ ╙º≡_ ║l1µ ║l , Y∞µ___≡ª Γl ╓hⁿ╖I 1l Ñ ╓Ñ Ñ ¥,___≡1l ╓Ñ ¿╕ª Ü ╙L ¿¿∩ª ╓P ª≡,__ *ⁿ┤ⁿÑⁿ^µ √ª ⁿ≡,,__√╝* "ⁿⁿ*" """) hyfetch-1.4.11/hyfetch/distros/scientific.py000066400000000000000000000015751453247431100210570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt scientific = AsciiArt(match=r'''"Scientific"*''', color='4 7 1', ascii=r""" ${c1} =/;;/- +: // /; /; -X H. .//;;;:;;-, X= :+ .-;:=;:;#;. M- ,=;;;#:, ,:#;;:=, ,@ :# :#.=/++++/=.$= #= ,#; #/:+/;,,/++:+/ ;+. ,+/. ,;@+, ,#H;, ,/+, ;+;;/= @. ${c3}.H${c2}#${c3}#X ${c1}-X :///+; ;+=;;;.@, ${c2}.X${c3}M${c2}@$. ${c1}=X.//;=#/. ,;: :@#= =$H: .+#- ,#= #;-///==///-// =#, ;+ :#-;;;:;;;;-X- +: @- .-;;;;M- =M/;;;-. -X :;;::;;-. #- :+ ,-;;-;:== ,X H. ;/ #= // +; '////' """) hyfetch-1.4.11/hyfetch/distros/semc.py000066400000000000000000000005221453247431100176550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt semc = AsciiArt(match=r'''"semc"*''', color='2 8 1', ascii=r""" ${c1} /\ ______/ \ / |()| ${c2}E M C ${c1} | (-- | | \ \ | | .----) | |__| |_______/ / ${c3}"${c1} \ ${c3}" " """) hyfetch-1.4.11/hyfetch/distros/septor.py000066400000000000000000000021561453247431100202470ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt septor = AsciiArt(match=r'''"Septor"*''', color='4 7 4', ascii=r""" ${c1}ssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssss ssssssssss${c2};okOOOOOOOOOOOOOOko;${c1}ssssssssss sssssssss${c2}oNWWWWWWWWWWWWWWWWWWNo${c1}sssssssss ssssssss${c2}:WWWWWWWWWWWWWWWWWWWWWW:${c1}ssssssss ssssssss${c2}lWWWWWk${c1}ssssssssss${c2}lddddd:${c1}ssssssss ssssssss${c2}cWWWWWNKKKKKKKKKKKKOx:${c1}ssssssssss ${c3}yy${c1}sssssss${c2}OWWWWWWWWWWWWWWWWWWWWx${c1}sssssss${c3}yy yyyyyyyyyy${c2}:kKNNNNNNNNNNNNWWWWWW:${c3}yyyyyyyy yyyyyyyy${c2}sccccc;${c3}yyyyyyyyyy${c2}kWWWWW:${c3}yyyyyyyy yyyyyyyy${c2}:WWWWWWNNNNNNNNNNWWWWWW;${c3}yyyyyyyy yyyyyyyy${c2}.dWWWWWWWWWWWWWWWWWWWNd${c3}yyyyyyyyy yyyyyyyyyy${c2}sdO0KKKKKKKKKKKK0Od;${c3}yyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy """) hyfetch-1.4.11/hyfetch/distros/serene.py000066400000000000000000000017051453247431100202130ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt serene = AsciiArt(match=r'''"Serene"*''', color='6 6', ascii=r""" ${c1} __---''''''---__ . . : : - _______----_- s __----''' __---- __h_ _-' _-' h '-._''--.._ ; _-' y : ''-._ '-._/ _-' : y ':_ _--'' y m .--'' '-._.;' m m : : m y '.._ '-__ y : '--._ '''----___ : y '--._ ''-- _ y h '--._ : h s __'; vs - __..--'' - :_..--'' : . _ . `''---______---''-`` """) hyfetch-1.4.11/hyfetch/distros/sharklinux.py000066400000000000000000000012521453247431100211170ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt sharklinux = AsciiArt(match=r'''"SharkLinux"*''', color='4 7', ascii=r""" ${c1} `:shd/ `:yNMMMMs `-smMMMMMMN. .+dNMMMMMMMMs .smNNMMMMMMMMm` .sNNNNNNNMMMMMM/ `omNNNNNNNMMMMMMm /dNNNNNNNNMMMMMMM+ .yNNNNNNNNNMMMMMMMN` +mNNNNNNNNNMMMMMMMMh .hNNNNNNNNNNMMMMMMMMMs +mMNNNNNNNNMMMMMMMMMMMs .hNMMNNNNMMMMMMMMMMMMMMMd .oNNNNNNNNNNMMMMMMMMMMMMMMMo `:+syyssoo++++ooooossssssssssso: """) hyfetch-1.4.11/hyfetch/distros/shastraos.py000066400000000000000000000014361453247431100207420ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt shastraos = AsciiArt(match=r'''"ShastraOS"*''', color='6', ascii=r""" ${c1} ..,;;,'. ':oo. ;o: :o, ol .oo ..';co: ooo',;:looo; .;lddl cx .xl .c:' dd xx xx ,d; .xd cx. xx dd. cx: .xo xx ,x: 'xl xx cx' .xl xd, xx .xd dx. .xo:xx xx .xx 'c xx:.'lx: ..,;cxxxo .';:codxxl lxo cd. 'xo :o, 'ld .oc'...';lo """) hyfetch-1.4.11/hyfetch/distros/siduction.py000066400000000000000000000014461453247431100207350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt siduction = AsciiArt(match=r'''"Siduction"*''', color='4 4', ascii=r""" ${c1} _aass, jQh: =$w QWmwawQW )$QQQQ@( .. _a_a. ~??^ syDY?Sa, _mW>-<$c jWmi imm. ]QQwayQE 4QQmgwmQQ` ?WWQWP' -9QQQQQ@'._aas, _a%is. .adYYs,. -"?!` aQB*~^3$c _Qh;.nm .QWc. {QL ]QQp;..vmQ/ "QQmmQ@ -QQQggmQP ]QQWmggmQQ( -???" "$WQQQY` __, ?QQQQQQW! _yZ!?q, - .yWY!!Sw, "???^ .QQa_=qQ mQm>..vmm $QQWQQP $QQQgmQQ@ "???" _aa, -9WWQQWY` _mB>~)$a -~~ mQms_vmQ. ]WQQQQQP -?T??" """) hyfetch-1.4.11/hyfetch/distros/skiffos.py000066400000000000000000000011171453247431100203730ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt skiffos = AsciiArt(match=r'''"SkiffOS"*''', color='4 7', ascii=r""" ${c2} ,@@@@@@@@@@@w,_ ${c2}====~~~,,.${c2}A@@@@@@@@@@@@@@@@@W,_ ${c1}`||||||||||||||L{${c2}"@$@@@@@@@@B" ${c1}`|||||||||||||||||||||L{${c2}"$D ${c2}@@@@@@@@@@@@@@@@@@@@@${c1}_||||}==, ${c2}*@@@@@@@@@@@@@@@@@@@@@@@@@p${c1}||||==, ${c1}`'||LLL{{""${c2}@$B@@@@@@@@@@@@@@@p${c1}|| ${c1}`~=|||||||||||L"${c2}$@@@@@@@@@@@ ${c1}````'"\"\""\"\""${c2}'"\"\""\"\"\"" """) hyfetch-1.4.11/hyfetch/distros/slackel.py000066400000000000000000000015401453247431100203450ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt slackel = AsciiArt(match=r'''"Slackel"*''', color='3', ascii=r""" ${c1} _aawmmmmmwwaaaaas,,,_. .ammmmm###mmmmmmm###BQmm##mws .am###mmBmBmBmBmBmBmmmmm#mmmm#2 3${c2}WWWWWQWQQwwQw${c1}cii|i|ii= =lii|ii|n${c2}QWWWQ${c1}|)i${c2}|i${c1}%i|]${c2}TQWWWWm${c1}|ii|i|i= .li|i|i|m${c2}WWWQV${c1}|ii${c2}wmD${c1}|iiii|${c2}TWWWWm${c1}|i|iiii, =iii${c2}www|$WQWk${c1}|i${c2}aWWWD${c1}|i|i|ii]${c2}QQWQk${c1}|ii|i|= iii${c2}QWWWQz$WW${c1}|i${c2}jQQWQm${c1}w|ii${c2}wW${c1}k|${c2}TTTTY${c1}i|i|iii iiI${c2}QWQWWtyQQ${c1}|i|${c2}$WWWWWQWk${c1}||i|i|ii||i|ii|i <|i|${c2}TTT|mQQWz${c1}|i${c2}3D${c1}]C|${c2}nD$W${c1}|ii${c2}vWWWWk${c1}||ii|i> -|ii|i|i${c2}WWWQw${c1}|${c2}Tt${c1}|i3${c2}T${c1}|${c2}T${c1}|i|${c2}nQWQWDk${c1}|ii|ii` <|i|iii|${c2}VWQWWQ${c1}|i|i|||ii${c2}wmWWQWD${c1}||ii|ii+ <|ii|i|i]${c2}$W@${c1}tv${c2}QQQWQQQWWTTHT${c1}1|iii|i|> <|i|ii|ii||v${c2}QWWWQWWW@vmWWWm${c1}|i|i|i> -<|i|ii|ii|i|${c2}TTTTTT${c1}|]${c2}QQWWWC${c1}|ii>` -<|i|ii|i|ii|i|i|ii3${c2}TTT${c1}t|i>` ~<|ii|ii|iiiii|i|||i>~ -~~<|ii|i||i>~~` """) hyfetch-1.4.11/hyfetch/distros/ubuntu_mate.py000066400000000000000000000026061453247431100212630ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ubuntu_mate = AsciiArt(match=r'''"Ubuntu MATE"* | "Ubuntu-MATE"*''', color='2 7', ascii=r""" ${c1} .:/+oossssoo+/:.` `:+ssssssssssssssssss+:` -+sssssssssssssss${c2}y${c1}ssssssss+- .osssssssssssss${c2}yy${c1}ss${c2}mMmh${c1}ssssssso. /sssssssss${c2}ydmNNNmmd${c1}s${c2}mMMMMNdy${c1}sssss/ `+ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMNdy${c1}ssssss+` +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mMmh${c1}s${c2}ydy${c1}sssssss+ -sssss${c2}y${c1}ss${c2}Nm${c1}ss${c2}hNNh${c1}ssssss${c2}y${c1}s${c2}hh${c1}ss${c2}mMy${c1}sssssss- +ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+ sssss${c2}yMMMMMmh${c1}sssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss sssss${c2}yMMMMMmhy${c1}ssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss +ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+ -sssss${c2}y${c1}ss${c2}Nm${c1}ss${c2}hNNh${c1}ssssssss${c2}dh${c1}ss${c2}mMy${c1}sssssss- +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mNmh${c1}s${c2}ymy${c1}sssssss+ +ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMmhy${c1}ssssss+ /sssssssss${c2}ydmNNNNmd${c1}s${c2}mMMMMNdh${c1}sssss/ .osssssssssssss${c2}yy${c1}ss${c2}mMmdy${c1}sssssso. -+sssssssssssssss${c2}y${c1}ssssssss+- `:+ssssssssssssssssss+:` .:/+oossssoo+/:. """) hyfetch-1.4.11/hyfetch/distros/ubuntu_old.py000066400000000000000000000022401453247431100211050ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ubuntu_old = AsciiArt(match=r'''"Ubuntu_old"* | "i3buntu"*''', color='1 7 3', ascii=r""" ${c1} .-/+oossssoo+\-. ´:+ssssssssssssssssss+:` -+ssssssssssssssssssyyssss+- .ossssssssssssssssss${c2}dMMMNy${c1}sssso. /sssssssssss${c2}hdmmNNmmyNMMMMh${c1}ssssss\ +sssssssss${c2}hm${c1}yd${c2}MMMMMMMNddddy${c1}ssssssss+ /ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhmNMMMNh${c1}ssssssss\ .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss. +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+ oss${c2}yNMMMNyMMh${c1}ssssssssssssss${c2}hmmmh${c1}ssssssso oss${c2}yNMMMNyMMh${c1}sssssssssssssshmmmh${c1}ssssssso +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+ .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss. \ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhdNMMMNh${c1}ssssssss/ +sssssssss${c2}dm${c1}yd${c2}MMMMMMMMddddy${c1}ssssssss+ \sssssssssss${c2}hdmNNNNmyNMMMMh${c1}ssssss/ .ossssssssssssssssss${c2}dMMMNy${c1}sssso. -+sssssssssssssssss${c2}yyy${c1}ssss+- `:+ssssssssssssssssss+:` .-\+oossssoo+/-. """) hyfetch-1.4.11/hyfetch/distros/ubuntu_old02.py000066400000000000000000000017351453247431100212570ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ubuntu_old02 = AsciiArt(match=r'''"ubuntu_old02"''', color='1 7 3', ascii=r""" ${c1} ./+o+- ${c2} yyyyy- ${c1}-yyyyyy+ ${c2} ${c2}://+//////${c1}-yyyyyyo ${c3} .++ ${c2}.:/++++++/-${c1}.+sss/` ${c3} .:++o: ${c2}/++++++++/:--:/- ${c3} o:+o+:++.${c2}`..```.-/oo+++++/ ${c3} .:+o:+o/.${c2} `+sssoo+/ ${c2} .++/+:${c3}+oo+o:`${c2} /sssooo. ${c2}/+++//+:${c3}`oo+o${c2} /::--:. ${c2}+/+o+++${c3}`o++o${c1} ++////. ${c2} .++.o+${c3}++oo+:`${c1} /dddhhh. ${c3} .+.o+oo:.${c1} `oddhhhh+ ${c3} +.++o+o`${c1}`-````.:ohdhhhhh+ ${c3} `:o+++ ${c1}`ohhhhhhhhyo++os: ${c3} .o:${c1}`.syhhhhhhh/${c3}.oo++o` ${c1} /osyyyyyyo${c3}++ooo+++/ ${c1} ````` ${c3}+oo+++o: ${c3} `oo++. """) hyfetch-1.4.11/hyfetch/distros/ubuntu_small.py000066400000000000000000000006261453247431100214450ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ubuntu_small = AsciiArt(match=r'''"ubuntu_small"''', color='1', ascii=r""" ${c1} ..;,; .,;,. .,lool: .ooooo, ;oo;: .coool. .... ''' ,l; :oooo, 'oo. looooc :oo' '::' ,oo: ,., .... co, lo:;. :oooo; . ':ooo; cooooc ''' '''' """) hyfetch-1.4.11/hyfetch/distros/ubuntu_studio.py000066400000000000000000000024501453247431100216410ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ubuntu_studio = AsciiArt(match=r'''"Ubuntu Studio"* | "Ubuntu-Studio"''', color='6 7', ascii=r""" ${c1} ..-::::::-.` `.:+++++++++++${c2}ooo${c1}++:.` ./+++++++++++++${c2}sMMMNdyo${c1}+/. .++++++++++++++++${c2}oyhmMMMMms${c1}++. `/+++++++++${c2}osyhddddhys${c1}+${c2}osdMMMh${c1}++/` `+++++++++${c2}ydMMMMNNNMMMMNds${c1}+${c2}oyyo${c1}++++` +++++++++${c2}dMMNhso${c1}++++${c2}oydNMMmo${c1}++++++++` :+${c2}odmy${c1}+++${c2}ooysoohmNMMNmyoohMMNs${c1}+++++++: ++${c2}dMMm${c1}+${c2}oNMd${c1}++${c2}yMMMmhhmMMNs+yMMNo${c1}+++++++ `++${c2}NMMy${c1}+${c2}hMMd${c1}+${c2}oMMMs${c1}++++${c2}sMMN${c1}++${c2}NMMs${c1}+++++++. `++${c2}NMMy${c1}+${c2}hMMd${c1}+${c2}oMMMo${c1}++++${c2}sMMN${c1}++${c2}mMMs${c1}+++++++. ++${c2}dMMd${c1}+${c2}oNMm${c1}++${c2}yMMNdhhdMMMs${c1}+y${c2}MMNo${c1}+++++++ :+${c2}odmy${c1}++${c2}oo${c1}+${c2}ss${c1}+${c2}ohNMMMMmho${c1}+${c2}yMMMs${c1}+++++++: +++++++++${c2}hMMmhs+ooo+oshNMMms${c1}++++++++ `++++++++${c2}oymMMMMNmmNMMMMmy+oys${c1}+++++` `/+++++++++${c2}oyhdmmmmdhso+sdMMMs${c1}++/ ./+++++++++++++++${c2}oyhdNMMMms${c1}++. ./+++++++++++++${c2}hMMMNdyo${c1}+/. `.:+++++++++++${c2}sso${c1}++:. ..-::::::-.. """) hyfetch-1.4.11/hyfetch/distros/ubuntu_sway.py000066400000000000000000000025011453247431100213120ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ubuntu_sway = AsciiArt(match=r'''"Ubuntu Sway"* | "Ubuntu-Sway"''', color='6 7', ascii=r""" ${c1} .-/+oossssoo+\-. ´:+ssssssssssssssssss+:` -+ssssssssssssssssss${c2}yy${c1}ssss+- .ossssssssssssssssss${c2}dMMMNyy${c1}ssso. /sssssssssss${c2}hdmmNNmmyNMMMMh${c1}ssssss\ +sssssssss${c2}hm${c1}ydMMMMMMMNdd${c2}ddy${c1}ssssssss+ /ssssssss${c2}hN${c1}MM${c2}M${c1}yh${c2}hyyyyhmNM${c1}MM${c2}Nh${c1}ssssssss\ .ssssssss${c2}dM${c1}MM${c2}Nh${c1}ssssssssss${c2}hN${c1}MM${c2}Md${c1}ssssssss. +sss${c2}yyyyyN${c1}MM${c2}Ny${c1}ssssssssssss${c2}yN${c1}MM${c2}My${c1}sssssss+ ossy${c2}NMMMNy${c1}MM${c2}h${c1}ssssssssssssss${c2}hm${c1}mm${c2}h${c1}ssssssso ossy${c2}NMMMNy${c1}MM${c2}h${c1}sssssssssssssshmmmh${c1}ssssssso +sss${c2}yyyyyN${c1}MM${c2}Ny${c1}ssssssssssss${c2}yN${c1}MM${c2}My${c1}sssssss+ .ssssssss${c2}dM${c1}MM${c2}Nh${c1}ssssssssss${c2}hN${c1}MM${c2}Md${c1}ssssssss. \ssssssss${c2}hN${c1}MM${c2}M${c1}yh${c2}hyyyyhdNM${c1}M${c2}MNh${c1}ssssssss/ +sssssssss${c2}dm${c1}ydMMMMMMMMdd${c2}ddy${c1}ssssssss+ \sssssssssss${c2}hdmNNNNmyNMMMMh${c1}ssssss/ .ossssssssssssssssss${c2}dMMMNyy${c1}ssso. -+sssssssssssssssss${c2}yy${c1}sss+- `:+ssssssssssssssssss+:` .-\+oossssoo+/-. """) hyfetch-1.4.11/hyfetch/distros/ubuntu_touch.py000066400000000000000000000006321453247431100214540ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ubuntu_touch = AsciiArt(match=r'''"Ubuntu Touch"*''', color='3 7', ascii=r""" ${c1} ############### ## ## ## ${c2}##${c1} ${c2}##${c1} ## ## ${c2}##${c1} ${c2}#${c1} ${c2}#${c1} ${c2}##${c1} ## ## ${c2}###${c1} ## ## ## ############### """) hyfetch-1.4.11/hyfetch/distros/ultramarine_linux.py000066400000000000000000000020521453247431100224700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt ultramarine_linux = AsciiArt(match=r'''"Ultramarine Linux"* | "ultramarine"*''', color='4 7', ascii=r""" ${c1} .cd0NNNNNNNXOdc. .:xKNNNNNNNNNNNNNNNNKd;. ,dXNNNNNNNNNNNNNNNNNNNNNNNd, 'ONNNNNNNNNNNNNNNNNNNNNNNNNNNNO' .xNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNk. .0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0. .0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0. dNNNNNNNNNNNNWWWWWWWWNNNNNNNNNNNNNNNNNNd NNNNNNNNNNNNNW${c2}MMMMMMMM${c1}WWNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNW${c2}MMMMMMMMM${c1}WWNNNNNNNNNNNNNN NNNNNNNNNNNNNNW${c2}MMMMMMMMMMMM${c1}WNNNNNNNNNNNN NNNNNNNNNNWWW${c2}MMMMMMMMMMMMMMMM${c1}WWWNNNNNNNX oNWWWW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WWWNNo OW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WO .OW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WO. lNW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WNl .dNW${c2}MMMMMMMMMMMMMMMMMMMMMMMM${c1}WNd. .cKW${c2}MMMMMMMMMMMMMMMMMMMM${c1}WKc. 'oOXWWW${c2}MMMMMMMM${c1}WWWXOl. ;lkXNNNNNNXkl' """) hyfetch-1.4.11/hyfetch/distros/unicodearch.py000066400000000000000000000023751453247431100212220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt unicodearch = AsciiArt(match=r'''"unicodearch"*''', color='6 6 7 1', ascii=r""" ${c1} ▄ ▟█▙ ▟███▙ ▟█████▙ ▟███████▙ ▂▔▀▜██████▙ ▟██▅▂▝▜█████▙ ▟█████████████▙ ▟███████████████▙ ▟█████████████████▙ ▟███████████████████▙ ▟█████████▛▀▀▜████████▙ ▟████████▛ ▜███████▙ ▟█████████ ████████▙ ▟██████████ █████▆▅▄▃▂ ▟██████████▛ ▜█████████▙ ▟██████▀▀▀ ▀▀██████▙ ▟███▀▘ ▝▀███▙ ▟▛▀ ▀▜▙ """) hyfetch-1.4.11/hyfetch/distros/univalent.py000066400000000000000000000014601453247431100207350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt univalent = AsciiArt(match=r'''"Univalent"*''', color='6 6', ascii=r""" ${c1} UUUUUUU UUUUUUU UUUUUUU UUUUUUU UUUUUUU A UUUUUUU UUUUUUU A|A UUUUUUU UUUUUUU A | A UUUUUUU UUUUUUU A | A UUUUUUU UUUUUUU A| | |A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUUAAAAAAAAAAAUUUUUUU UUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUU """) hyfetch-1.4.11/hyfetch/distros/univention.py000066400000000000000000000023341453247431100211270ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt univention = AsciiArt(match=r'''"Univention"*''', color='1 7', ascii=r""" ${c1} ./osssssssssssssssssssssso+- `ohhhhhhhhhhhhhhhhhhhhhhhhhhhhy: shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh- `-//${c2}sssss${c1}/hhhhhhhhhhhhhh+${c2}s${c1}.hhhhhhhhh+ .ohhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sss${c1}+hhhhhhh+ .yhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}ssss${c1}:hhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}ssssss${c1}+yhhhhhhhhhhy/${c2}ssssss${c1}yhhhhh+ +hhhhhh:${c2}sssssss${c1}:hhhhhhh+${c2}.ssssssss${c1}yhhhhy. +hhhhhhh+`${c2}ssssssssssssssss${c1}hh${c2}sssss${c1}yhhho` +hhhhhhhhhs+${c2}ssssssssssss${c1}+hh+${c2}sssss${c1}/:-` -hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhho :yhhhhhhhhhhhhhhhhhhhhhhhhhhhh+` -+ossssssssssssssssssssss+:` """) hyfetch-1.4.11/hyfetch/distros/uos.py000066400000000000000000000021031453247431100175310ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt uos = AsciiArt(match=r'''"Uos"*''', color='1 7 3', ascii=r""" ${c1} ....... .............. ...................... ............................. uuuuuu uuuuuu ooooooooooo ssssssssss u::::u u::::u oo:::::::::::oo ss::::::::::s u::::u u::::u o:::::::::::::::oss:::::::::::::s u::::u u::::u o:::::ooooo:::::os::::::ssss:::::s u::::u u::::u o::::o o::::o s:::::s ssssss u::::u u::::u o::::o o::::o s::::::s u::::u u::::u o::::o o::::o s::::::s u:::::uuuu:::::u o::::o o::::ossssss s:::::s u:::::::::::::::uuo:::::ooooo:::::os:::::ssss::::::s u:::::::::::::::uo:::::::::::::::os::::::::::::::s uu::::::::uu:::u oo:::::::::::oo s:::::::::::ss uuuuuuuu uuuu ooooooooooo sssssssssss ............................. ..................... ............. ...... """) hyfetch-1.4.11/hyfetch/distros/urukos.py000066400000000000000000000022041453247431100202550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt urukos = AsciiArt(match=r'''"UrukOS"*''', color='12 12 7 12 4', ascii=r""" ${c3} :${c4}:::::::::::::: ${c5}. ${c3}=#${c4}*============. ${c5}:#: ${c3}=##%${c4}+----------. ${c5}.###: ${c3}=####. ${c5}.####: ${c3}=####. ${c5}.####: ${c3}=###*. .=${c4}--------. ${c5}####: ${c3}=####. .*#+${c4}======- ${c5}####: ${c3}=###*. .*###+${c4}====- ${c5}####: ${c3}=###*. .*#####+${c4}==- ${c5}####: ${c3}=###*. .*#######+${c4}: ${c5}####: ${c3}=###*. .*#######+${c4}: ${c5}####: ${c3}=###*. .*#####+${c4}==- ${c5}####: ${c3}=###*. .*###+${c4}====- ${c5}####: ${c3}=####. .*#+${c4}======- ${c5}####: ${c3}=###*. .=${c4}--------. ${c5}.####: ${c3}=####. ${c5}.####: ${c3}=####. ${c5}.####: ${c3}=###+${c4}--------------${c5}####: ${c3}=#+${c4}=================-${c5}: ${c3}:${c4}::::::::::::::::::. """) hyfetch-1.4.11/hyfetch/distros/uwuntu.py000066400000000000000000000022231453247431100202750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt uwuntu = AsciiArt(match=r'''"uwuntu"*''', color='225 206 52', ascii=r""" ${c1} && &&&&&&&& , *&&&&&& &&&&&&&&( &%%%%&&&& &&&&&&&&&&&& ,&&&&& %%${c2}%%%%&&${c1}&&& ,&&&&&&&&&&&&&, %&&&$&&&%%$%%%. &%%%${c2}%&&&&&${c1}&&# &, &&&&&&${c2}&&&&&&&%%%${c1}%% &%%&&${c2}&&&&${c1}&&&( &&&${c2}&&&&&&%${c1}%%% &&&&&${c2}&&&${c1}&% *&&${c2}&&&&&${c1}&&% &&&/ &&&&${c3}\${c1}& ,${c3}/${c1}*.** %&&&&&&&& &&&${c3}⟩${c1}., *.${c3}⟨${c1} %&&&&&&&& &&${c3}/${c1}.. ${c3}/ \${c1} ..${c3}\${c1}(&&&&&& #&&&#%%%%.%%%( ${c3}\_/\_/${c1} (%%%.%%%%/ /%%%%%%%&&* ,&&&%%%%%%& &&&&&&&& &&&&&&&&&&& (&&&&& &&&&&&&&&&& ${c2}%%${c1} & &&&&&&&&&&&& &&&&&&& ${c2}%%%${c1} #&&&&&&# &&&&&&&&& ${c2}%%%%% %%${c1} #&&&&&( ${c2}&%. %%%${c1} ${c2}%%%%%%% """) hyfetch-1.4.11/hyfetch/distros/vanilla.py000066400000000000000000000017701453247431100203620ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt vanilla = AsciiArt(match=r'''"Vanilla"*''', color='11 15', ascii=r""" ${c1} .OO. .OOOO. .OO${c2}II${c1}OO. IOOO${c2}II${c1}OOOI .OOOO${c2}II${c1}OOOO. ............IOOOO${c2}II${c1}OOOOI............ OOOOOOOOOOOOOOOOOO${c2}II${c1}OOOOOOOOOOOOOOOOOO OOOO${c2}II${c1}OOOOOOOOOOO${c2}II${c1}OOOOOOOOOOO${c2}II${c1}OOOO OOOOO${c2}III${c1}OOOOOOOO${c2}II${c1}OOOOOOOO${c2}III${c1}OOOOO OOOOOOO${c2}IIII${c1}OO${c2}I....I${c1}OO${c2}IIII${c1}OOOOOOO OOOOOOOOOO${c2}II.. ..II${c1}OOOOOOOOOO OOOOOOO${c2}II. .II${c1}OOOOOOO OOOOOO${c2}II:......:II${c1}OOOOOO OOOOOOOOO${c2}IIIIIIII${c1}OOOOOOOOO OOOOOO${c2}II${c1}OOOOOOOOOOOO${c2}II${c1}OOOOOO OOOO${c2}II${c1}OOOOOOOI IOOOOOO${c2}II${c1}OOOO IOO${c2}II${c1}OOOOOOOO: :OOOOOOOO${c2}II${c1}OOI IOOOOOOOOOOII IIOOOOOOOOOOI """) hyfetch-1.4.11/hyfetch/distros/venom.py000066400000000000000000000013571453247431100200610ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt venom = AsciiArt(match=r'''"Venom"*''', color='8 4', ascii=r""" ${c1} `-` -yys+/-` `oyyyyy: /osyyyyso+:. /yyyyy+`+yyyyyyyyyys/. .-yyyyys.:+//+oyyyyyyyo. `oy/`oyyyyy/ ./syyyyy: syyys`:yyyyyo` :yyyyy: /yyyyo .syyyyy- .yyyyy. yyyyy. +yyyyy/ /yyyy/ `yyyyy :yyyyys` -yyyyo yyyyy. `syyyyy- /yyyy/ /yyyyo /yyyyy+ .yyyyy. syyyys. -yyyyys.:yyyy: `oyyyyyo-` `oyyyyy:.sy: :syyyyyyso+/++`/yyyyyo`` -oyyyyyyyyyyy-.syyyys. -/+osyyyyso.`+yyyyy/ .-/+syo` `. """) hyfetch-1.4.11/hyfetch/distros/venom_small.py000066400000000000000000000005711453247431100212460ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt venom_small = AsciiArt(match=r'''"venom_small"*''', color='8 4', ascii=r""" ${c1} ++** *===**====+* *====* +===+ *==*+===* *===* *===* *===+ *===* *===* +===+ *===* *===* +===* *===* *===* *===+*==* +===+ *===+=* *+====**===* **++ """) hyfetch-1.4.11/hyfetch/distros/vnux.py000066400000000000000000000016451453247431100177350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt vnux = AsciiArt(match=r'''"VNux"*''', color='11 8 15 1 7', ascii=r""" ${c1} ` ^[XOx~. ^_nwdbbkp0ti' ${c2} _j>!vC1,, ${c4},${c2} ,CY${c3}O${c2}t${c3}O${c2}1(l;" `${c4}~-{r(1I${c2} ^${c1}/zmwJuc:${c2}I^ '${c4}?)|${c1}U${c4}/}-${c2} ^${c3}f${c1}OCLLOw${c3}_${c2},; ,${c4}i,``. ${c2}",${c3}k%ooW@$d"${c2}I,' ' ;^${c3}u$$$$$$$$^<${c2}:^ ` .>>${c3}($$${c5}$@@@@$$${c3}$nl${c2}[:: `!}?${c3}B$${c5}%&WMMW&%$${c3}$1}-${c2}}": ^?j${c3}Z$${c5}WMMWWWWMMW$${c3}ofc${c2};;` <~x&${c3}$${c5}&MWWWWWWWWp${c3}-${c5}l>[< ${c1} 'ljmwn${c2}~tk8${c5}MWWWWM8O${c2}X${c1}r${c2}+]nC${c1}[ !JZqwwdX${c2}:^C8${c5}#MMMM@${c2}X${c1}Odpdpq0< ^x00J(" ^" """) hyfetch-1.4.11/hyfetch/distros/void.py000066400000000000000000000032501453247431100176700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt void = AsciiArt(match=r'''"Void"*''', color='8 2 7', ascii=r""" ${c1} .......... .::::::::::::::::::.. ..:::::::::::::::::::::::::. '::::::::::::::::::::::::::::. ':::::'' '':::::::::::::. ${c3} .. ${c1}' '':::::::::. ${c3} .||. ${c1}'::::::::: ${c3} .|||||. ${c1}':::::::: ${c3} .|||||||: ${c1}:::::::: ${c3} |||||||: ${c1}.::::::::. :::::::: ${c2} ######${c3}||||||' ${c2}##^ v##########v${c1}::. ${c2}##### #############v ${c2} ######${c3}||||| ${c2}##^ v####${c1}::::::${c2}####v${c1}::${c2}##### #####${c1}:::::${c2}##### ${c2} ######${c3}||${c2}##^ #####${c1}::::::${c2}#####${c1}::${c2}##### #####${c1}:::::${c2}###### ${c2} ######^${c3}|| ${c2}#####${c1}:::::${c2}####^${c1}::${c2}##### #####${c1}:::::${c2}#####^ ${c2} ##^${c3}||||| ${c2}^###########^${c1}:::${c2}##### ##############^ ${c3} |||||||: ${c1}'::::::::' .:::::::: ${c3} '|||||||: ${c1}.::::::::' ${c3} '|||||||:. ${c1}':::::: ${c3} '||||||||:. ${c1}'::: ${c3} ':|||||||||. . ${c1}' ${c3} '|||||||||||:... ...:||||. ${c3} ':||||||||||||||||||||||||||. ${c3} ':|||||||||||||||||||||||'' ${c3} '':||||||||||||||:'' ${c3} '''''' """) hyfetch-1.4.11/hyfetch/distros/void_small.py000066400000000000000000000004121453247431100210550ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt void_small = AsciiArt(match=r'''"void_small"''', color='2 8', ascii=r""" ${c1} _______ _ \______ - | \ ___ \ | | | / \ | | | | \___/ | | | \______ \_| -_______\ """) hyfetch-1.4.11/hyfetch/distros/vzlinux.py000066400000000000000000000016311453247431100204470ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt vzlinux = AsciiArt(match=r'''"VzLinux"*''', color='1 7 3', ascii=r""" ${c2} ${c1}.::::::::.${c2} `/////` ${c1}:zzzzzzzz${c2} ://///- VVVVVu` ${c1}-zzz`${c2} /VVVVV. `dVVVVV ${c1}.zzz`${c2} :VVVVV: `VVVVVo ${c1}zzz${c2} -VVVVV/ .VVVVV\ ${c1}zzz/${c2} .VVVVV+ -VVVVV: ${c1}zzzzzzzzz${c2} .dVVVVs \VVVVV- ${c1}`````````${c2} VVVVVV +VVVVV. sVVVVu` oVVVVd` +VVVVd` VVVVVV /VVVVV. `uVVVVs -VVVVV- `dVVVV+ .VVVVV/ .VVVVV\ `dVVVV+ -VVVVV-`uVVVVo :VVVVVVVVVVV \VVVVVVVVu oVVVVVVd` sVVVVV. ----. """) hyfetch-1.4.11/hyfetch/distros/wii_linux_ngx.py000066400000000000000000000023671453247431100216220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt wii_linux_ngx = AsciiArt(match=r'''*"wii-linux-ngx"*|*"whiite-linux"*| *"gc-linux"*''', color='6 7', ascii=r""" ${c1}''''''' `~;:` -'''''' ~kQ@@g\ ,EQ@@g/ h@@@@@@' o@@@@@9` `@@@@@@D `@@@@@@@= @@@@@@@? '@@@@@@X o@@@@@@@D v@@@@@@: R@@@@@@, D@@@@@@_ t@@@@@@' _@@@@@@@@@; `Q@@@@@U ;fmo/- ;fmo/- `Q@@@@@m d@@@@@@@@@N 7@@@@@@' L@@@@@@' :@@@@@&@@@@@| `Q@@@@@Z :]]]]]v :]]]]]v Q@@@@@X R@@@@Q`g@@@@Q f@@@@@Q- z@@@@@Q v@@@@@Q r@@@@@@~ ;@@@@@/ ;@@@@@L `@@@@@@/ z@@@@@Q v@@@@@Q d@@@@@q M@@@@# H@@@@Q ]@@@@@Q z@@@@@Q v@@@@@Q ,@@@@@@, >@@@@@; _@@@@@c `@@@@@@> z@@@@@Q v@@@@@Q X@@@@@U Q@@@@R Z@@@@Q`{@@@@@N z@@@@@Q v@@@@@Q .@@@@@@S@@@@@: -@@@@@e@@@@@@: z@@@@@Q v@@@@@Q {@@@@@@@@@@U t@@@@@@@@@@e z@@@@@Q v@@@@@Q `Q@@@@@@@@@' `Q@@@@@@@@@- z@@@@@Q v@@@@@Q :@@@@@@@@| ;@@@@@@@@= z@@@@@Q v@@@@@Q '2#@@Q6: ,eQ@@QZ~ /QQQQQg \QQQQQN """) hyfetch-1.4.11/hyfetch/distros/windows.py000066400000000000000000000015071453247431100204240ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt windows = AsciiArt(match=r'''"Windows"*''', color='1 2 4 3', ascii=r""" ${c1} ,.=:!!t3Z3z., :tt:::tt333EE3 ${c1} Et:::ztt33EEEL${c2} @Ee., .., ${c1} ;tt:::tt333EE7${c2} ;EEEEEEttttt33# ${c1} :Et:::zt333EEQ.${c2} $EEEEEttttt33QL ${c1} it::::tt333EEF${c2} @EEEEEEttttt33F ${c1} ;3=*^```"*4EEV${c2} :EEEEEEttttt33@. ${c3} ,.=::::!t=., ${c1}`${c2} @EEEEEEtttz33QF ${c3} ;::::::::zt33)${c2} "4EEEtttji3P* ${c3} :t::::::::tt33.${c4}:Z3z..${c2} ``${c4} ,..g. ${c3} i::::::::zt33F${c4} AEEEtttt::::ztF ${c3} ;:::::::::t33V${c4} ;EEEttttt::::t3 ${c3} E::::::::zt33L${c4} @EEEtttt::::z3F ${c3}{3=*^```"*4E3)${c4} ;EEEtttt:::::tZ` ${c3} `${c4} :EEEEtttt::::z7 "VEzjt:;;z>*` """) hyfetch-1.4.11/hyfetch/distros/windows95.py000066400000000000000000000021321453247431100205750ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt windows95 = AsciiArt(match=r'''"Windows95"''', color='6 4 3 2 1 0', ascii=r""" ${c6} ___ .--=+++++=-:. . _ *%@@@@@@@@@@@@@@* *:+:.__ :+* @@@ @"${c5}_*&%${c6}@@${c4}%&&&*${c6}"@@@ "+.-#+ +%* " _ ${c5}++&&&%${c6}@@${c4}%&&&&&#${c6}@@ ${c5} " , ${c6}%@@ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ ${c5} * oo *# ${c6}" _ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ ${c5} " , ${c6}%@@ ${c5}&&&&"${c6}@@@@#*${c4}"&&&${c6}@@ .${c5} * oo *# ${c6}" _ %@@@@@@@@@@@@@@@@ *:+:.__ :=* %@@ @"${c1}**&%${c6}@@${c3}%&&&*${c6}"@@@ "+.-#+ +%* " _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ ${c1} " , ${c6}%@@ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ ${c1} * oo *# ${c6}" _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ ${c1} " , ${c6}%@@ ${c1}&&*"${c6}%@@@@@@${c3}"*%&${c6}@@ .${c1} * oo *# ${c6}" _ @@@@@@@@@@@@@@@@@ *:+:.__ :+# @@@ @%#=+"\"\""\""+==%#@ "+.-#+ +%* %+" " ":@ " " """) hyfetch-1.4.11/hyfetch/distros/windows_10.py000066400000000000000000000016111453247431100207200ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt windows_10 = AsciiArt(match=r'''*"[Windows 10]"*|*"on Windows 10"*|"Windows 8"*| "Windows 10"* |"windows10"|"windows8"''', color='6 7', ascii=r""" ${c1} .., ....,,:;+ccllll ...,,+:; cllllllllllllllllll ,cclllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll `'ccllllllllll lllllllllllllllllll `' \*:: :ccllllllllllllllll ````''*::cll `` """) hyfetch-1.4.11/hyfetch/distros/windows_11.py000066400000000000000000000013241453247431100207220ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt windows_11 = AsciiArt(match=r'''*"[Windows 11]"*|*"on Windows 11"*| "Windows 11"* |"windows11"''', color='4 6', ascii=r""" ${c1} ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ """) hyfetch-1.4.11/hyfetch/distros/wrt.py000066400000000000000000000005521453247431100175450ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt wrt = AsciiArt(match=r'''*"Wrt"*''', color='4 7 1', ascii=r""" ${c1} _______ | |.-----.-----.-----. | - || _ | -__| | |_______|| __|_____|__|__| |__| ________ __ | | | |.----.| |_ | | | || _|| _| |________||__| |____| """) hyfetch-1.4.11/hyfetch/distros/xenia.py000066400000000000000000000025711453247431100200400ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt xenia = AsciiArt(match=r'''"Xenia"*''', color='#55CDFD' '#F6AAB7' '#FFFFFF', ascii=r""" ${c3} !${c3}`${c3} @ ${c3} @${c3}```${c3}b @@@@@ ${c3} @${c3}`````${c3}@ @/${c3}@@@@ ${c3} @@${c3}``'))))))))))C@@ ${c3} @@@){)))))()))))))) ${c3} @r))))@${c1}oooo${c3})))))h)))[ ${c3} rr)))j${c1}oooooo${c3}(x${c1}ooooo${c3}$@) ${c3} rrrxr))r/l;${c1},,,${c3}z@{${c1},,,,,${c3}@@ ${c3} rr ) ${c2}v${c3} @;@rx ${c3} rrr) ${c2}\__^__/${c3} ji ${c3} rj]. . r ${c3}[[${c2}]]${c1}11111111111111111] ${c2}]${c3}[[[${c2}]]][${c1}11111111111111111< ${c2}]${c3}[[[[[${c2}]]]]]]]]]]]]]]${c1}-111111[ ${c2}]-${c3}[[[[[[;${c2}]]]]]]]]]]]]]]]]${c1} 1 ${c2}]]${c3}[[[[[[[[[[[${c2}]]]]]]]]]]]]] ${c1}1${c2}]][${c3}[[[[[[[[[[[[[${c2}<]]]]]]]]] ${c1}11${c2}]]]${c3}[[[[[[[[[[[[[[[${c2}]]]]]]] ${c1}111${c2}]]]]'${c3}[[[[[[[[[[[[[[${c2}]]]] ${c1}111-${c2}]]]]]${c3}[[[[[[[[[[[[[${c2}]] ${c1}11111${c2}]]]]]_${c3}[[[[[[[[[[${c2}] ${c1}11111${c2}]]]i${c3}[[[[[[[[ ${c1}1111${c2}]]+${c3}[[[[[[^ ${c1}11 ${c2}]]${c3}[[[[[[ ${c1}11 +${c2}]${c3}[[[[ ${c1}1 ${c2}]${c3}[[ ` """) hyfetch-1.4.11/hyfetch/distros/xenia2.py000066400000000000000000000025551453247431100201240ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt xenia2 = AsciiArt(match=r'''"Xenia2"*''', color='#55CDFD' '#F6AAB7' '#FFFFFF', ascii=r""" ${c2} ,c. .c; ${c2} .${c1}KMMMk${c2}.... ....${c1}kMMMK${c2}. ${c2} .${c1}WMMMMMX${c2}..... .....${c1}KMMMMMW. ${c1} XMMMMMMM0${c2}..... ....${c1}OMMMMMMMN ${c1} dMMMMMMMMM;${c2}.... ..... ....,${c1}MMMMMMMMMd ${c1} WMMMMMMMMMl;${c3}okKKKKKKKKKOo${c1};cMMMMMMMMMM ${c1} 'MMMMMMMNX${c2}K0${c3}KKKKKKKKKKKKKKK${c2}0K${c1}XNMMMMMMM; ${c1} oMMMMMMM${c2}Oxo${c3}KKKKKKKKKKKKKKKKK${c2}oxO${c1}MMMMMMMd ${c1} dMMMMMMM${c2}dxxx${c3}KKKKKKKKKKKKKKK${c2}xxxd${c1}NMMMMMMk ${c1} :MMMMX0${c2}xxxxxx${c3}0KKKKKKKK0KK0${c2}xxxxxx0${c1}XMMMMc ${c1} MMMO${c2}xxxxxxxxdx${c3}kdd${c2}0x0${c3}ddk${c2}xdxxxxxxxx${c1}OMMM ${c1} ;${c2}xxkxddxxxxdodxxxxdxdxxxxdodxxxxddxkxx${c1}; ${c1}dxd${c2}KMMMWXo${c1}'.....'${c2}cdxxxdc${c1}'.....'${c2}lXWMMMX${c1}dxd ${c1}cxd${c2}XMMMN${c1},..........${c2}dxd${c1}'.........'${c2}XMMMN${c1}dxl ${c1} .xx${c2}WMMl${c1}...''....'.;k:.'....''...${c2}lMMW${c1}xx. ${c1}..:kXMMx..'....''..kMk..''....'..xMMXkc.. ${c1} dMMMMMMd.....'...xMMMx...''....dMMMMMMx ${c1} kMMMMWOoc:coOkolllokOoc:coOWMMMMO ${c1} .MMMMMMMMl${c2}...${c1}lNMMMMMMM. ${c1} KMMMMMMX${c2}l${c1}KMMMMMMX ${c1} .MMMMMMMMM. """) hyfetch-1.4.11/hyfetch/distros/xferience.py000066400000000000000000000014621453247431100207020ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt xferience = AsciiArt(match=r'''*"XFerience"*''', color='6 6 7 1', ascii=r""" ${c1} ``--:::::::-.` .-/+++ooooooooo+++:-` `-/+oooooooooooooooooo++:. -/+oooooo/+ooooooooo+/ooo++:` `/+oo++oo. .+oooooo+.-: +:-o+- `/+o/. -o. :oooooo+ ```:.+oo+- `:+oo- -/` :oooooo+ .`-`+oooo/. .+ooo+. .` `://///+-+..oooooo+:` -+ooo:` ``.-+oooooo+/` -+oo/` :+oooo/. .+oo: ..-/. . -+oo+/` `/++- -:::++::/. -+oo+- ./o: `:///+- `./ooo+:` .++- `` /-` -:/+oooo+:` .:+/:`` `-:ooooooo++- ./+o+//:...../+oooooooo++:` `:/++ooooooooooooo++/-` `.-//++++++//:-.` `````` """) hyfetch-1.4.11/hyfetch/distros/xray_os.py000066400000000000000000000031161453247431100204140ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt xray_os = AsciiArt(match=r'''"Xray_OS"*''', color='15 14 16 24', ascii=r""" ${c1} ${c1}rrrrrraaaaaaaaaaaayyyy ${c1}xxrrrrrrrraaaaaaaaaaaayyyyyyyyy ${c1}xxxxxrrrrrrrraaaaaaaaaaaayyyyyyy${c3}yyyyy${c2}yyyyyyyyyy ${c1}xxxxxxxrrrrrrrraaaaa ${c2}aaaaayyyyyyyyyyyyyyyyyyy ${c1}xxxxxx${c3}xxx${c1}rrrrrrrraaaa ${c2}aaaaaaayyyyyyyyyyyyyyyyy ${c1}xxxxxx${c3}xxxxxr${c1}rrrrrrraa ${c2}aaaaaaaaay${c3}yyyyyyyyy${c2}yyyy ${c1}yy ${c1}xxxxxxx${c3}xxx${c1}xxrrrrrrrra ${c2}aaaaaaaaa${c3}ayyyyyyyyyyyy${c1}yyyyyy ${c1}xxxxxxxxxxxxrrrrrrrr ${c2}aaaaaaaaaaa${c3}yyyyyyyyyyyy${c1}yyyyyyy ${c1}xxxxxxxxxxxxxrrrrrr ${c2}raaaaaaaaaaaayyy${c3}yyyyyyyy${c1}yyyyyy${c1}yyy ${c1}xxxxxxxxxxxxxrrrrr ${c2}rraaaaaaaaaaaayyyyy${c3}yy${c2}yyyyyy ${c1}yyyyyy ${c1}xxxxxxxx${c3}xxxx${c1}xrrrrr${c2}rr${c3}raaaaaaa${c2}aaaaayyyyyyyyyy ${c1}yyyyyyyyy ${c1}xxxxxxx${c3}xxxx${c1}xxrrrrrrr${c3}raaaaaa${c2}aaaaaayyyyyyy ${c1}yyyyyyyyyyyy ${c1}xxxxxxx${c3}xxx${c1}xxxrrrrrrrr${c3}aaaaaa${c2}aaaaaayyyy ${c1}yyyyyyyyyyyyyy ${c1}xxxxxxxxxxxxrrrrrrrra ${c2}aaaaaaaaaay ${c1}yyyyyyyyyyyyyyyy ${c1}xxxxxxxxxxxrrrrrrr ${c2}aaaaaaaaaaaayyyy${c1}yyyyyyyyyyyyy ${c1}xxxxxxx${c3}xxxrr${c1}rrrr ${c2}raaaaaaaaaaaa ${c1}yyyyyyyyyyyyyyy ${c1}xxxxxxxxrrrr ${c2}rrraaaaaaaaa ${c1}aayyyyyyyyyyyyyy ${c1}xxxxxxrrrrrrr ${c2}aaaaaa ${c1}aaaayyyyyyyyyyyy ${c1}xxxrrrrrr ${c2}raaa ${c1}aaaaaaayyyyyyyyy ${c1}rrrr ${c2}rr ${c1}aaaaaaaaaayyyyyy ${c2}r ${c1}aaaaaaaaaa """) hyfetch-1.4.11/hyfetch/distros/xubuntu.py000066400000000000000000000021641453247431100204440ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt xubuntu = AsciiArt(match=r'''"Xubuntu"*''', color='4 7 1', ascii=r""" ${c1} `.:/ossyyyysso/:. `.yyyyyyyyyyyyyyyyyyyy.` `yyyyyyyyyyyyyyyyyyyyyyyyyy` `yyyyyyyyyyyyyyyyyyyy${c2}::${c1}yyyyyyyy` .yyyyyyyyyyy${c2}/+:${c1}yyyyyyy${c2}ds${c1}yyy${c2}+y${c1}yyyy. yyyyyyy${c2}:o/${c1}yy${c2}dMMM+${c1}yyyyy${c2}/M+${c1}y${c2}:hM+${c1}yyyyyy yyyyyyy${c2}+MMMy${c1}y${c2}mMMMh${c1}yyyyy${c2}yM::mM+${c1}yyyyyyyy `yyyyyyy${c2}+MMMMysMMMd${c1}yyyyy${c2}dh:mN+${c1}yyyyyyyyy` yyyyyyyy${c2}:NMMMMmMMMMmmdhyy+/y:${c1}yyyyyyyyyyy yyyyyyyy${c2}+MMMMMMMMMMMMMMMMMMNho:${c1}yyyyyyyyy yyyyyyyy${c2}mMMMMMMMMMMMMMMMMMMMMMMy${c1}yyyyyyyy yyyyyyy${c2}+MMMMMMMMMMMMMMMMMMMMMMMM/${c1}yyyyyyy `yyyyyy${c2}sMMMMMMMMMMMMMMMMMMMMMMmo${c1}yyyyyyy` yyyyyy${c2}oMMMMMMMMMMMMMMMMMMMmy+${c1}yyyyyyyyy yyyyy${c2}:mMMMMMMMMMMMMMMNho/${c1}yyyyyyyyyyy .yyyy${c2}:yNMMMMMMMNdyo:${c1}yyyyyyyyyyyyy. `yyyyyy${c2}:/++/::${c1}yyyyyyyyyyyyyyyyy` `yyyyyyyyyyyyyyyyyyyyyyyyyy` `.yyyyyyyyyyyyyyyyyyyy.` `.:/oosyyyysso/:.` """) hyfetch-1.4.11/hyfetch/distros/yiffos.py000066400000000000000000000015471453247431100202350ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt yiffos = AsciiArt(match=r'''"yiffOS"*''', color='93 92', ascii=r""" ${c1} NK NxKXW WOlcoXW 0olccloxNW XxllllllloxOKNW Nklllllllllllodk0XWW N0dllllllllllllllodxOKNW WKxlllllllllllllllllllooxOKN WKdllllllllllllllooooooooooooo Nxllllllllllllllloooooooooo${c2}oooo ${c1} XXNOolllllllllllloooooooooo${c2}oooooo ${c1} WX0xolllllllllllooooooooooo${c2}oooooooo ${c1} XWN0xolllllllllloooooooo${c2}ooooooooooooo ${c1} Kkdolllllllooooddddd${c2}doooooooooooddo ${c1} K00XNW${c2} WX0xdooooooddddddd WXOxdoooooodddd WXOxdddddddd NX0ddd WN0d """) hyfetch-1.4.11/hyfetch/distros/zorin.py000066400000000000000000000012161453247431100200700ustar00rootroot00000000000000# This file is automatically generated. Please do not modify. from . import AsciiArt zorin = AsciiArt(match=r'''"Zorin"*''', color='4 6', ascii=r""" ${c1} `osssssssssssssssssssso` .osssssssssssssssssssssso. .+oooooooooooooooooooooooo+. `::::::::::::::::::::::. .:` `+ssssssssssssssssss+:.` `.:+ssso` .ossssssssssssssso/. `-+ossssssso. ssssssssssssso/-` `-/osssssssssssss .ossssssso/-` .-/ossssssssssssssso. `+sss+:. `.:+ssssssssssssssssss+` `:. .::::::::::::::::::::::` .+oooooooooooooooooooooooo+. -osssssssssssssssssssssso- `osssssssssssssssssssso` """) hyfetch-1.4.11/hyfetch/main.py000077500000000000000000000364301453247431100161750ustar00rootroot00000000000000#!/usr/bin/env python3 from __future__ import annotations import argparse import datetime import json import random import traceback from itertools import permutations from math import ceil from . import termenv, neofetch_util, pride_month from .color_scale import Scale from .color_util import clear_screen from .constants import * from .models import Config from .neofetch_util import * from .presets import PRESETS def check_config(path) -> Config: """ Check if the configuration exists. Return the config object if it exists. If not, call the config creator :return: Config object """ if path.is_file(): try: return Config.from_dict(json.loads(path.read_text('utf-8'))) except KeyError: return create_config() return create_config() def create_config() -> Config: """ Create config interactively :return: Config object (automatically stored) """ # Detect terminal environment (doesn't work on Windows) det_bg = termenv.get_background_color() det_ansi = termenv.detect_ansi_mode() asc = get_distro_ascii() asc_width, asc_lines = ascii_size(asc) logo = color("&l&bhyfetch&~&L" if det_bg is None or det_bg.is_light() else "&l&bhy&ffetch&~&L") title = f'Welcome to {logo} Let\'s set up some colors first.' clear_screen(title) option_counter = 1 def update_title(k: str, v: str): nonlocal title, option_counter if not k.endswith(":"): k += ':' title += f"\n&e{option_counter}. {k.ljust(30)} &~{v}" option_counter += 1 def print_title_prompt(prompt: str): printc(f'&a{option_counter}. {prompt}') ############################## # 0. Check term size try: term_len, term_lines = os.get_terminal_size().columns, os.get_terminal_size().lines term_len_min = 2 * asc_width + 4 term_lines_min = 30 if term_len < term_len_min or term_lines < term_lines_min: printc(f'&cWarning: Your terminal is too small ({term_len} * {term_lines}). \n' f'Please resize it to at least ({term_len_min} * {term_lines_min}) for better experience.') input('Press enter to ignore...') except: # print('Warning: We cannot detect your terminal size.') pass ############################## # 1. Select color system def select_color_system(): if det_ansi == 'rgb': return 'rgb', 'Detected color mode' clear_screen(title) term_len, term_lines = term_size() scale2 = Scale(['#12c2e9', '#c471ed', '#f7797d']) _8bit = [scale2(i / term_len).to_ansi_8bit(False) for i in range(term_len)] _rgb = [scale2(i / term_len).to_ansi_rgb(False) for i in range(term_len)] printc('&f' + ''.join(c + t for c, t in zip(_8bit, '8bit Color Testing'.center(term_len)))) printc('&f' + ''.join(c + t for c, t in zip(_rgb, 'RGB Color Testing'.center(term_len)))) print() print_title_prompt('Which &bcolor system &ado you want to use?') printc(f'(If you can\'t see colors under "RGB Color Testing", please choose 8bit)') print() return literal_input('Your choice?', ['8bit', 'rgb'], 'rgb'), 'Selected color mode' # Override global color mode color_system, ttl = select_color_system() GLOBAL_CFG.color_mode = color_system update_title(ttl, color_system) ############################## # 2. Select light/dark mode def select_light_dark(): if det_bg is not None: return det_bg.is_light(), 'Detected background color' clear_screen(title) inp = literal_input(f'2. Is your terminal in &blight mode&~ or &4dark mode&~?', ['light', 'dark'], 'dark') return inp == 'light', 'Selected background color' is_light, ttl = select_light_dark() light_dark = 'light' if is_light else 'dark' GLOBAL_CFG.is_light = is_light update_title(ttl, light_dark) ############################## # 3. Choose preset # Create flags = [[lines]] flags = [] spacing = max(max(len(k) for k in PRESETS.keys()), 20) for name, preset in PRESETS.items(): flag = preset.color_text(' ' * spacing, foreground=False) flags.append([name.center(spacing), flag, flag, flag]) # Calculate flags per row flags_per_row = term_size()[0] // (spacing + 2) row_per_page = max(1, (term_size()[1] - 13) // 5) num_pages = ceil(len(flags) / (flags_per_row * row_per_page)) # Create pages pages = [] for i in range(num_pages): page = [] for j in range(row_per_page): page.append(flags[:flags_per_row]) flags = flags[flags_per_row:] if not flags: break pages.append(page) def print_flag_page(page: list[list[list[str]]], page_num: int): clear_screen(title) print_title_prompt("Let's choose a flag!") printc('Available flag presets:') print(f'Page: {page_num + 1} of {num_pages}') print() for i in page: print_flag_row(i) print() def print_flag_row(current: list[list[str]]): [printc(' '.join(line)) for line in zip(*current)] print() page = 0 while True: print_flag_page(pages[page], page) tmp = PRESETS['rainbow'].set_light_dl_def(light_dark).color_text('preset') opts = list(PRESETS.keys()) if page < num_pages - 1: opts.append('next') if page > 0: opts.append('prev') print("Enter 'next' to go to the next page and 'prev' to go to the previous page.") preset = literal_input(f'Which {tmp} do you want to use? ', opts, 'rainbow', show_ops=False) if preset == 'next': page += 1 elif preset == 'prev': page -= 1 else: _prs = PRESETS[preset] update_title('Selected flag', _prs.set_light_dl_def(light_dark).color_text(preset)) break ############################# # 4. Dim/lighten colors def select_lightness(): clear_screen(title) print_title_prompt("Let's adjust the color brightness!") printc(f'The colors might be a little bit too {"bright" if is_light else "dark"} for {light_dark} mode.') print() # Print cats num_cols = (term_size()[0] // (TEST_ASCII_WIDTH + 2)) or 1 mn, mx = 0.15, 0.85 ratios = [col / num_cols for col in range(num_cols)] ratios = [(r * (mx - mn) / 2 + mn) if is_light else ((r * (mx - mn) + (mx + mn)) / 2) for r in ratios] lines = [ColorAlignment('horizontal').recolor_ascii(TEST_ASCII.replace( '{txt}', f'{r * 100:.0f}%'.center(5)), _prs.set_light_dl(r, light_dark)).split('\n') for r in ratios] [printc(' '.join(line)) for line in zip(*lines)] def_lightness = GLOBAL_CFG.default_lightness(light_dark) while True: print() printc(f'Which brightness level looks the best? (Default: {def_lightness * 100:.0f}% for {light_dark} mode)') lightness = input('> ').strip().lower() or None # Parse lightness if not lightness or lightness in ['unset', 'none']: return def_lightness try: lightness = int(lightness[:-1]) / 100 if lightness.endswith('%') else float(lightness) assert 0 <= lightness <= 1 return lightness except Exception: printc('&cUnable to parse lightness value, please input it as a decimal or percentage (e.g. 0.5 or 50%)') lightness = select_lightness() _prs = _prs.set_light_dl(lightness, light_dark) update_title('Selected Brightness', f"{lightness:.2f}") ############################# # 5. Color arrangement color_alignment = None fore_back = get_fore_back() # Calculate amount of row/column that can be displayed on screen ascii_per_row = max(1, term_size()[0] // (asc_width + 2)) ascii_rows = max(1, (term_size()[1] - 8) // asc_lines) # Displays horizontal and vertical arrangements in the first iteration, but hide them in # later iterations hv_arrangements = [ ('Horizontal', ColorAlignment('horizontal', fore_back=fore_back)), ('Vertical', ColorAlignment('vertical')) ] arrangements = hv_arrangements.copy() # Loop for random rolling while True: clear_screen(title) # Random color schemes pis = list(range(len(_prs.unique_colors().colors))) slots = list(set(re.findall('(?<=\\${c)[0-9](?=})', asc))) while len(pis) < len(slots): pis += pis perm = {p[:len(slots)] for p in permutations(pis)} random_count = max(0, ascii_per_row * ascii_rows - len(arrangements)) if random_count > len(perm): choices = perm else: choices = random.sample(sorted(perm), random_count) choices = [{slots[i]: n for i, n in enumerate(c)} for c in choices] arrangements += [(f'random{i}', ColorAlignment('custom', r)) for i, r in enumerate(choices)] asciis = [[*ca.recolor_ascii(asc, _prs).split('\n'), k.center(asc_width)] for k, ca in arrangements] while asciis: current = asciis[:ascii_per_row] asciis = asciis[ascii_per_row:] # Print by row [printc(' '.join(line)) for line in zip(*current)] print() print_title_prompt("Let's choose a color arrangement!") printc(f'You can choose standard horizontal or vertical alignment, or use one of the random color schemes.') print('You can type "roll" to randomize again.') print() choice = literal_input(f'Your choice?', ['horizontal', 'vertical', 'roll'] + [f'random{i}' for i in range(random_count)], 'horizontal') if choice == 'roll': arrangements = [] continue # Save choice arrangement_index = {k.lower(): ca for k, ca in hv_arrangements + arrangements} if choice in arrangement_index: color_alignment = arrangement_index[choice] else: print('Invalid choice.') continue break update_title('Color alignment', color_alignment) # Create config clear_screen(title) c = Config(preset, color_system, light_dark, lightness, color_alignment) # Save config print() save = literal_input(f'Save config?', ['y', 'n'], 'y') if save == 'y': c.save() return c def create_parser() -> argparse.ArgumentParser: # Create CLI hyfetch = color('&l&bhyfetch&~&L') parser = argparse.ArgumentParser(description=color(f'{hyfetch} - neofetch with flags <3'), prog="hyfetch") parser.add_argument('-c', '--config', action='store_true', help=color(f'Configure hyfetch')) parser.add_argument('-C', '--config-file', dest='config_file', default=CONFIG_PATH, help=f'Use another config file') parser.add_argument('-p', '--preset', help=f'Use preset', choices=list(PRESETS.keys())) parser.add_argument('-m', '--mode', help=f'Color mode', choices=['8bit', 'rgb']) parser.add_argument('-b', '--backend', help=f'Choose a *fetch backend', choices=['qwqfetch', 'neofetch', 'fastfetch', 'fastfetch-old']) parser.add_argument('--args', help=f'Additional arguments pass-through to backend') parser.add_argument('--c-scale', dest='scale', help=f'Lighten colors by a multiplier', type=float) parser.add_argument('--c-set-l', dest='light', help=f'Set lightness value of the colors', type=float) parser.add_argument('--c-overlay', action='store_true', dest='overlay', help=f'Use experimental overlay color adjusting instead of HSL lightness') parser.add_argument('-V', '--version', dest='version', action='store_true', help=f'Check version') parser.add_argument('--june', action='store_true', help=f'Show pride month easter egg') parser.add_argument('--debug', action='store_true', help=f'Debug mode') parser.add_argument('--distro', '--test-distro', dest='distro', help=f'Test for a specific distro') parser.add_argument('--ascii-file', help='Use a specific file for the ascii art') # Hidden debug arguments # --test-print: Print the ascii distro and exit parser.add_argument('--test-print', action='store_true', help=argparse.SUPPRESS) # --ask-exit: Ask for input before exiting parser.add_argument('--ask-exit', action='store_true', help=argparse.SUPPRESS) return parser def run(): # Optional: Import readline try: import readline except ModuleNotFoundError: pass # On Windows: Try to fix color rendering if not in git bash if IS_WINDOWS: import colorama colorama.just_fix_windows_console() parser = create_parser() args = parser.parse_args() # Use a custom distro GLOBAL_CFG.override_distro = args.distro GLOBAL_CFG.use_overlay = args.overlay if args.version: print(f'Version is {VERSION}') return # Ensure git bash for windows ensure_git_bash() check_windows_cmd() if args.debug: GLOBAL_CFG.debug = True if args.test_print: print(get_distro_ascii()) return # Check if user provided alternative config path if not args.config_file == CONFIG_PATH: args.config_file = Path(os.path.abspath(args.config_file)) # If provided file does not exist use default config if not args.config_file.is_file(): args.config_file = CONFIG_PATH # Load config or create config config = create_config() if args.config else check_config(args.config_file) # Check if it's June (pride month) now = datetime.datetime.now() june_path = CACHE_PATH / f'animation-displayed-{now.year}' if now.month == 6 and now.year not in config.pride_month_shown and not june_path.is_file() and os.isatty(sys.stdout.fileno()): args.june = True if args.june and not config.pride_month_disable: pride_month.start_animation() print() print("Happy pride month!") print("(You can always view the animation again with `hyfetch --june`)") print() if not june_path.is_file(): june_path.parent.mkdir(parents=True, exist_ok=True) june_path.touch() # Use a custom distro GLOBAL_CFG.override_distro = args.distro or config.distro # Param overwrite config if args.preset: config.preset = args.preset if args.mode: config.mode = args.mode if args.backend: config.backend = args.backend if args.args: config.args = args.args # Override global color mode GLOBAL_CFG.color_mode = config.mode GLOBAL_CFG.is_light = config.light_dark == 'light' # Get preset preset = PRESETS.get(config.preset) # Lighten (args > config) if args.scale: preset = preset.lighten(args.scale) elif args.light: preset = preset.set_light_raw(args.light) else: preset = preset.set_light_dl(config.lightness or GLOBAL_CFG.default_lightness()) # Run try: asc = get_distro_ascii() if not args.ascii_file else Path(args.ascii_file).read_text("utf-8") asc = config.color_align.recolor_ascii(asc, preset) neofetch_util.run(asc, config.backend, config.args or '') except Exception as e: print(f'Error: {e}') traceback.print_exc() if args.ask_exit: input('Press any key to exit...') hyfetch-1.4.11/hyfetch/models.py000066400000000000000000000020111453247431100165150ustar00rootroot00000000000000from __future__ import annotations from dataclasses import dataclass, field from .constants import CONFIG_PATH from .neofetch_util import ColorAlignment from .serializer import json_stringify, from_dict from .types import AnsiMode, LightDark, BackendLiteral @dataclass class Config: preset: str mode: AnsiMode light_dark: LightDark = 'dark' lightness: float | None = None color_align: ColorAlignment = field(default_factory=lambda: ColorAlignment('horizontal')) backend: BackendLiteral = "neofetch" args: str | None = None distro: str | None = None pride_month_shown: list[int] = field(default_factory=list) # This is deprecated, see issue #136 pride_month_disable: bool = False @classmethod def from_dict(cls, d: dict): d['color_align'] = ColorAlignment.from_dict(d['color_align']) return from_dict(cls, d) def save(self): CONFIG_PATH.parent.mkdir(exist_ok=True, parents=True) CONFIG_PATH.write_text(json_stringify(self, indent=4), 'utf-8') hyfetch-1.4.11/hyfetch/neofetch_util.py000066400000000000000000000324621453247431100200770ustar00rootroot00000000000000from __future__ import annotations import os import platform import re import shlex import shutil import subprocess import sys import zipfile from dataclasses import dataclass from pathlib import Path from subprocess import check_output from tempfile import TemporaryDirectory from typing import Iterable import pkg_resources from .color_util import color, printc from .constants import GLOBAL_CFG, MINGIT_URL, IS_WINDOWS from .distros import distro_detector from .presets import ColorProfile from .serializer import from_dict from .types import BackendLiteral, ColorAlignMode RE_NEOFETCH_COLOR = re.compile('\\${c[0-9]}') def literal_input(prompt: str, options: Iterable[str], default: str, show_ops: bool = True) -> str: """ Ask the user to provide an input among a list of options :param prompt: Input prompt :param options: Options :param default: Default option :param show_ops: Show options :return: Selection """ options = list(options) lows = [o.lower() for o in options] if show_ops: op_text = '|'.join([f'&l&n{o}&L&N' if o == default else o for o in options]) printc(f'{prompt} ({op_text})') else: printc(f'{prompt} (default: {default})') def find_selection(sel: str): if not sel: return None # Find exact match if sel in lows: return options[lows.index(sel)] # Find starting abbreviation for i, op in enumerate(lows): if op.startswith(sel): return options[i] return None selection = input('> ').lower() or default while not find_selection(selection): print(f'Invalid selection! {selection} is not one of {"|".join(options)}') selection = input('> ').lower() or default print() return find_selection(selection) def term_size() -> tuple[int, int]: """ Get terminal size :return: """ try: return os.get_terminal_size().columns, os.get_terminal_size().lines except Exception: return 100, 20 def ascii_size(asc: str) -> tuple[int, int]: """ Get distro ascii width, height ignoring color code :param asc: Distro ascii :return: Width, Height """ return max(len(line) for line in re.sub(RE_NEOFETCH_COLOR, '', asc).split('\n')), len(asc.split('\n')) def normalize_ascii(asc: str) -> str: """ Make sure every line are the same width """ w = ascii_size(asc)[0] return '\n'.join(line + ' ' * (w - ascii_size(line)[0]) for line in asc.split('\n')) def fill_starting(asc: str) -> str: """ Fill the missing starting placeholders. E.g. "${c1}...\n..." -> "${c1}...\n${c1}..." """ new = [] last = '' for line in asc.split('\n'): new.append(last + line) # Line has color placeholders matches = RE_NEOFETCH_COLOR.findall(line) if len(matches) > 0: # Get the last placeholder for the next line last = matches[-1] return '\n'.join(new) @dataclass class ColorAlignment: mode: ColorAlignMode # custom_colors[ascii color index] = unique color index in preset custom_colors: dict[int, int] = () # Foreground/background ascii color index fore_back: tuple[int, int] = () @classmethod def from_dict(cls, d: dict): return from_dict(cls, d) def recolor_ascii(self, asc: str, preset: ColorProfile) -> str: """ Use the color alignment to recolor an ascii art :return Colored ascii, Uncolored lines """ asc = fill_starting(asc) if self.fore_back and self.mode in ['horizontal', 'vertical']: fore, back = self.fore_back # Replace foreground colors asc = asc.replace(f'${{c{fore}}}', color('&0' if GLOBAL_CFG.is_light else '&f')) lines = asc.split('\n') # Add new colors if self.mode == 'horizontal': colors = preset.with_length(len(lines)) asc = '\n'.join([l.replace(f'${{c{back}}}', colors[i].to_ansi()) + color('&~&*') for i, l in enumerate(lines)]) else: raise NotImplementedError() # Remove existing colors asc = re.sub(RE_NEOFETCH_COLOR, '', asc) elif self.mode in ['horizontal', 'vertical']: # Remove existing colors asc = re.sub(RE_NEOFETCH_COLOR, '', asc) lines = asc.split('\n') # Add new colors if self.mode == 'horizontal': colors = preset.with_length(len(lines)) asc = '\n'.join([colors[i].to_ansi() + l + color('&~&*') for i, l in enumerate(lines)]) else: asc = '\n'.join(preset.color_text(line) + color('&~&*') for line in lines) else: preset = preset.unique_colors() # Apply colors color_map = {ai: preset.colors[pi].to_ansi() for ai, pi in self.custom_colors.items()} for ascii_i, c in color_map.items(): asc = asc.replace(f'${{c{ascii_i}}}', c) return asc def if_file(f: str | Path) -> Path | None: """ Return the file if the file exists, or return none. Useful for chaining 'or's """ f = Path(f) if f.is_file(): return f return None def get_command_path() -> str: """ Get the absolute path of the neofetch command :return: Command path """ cmd_path = pkg_resources.resource_filename(__name__, 'scripts/neowofetch') # Windows doesn't support symbolic links, but also I can't detect symbolic links... hard-code it here for now. if IS_WINDOWS: pkg = Path(__file__).parent pth = (shutil.which("neowofetch") or if_file(cmd_path) or if_file(pkg / 'scripts/neowofetch') or if_file(pkg.parent / 'neofetch') or if_file(Path(cmd_path).parent.parent.parent / 'neofetch')) if not pth: printc("&cError: Neofetch script cannot be found") exit(127) return str(pth) return cmd_path def ensure_git_bash() -> Path: """ Ensure git bash installation for windows :returns git bash path """ if IS_WINDOWS: # Find installation in default path def_path = Path(r'C:\Program Files\Git\bin\bash.exe') if def_path.is_file(): return def_path # Detect third-party git.exe in path git_exe = shutil.which("bash") or shutil.which("git.exe") or shutil.which("git") if git_exe is not None: pth = Path(git_exe).parent if (pth / r'bash.exe').is_file(): return pth / r'bash.exe' elif (pth / r'bin\bash.exe').is_file(): return pth / r'bin\bash.exe' # Find installation in PATH (C:\Program Files\Git\cmd should be in path) pth = (os.environ.get('PATH') or '').lower().split(';') pth = [p for p in pth if p.endswith(r'\git\cmd')] if pth: return Path(pth[0]).parent / r'bin\bash.exe' # Previously downloaded portable installation path = Path(__file__).parent / 'min_git' pkg_path = path / 'package.zip' if path.is_dir(): return path / r'bin\bash.exe' # No installation found, download a portable installation print('Git installation not found. Git is required to use HyFetch/neofetch on Windows') if literal_input('Would you like to install a minimal package for Git? (if no is selected colors almost certainly won\'t work)', ['yes', 'no'], 'yes', False) == 'yes': print('Downloading a minimal portable package for Git...') from urllib.request import urlretrieve urlretrieve(MINGIT_URL, pkg_path) print('Download finished! Extracting...') with zipfile.ZipFile(pkg_path, 'r') as zip_ref: zip_ref.extractall(path) print('Done!') return path / r'bin\bash.exe' else: sys.exit() def check_windows_cmd(): """ Check if this script is running under cmd.exe. If so, launch an external window with git bash since cmd doesn't support RGB colors. """ if IS_WINDOWS: import psutil # TODO: This line does not correctly identify cmd prompts... if psutil.Process(os.getppid()).name().lower().strip() == 'cmd.exe': print("cmd.exe doesn't support RGB colors, restarting in MinTTY...") cmd = f'"{ensure_git_bash().parent.parent / "usr/bin/mintty.exe"}" -s 110,40 -e python -m hyfetch --ask-exit' os.system(cmd) sys.exit(0) def run_neofetch_cmd(args: str, pipe: bool = False) -> str | None: """ Run neofetch command """ if platform.system() != 'Windows': full_cmd = ['/usr/bin/env', 'bash', get_command_path(), *shlex.split(args)] else: cmd = get_command_path().replace("\\", "/").replace("C:/", "/c/") args = args.replace('\\', '/').replace('C:/', '/c/') full_cmd = [ensure_git_bash(), '-c', f"'{cmd}' {args}"] # print(full_cmd) if pipe: return check_output(full_cmd).decode().strip() else: subprocess.run(full_cmd) def get_distro_ascii(distro: str | None = None) -> str: """ Get the distro ascii of the current distro. Or if distro is specified, get the specific distro's ascii art instead. :return: Distro ascii """ if not distro and GLOBAL_CFG.override_distro: distro = GLOBAL_CFG.override_distro if GLOBAL_CFG.debug: print(distro) print(GLOBAL_CFG) # Try new pure-python detection method det = distro_detector.detect(distro or get_distro_name()) if det is not None: return normalize_ascii(det.ascii) if GLOBAL_CFG.debug: printc(f"&cError: Cannot find distro {distro}") # Old detection method that calls neofetch cmd = 'print_ascii' if distro: cmd += f' --ascii_distro {distro}' asc = run_neofetch_cmd(cmd, True) # Unescape backslashes here because backslashes are escaped in neofetch for printf asc = asc.replace('\\\\', '\\') return normalize_ascii(asc) def get_distro_name(): return run_neofetch_cmd('ascii_distro_name', True) def run(asc: str, backend: BackendLiteral, args: str = ''): if backend == "neofetch": return run_neofetch(asc, args) if backend == "fastfetch": return run_fastfetch(asc, args) if backend == "fastfetch-old": return run_fastfetch(asc, args, legacy=True) if backend == "qwqfetch": return run_qwqfetch(asc, args) def run_qwqfetch(asc: str, args: str = ''): """ Run neofetch with colors :param preset: Color palette :param alignment: Color alignment settings """ asc = asc.replace('\\', '\\\\') # call qwqfetch to print string try: import qwqfetch # distro_detector only return a bash variable # so we use qwqfetch builtin distro detector print(qwqfetch.get_ascres(asc)) except ImportError as e: # module not found etc print("qwqfetch is not installed. Install it by executing:") # use print to output hint directly print("pip install git+https://github.com/nexplorer-3e/qwqfetch") # TODO: public repo raise e def run_neofetch(asc: str, args: str = ''): """ Run neofetch with colors :param asc: Ascii art :param args: Additional arguments to pass to neofetch """ # Escape backslashes here because backslashes are escaped in neofetch for printf asc = asc.replace('\\', '\\\\') # Write temp file with TemporaryDirectory() as tmp_dir: tmp_dir = Path(tmp_dir) path = tmp_dir / 'ascii.txt' path.write_text(asc) # Call neofetch with the temp file if args: args = ' ' + args run_neofetch_cmd(f'--ascii --source {path.absolute()} --ascii-colors' + args) def run_fastfetch(asc: str, args: str = '', legacy: bool = False): """ Run neofetch with colors :param asc: Ascii art :param args: Additional arguments to pass to fastfetch :param legacy: Set true when using fastfetch < 1.8.0 """ # Write temp file with TemporaryDirectory() as tmp_dir: tmp_dir = Path(tmp_dir) path = tmp_dir / 'ascii.txt' path.write_text(asc) # Call fastfetch with the temp file proc = subprocess.run(['fastfetch', '--raw' if legacy else '--file-raw', path.absolute(), *shlex.split(args)]) if proc.returncode == 144: printc("&6Error code 144 detected: Please upgrade fastfetch to >=1.8.0 or use the 'fastfetch-old' backend") def get_fore_back(distro: str | None = None) -> tuple[int, int] | None: """ Get recommended foreground-background configuration for distro, or None if the distro ascii is not suitable for fore-back configuration. :return: """ if not distro and GLOBAL_CFG.override_distro: distro = GLOBAL_CFG.override_distro if not distro: distro = get_distro_name().lower() distro = distro.lower().replace(' ', '-') for k, v in fore_back.items(): if distro.startswith(k.lower()): return v return None # Foreground-background recommendation fore_back = { 'fedora': (2, 1), 'kubuntu': (2, 1), 'lubuntu': (2, 1), 'xubuntu': (2, 1), 'ubuntu-cinnamon': (2, 1), 'ubuntu-kylin': (2, 1), 'ubuntu-mate': (2, 1), 'ubuntu-studio': (2, 1), 'ubuntu-sway': (2, 1), } hyfetch-1.4.11/hyfetch/presets.py000066400000000000000000000363071453247431100167360ustar00rootroot00000000000000from __future__ import annotations from typing import Iterable from .color_util import RGB from .constants import GLOBAL_CFG from .types import LightDark, ColorSpacing def remove_duplicates(seq: Iterable) -> list: """ Remove duplicate items from a sequence while preserving the order """ seen = set() seen_add = seen.add return [x for x in seq if not (x in seen or seen_add(x))] class ColorProfile: raw: list[str] colors: list[RGB] spacing: ColorSpacing = 'equal' def __init__(self, colors: list[str] | list[RGB]): if isinstance(colors[0], str): self.raw = colors self.colors = [RGB.from_hex(c) for c in colors] else: self.colors = colors def with_weights(self, weights: list[int]) -> list[RGB]: """ Map colors based on weights :param weights: Weights of each color (weights[i] = how many times color[i] appears) :return: """ return [c for i, w in enumerate(weights) for c in [self.colors[i]] * w] def with_length(self, length: int) -> list[RGB]: """ Spread to a specific length of text :param length: Length of text :return: List of RGBs of the length """ preset_len = len(self.colors) center_i = preset_len // 2 # How many copies of each color should be displayed at least? repeats = length // preset_len weights = [repeats] * preset_len # How many extra space left? extras = length % preset_len # If there is an even space left, extend the center by one space if extras % 2 == 1: extras -= 1 weights[center_i] += 1 # Add weight to border until there's no space left (extras must be even at this point) border_i = 0 while extras > 0: extras -= 2 weights[border_i] += 1 weights[-(border_i + 1)] += 1 border_i += 1 return self.with_weights(weights) def color_text(self, txt: str, foreground: bool = True, space_only: bool = False) -> str: """ Color a text :param txt: Text :param foreground: Whether the foreground text show the color or the background block :param space_only: Whether to only color spaces :return: Colored text """ colors = self.with_length(len(txt)) result = '' for i, t in enumerate(txt): if space_only and t != ' ': if i > 0 and txt[i - 1] == ' ': result += '\033[39;49m' result += t else: result += colors[i].to_ansi(foreground=foreground) + t result += '\033[39;49m' return result def lighten(self, multiplier: float) -> ColorProfile: """ Lighten the color profile by a multiplier :param multiplier: Multiplier :return: Lightened color profile (original isn't modified) """ return ColorProfile([c.lighten(multiplier) for c in self.colors]) def set_light_raw(self, light: float, at_least: bool | None = None, at_most: bool | None = None) -> 'ColorProfile': """ Set HSL lightness value :param light: Lightness value (0-1) :param at_least: Set the lightness to at least this value (no change if greater) :param at_most: Set the lightness to at most this value (no change if lesser) :return: New color profile (original isn't modified) """ return ColorProfile([c.set_light(light, at_least, at_most) for c in self.colors]) def set_light_dl(self, light: float, term: LightDark | None = None): """ Set HSL lightness value with respect to dark/light terminals :param light: Lightness value (0-1) :param term: Terminal color (can be "dark" or "light") :return: New color profile (original isn't modified) """ if GLOBAL_CFG.use_overlay: return self.overlay_dl(light, term) term = term or GLOBAL_CFG.light_dark() assert term.lower() in ['light', 'dark'] at_least, at_most = (True, None) if term.lower() == 'dark' else (None, True) return self.set_light_raw(light, at_least, at_most) def overlay_raw(self, color: RGB, alpha: float) -> 'ColorProfile': """ Overlay a color on top of the color profile :param color: Color to overlay :param alpha: Alpha value (0-1) :return: New color profile (original isn't modified) """ return ColorProfile([c.overlay(color, alpha) for c in self.colors]) def overlay_dl(self, light: float, term: LightDark | None = None): """ Same as set_light_dl except that this function uses RGB overlaying instead of HSL lightness change """ term = term or GLOBAL_CFG.light_dark() assert term.lower() in ['light', 'dark'] # If it's light bg, overlay black, else overlay white overlay_color = RGB.from_hex('#000000' if term.lower() == 'light' else '#FFFFFF') return self.overlay_raw(overlay_color, abs(light - 0.5) * 2) def set_light_dl_def(self, term: LightDark | None = None): """ Set default lightness with respect to dark/light terminals :param term: Terminal color (can be "dark" or "light") :return: New color profile (original isn't modified) """ return self.set_light_dl(GLOBAL_CFG.default_lightness(term), term) def unique_colors(self) -> ColorProfile: """ Create another color profile with only the unique colors """ return ColorProfile(remove_duplicates(self.colors)) PRESETS: dict[str, ColorProfile] = { 'rainbow': ColorProfile([ '#E50000', '#FF8D00', '#FFEE00', '#028121', '#004CFF', '#770088' ]), 'transgender': ColorProfile([ '#55CDFD', '#F6AAB7', '#FFFFFF', '#F6AAB7', '#55CDFD' ]), 'nonbinary': ColorProfile([ '#FCF431', '#FCFCFC', '#9D59D2', '#282828' ]), 'agender': ColorProfile([ '#000000', '#BABABA', '#FFFFFF', '#BAF484', '#FFFFFF', '#BABABA', '#000000' ]), 'queer': ColorProfile([ '#B57FDD', '#FFFFFF', '#49821E' ]), 'genderfluid': ColorProfile([ '#FE76A2', '#FFFFFF', '#BF12D7', '#000000', '#303CBE' ]), 'bisexual': ColorProfile([ '#D60270', '#9B4F96', '#0038A8' ]), 'pansexual': ColorProfile([ '#FF1C8D', '#FFD700', '#1AB3FF' ]), 'polysexual': ColorProfile([ '#F714BA', '#01D66A', '#1594F6', ]), # omnisexual sorced from https://www.flagcolorcodes.com/omnisexual 'omnisexual': ColorProfile([ '#FE9ACE', '#FF53BF', '#200044', '#6760FE', '#8EA6FF', ]), 'omniromantic': ColorProfile([ '#FEC8E4', '#FDA1DB', '#89739A', '#ABA7FE', '#BFCEFF', ]), # gay men sourced from https://www.flagcolorcodes.com/gay-men 'gay-men': ColorProfile([ '#078D70', '#98E8C1', '#FFFFFF', '#7BADE2', '#3D1A78' ]), 'lesbian': ColorProfile([ '#D62800', '#FF9B56', '#FFFFFF', '#D462A6', '#A40062' ]), # abrosexual used colorpicker to source from # https://fyeahaltpride.tumblr.com/post/151704251345/could-you-guys-possibly-make-an-abrosexual-pride 'abrosexual': ColorProfile([ '#46D294', '#A3E9CA', '#FFFFFF', '#F78BB3', '#EE1766', ]), 'asexual': ColorProfile([ '#000000', '#A4A4A4', '#FFFFFF', '#810081' ]), 'aromantic': ColorProfile([ '#3BA740', '#A8D47A', '#FFFFFF', '#ABABAB', '#000000' ]), # aroace1 sourced from https://flag.library.lgbt/flags/aroace/ 'aroace1': ColorProfile([ '#E28C00', '#ECCD00', '#FFFFFF', '#62AEDC', '#203856' ]), 'aroace2': ColorProfile([ '#000000', '#810081', '#A4A4A4', '#FFFFFF', '#A8D47A', '#3BA740' ]), 'aroace3': ColorProfile([ '#3BA740', '#A8D47A', '#FFFFFF', '#ABABAB', '#000000', '#A4A4A4', '#FFFFFF', '#810081' ]), # below sourced from https://www.flagcolorcodes.com/flags/pride # goto f"https://www.flagcolorcodes.com/{preset}" for info # todo: sane sorting 'autosexual': ColorProfile([ '#99D9EA', '#7F7F7F' ]), 'intergender': ColorProfile([ # todo: use weighted spacing '#900DC2', '#900DC2', '#FFE54F', '#900DC2', '#900DC2', ]), 'greygender': ColorProfile([ '#B3B3B3', '#B3B3B3', '#FFFFFF', '#062383', '#062383', '#FFFFFF', '#535353', '#535353', ]), 'akiosexual': ColorProfile([ '#F9485E', '#FEA06A', '#FEF44C', '#FFFFFF', '#000000', ]), # bigender sourced from https://www.flagcolorcodes.com/bigender 'bigender': ColorProfile([ '#C479A2', '#EDA5CD', '#D6C7E8', '#FFFFFF', '#D6C7E8', '#9AC7E8', '#6D82D1', ]), # demigender yellow sourced from https://lgbtqia.fandom.com/f/p/4400000000000041031 # other colors sourced from demiboy and demigirl flags 'demigender': ColorProfile([ '#7F7F7F', '#C4C4C4', '#FBFF75', '#FFFFFF', '#FBFF75', '#C4C4C4', '#7F7F7F', ]), # demiboy sourced from https://www.flagcolorcodes.com/demiboy 'demiboy': ColorProfile([ '#7F7F7F', '#C4C4C4', '#9DD7EA', '#FFFFFF', '#9DD7EA', '#C4C4C4', '#7F7F7F', ]), # demigirl sourced from https://www.flagcolorcodes.com/demigirl 'demigirl': ColorProfile([ '#7F7F7F', '#C4C4C4', '#FDADC8', '#FFFFFF', '#FDADC8', '#C4C4C4', '#7F7F7F', ]), 'transmasculine': ColorProfile([ '#FF8ABD', '#CDF5FE', '#9AEBFF', '#74DFFF', '#9AEBFF', '#CDF5FE', '#FF8ABD', ]), # transfeminine used colorpicker to source from https://www.deviantart.com/pride-flags/art/Trans-Woman-Transfeminine-1-543925985 # linked from https://gender.fandom.com/wiki/Transfeminine 'transfeminine': ColorProfile([ '#73DEFF', '#FFE2EE', '#FFB5D6', '#FF8DC0', '#FFB5D6', '#FFE2EE', '#73DEFF', ]), # genderfaun sourced from https://www.flagcolorcodes.com/genderfaun 'genderfaun': ColorProfile([ '#FCD689', '#FFF09B', '#FAF9CD', '#FFFFFF', '#8EDED9', '#8CACDE', '#9782EC', ]), 'demifaun': ColorProfile([ '#7F7F7F', '#7F7F7F', '#C6C6C6', '#C6C6C6', '#FCC688', '#FFF19C', '#FFFFFF', '#8DE0D5', '#9682EC', '#C6C6C6', '#C6C6C6', '#7F7F7F', '#7F7F7F', ]), # genderfae sourced from https://www.flagcolorcodes.com/genderfae 'genderfae': ColorProfile([ '#97C3A5', '#C3DEAE', '#F9FACD', '#FFFFFF', '#FCA2C4', '#DB8AE4', '#A97EDD', ]), # demifae used colorpicker to source form https://www.deviantart.com/pride-flags/art/Demifae-870194777 'demifae': ColorProfile([ '#7F7F7F', '#7F7F7F', '#C5C5C5', '#C5C5C5', '#97C3A4', '#C4DEAE', '#FFFFFF', '#FCA2C5', '#AB7EDF', '#C5C5C5', '#C5C5C5', '#7F7F7F', '#7F7F7F', ]), 'neutrois': ColorProfile([ '#FFFFFF', '#1F9F00', '#000000' ]), 'biromantic1': ColorProfile([ '#8869A5', '#D8A7D8', '#FFFFFF', '#FDB18D', '#151638', ]), 'biromantic2': ColorProfile([ '#740194', '#AEB1AA', '#FFFFFF', '#AEB1AA', '#740194', ]), 'autoromantic': ColorProfile([ # symbol interpreted '#99D9EA', '#99D9EA', '#3DA542', '#7F7F7F', '#7F7F7F', ]), # i didn't expect this one to work. cool! 'boyflux2': ColorProfile(ColorProfile([ '#E48AE4', '#9A81B4', '#55BFAB', '#FFFFFF', '#A8A8A8', '#81D5EF', '#69ABE5', '#5276D4', ]).with_weights([1, 1, 1, 1, 1, 5, 5, 5])), "finsexual": ColorProfile([ "#B18EDF", "#D7B1E2", "#F7CDE9", "#F39FCE", "#EA7BB3", ]), 'unlabeled1': ColorProfile([ '#EAF8E4', '#FDFDFB', '#E1EFF7', '#F4E2C4' ]), 'unlabeled2': ColorProfile([ '#250548', '#FFFFFF', '#F7DCDA', '#EC9BEE', '#9541FA', '#7D2557' ]), 'pangender': ColorProfile([ '#FFF798', '#FEDDCD', '#FFEBFB', '#FFFFFF', '#FFEBFB', '#FEDDCD', '#FFF798', ]), 'gendernonconforming1': ColorProfile( ColorProfile([ '#50284d', '#96467b', '#5c96f7', '#ffe6f7', '#5c96f7', '#96467b', '#50284d' ]).with_weights([ 4,1,1,1,1,1,4 ]) ), 'gendernonconforming2': ColorProfile([ '#50284d', '#96467b', '#5c96f7', '#ffe6f7', '#5c96f7', '#96467b', '#50284d' ]), 'femboy': ColorProfile([ "#d260a5", "#e4afcd", "#fefefe", "#57cef8", "#fefefe", "#e4afcd", "#d260a5" ]), 'tomboy': ColorProfile([ "#2f3fb9", "#613a03", "#fefefe", "#f1a9b7", "#fefefe", "#613a03", "#2f3fb9" ]), 'gynesexual': ColorProfile([ "#F4A9B7", "#903F2B", "#5B953B", ]), 'androsexual': ColorProfile([ "#01CCFF", "#603524", "#B799DE", ]), # gendervoid and related flags sourced from: https://gender.fandom.com/wiki/Gendervoid 'gendervoid' : ColorProfile([ "#081149", "#4B484B", "#000000", "#4B484B", "#081149" ]), 'voidgirl' : ColorProfile([ "#180827", "#7A5A8B", "#E09BED", "#7A5A8B", "#180827" ]), 'voidboy' : ColorProfile([ "#0B130C", "#547655", "#66B969", "#547655", "#0B130C" ]), # used https://twitter.com/foxbrained/status/1667621855518236674/photo/1 as source and colorpicked 'nonhuman-unity' : ColorProfile([ "#177B49", "#FFFFFF", "#593C90" ]), # Meme flags 'beiyang': ColorProfile([ '#DF1B12', '#FFC600', '#01639D', '#FFFFFF', '#000000', ]), 'burger': ColorProfile([ '#F3A26A', '#498701', '#FD1C13', '#7D3829', '#F3A26A', ]), } hyfetch-1.4.11/hyfetch/pride_month.py000066400000000000000000000076421453247431100175610ustar00rootroot00000000000000import math from time import sleep from hyfetch import presets from hyfetch.color_util import RGB, color, printc from hyfetch.constants import IS_WINDOWS from hyfetch.neofetch_util import term_size from hyfetch.presets import PRESETS def key_pressed(): if IS_WINDOWS: import msvcrt return msvcrt.kbhit() # Non-blocking check for key press else: import select import sys return select.select([sys.stdin], [], [], 0) == ([sys.stdin], [], []) def start_animation(): text = r""" .======================================================. | . . .__ . . . , . | | | |__| _.._ ._ . [__)._.* _| _ |\/| _ ._ -+-|_ | | | | |(_][_)[_)\_| | [ |(_](/, | |(_)[ ) | [ ) * | | | | ._| | '======================================================'""".strip("\n") text_lines = text.split("\n") text_height = len(text_lines) text_width = len(text_lines[0]) notice = "Press enter to continue" speed = 2 frame_delay = 1 / 25 colors: list[RGB] = [] frame = 0 w, h = term_size() blocks = 9 block_width = w // blocks text_start_y = h // 2 - text_height // 2 text_end_y = text_start_y + text_height text_start_x = w // 2 - text_width // 2 text_end_x = text_start_x + text_width notice_start_x = w - len(notice) - 1 notice_end_x = w - 1 notice_y = h - 1 # Add everything in PRESETS to colors colors = [c for preset in PRESETS.values() for c in preset.colors] black = RGB(0, 0, 0) fg = RGB.from_hex("#FFE09B") def draw_frame(): buf = "" # Loop over the height for y in range(h): # Print the starting color buf += colors[((frame + y) // block_width) % len(colors)].to_ansi_rgb(foreground=False) buf += fg.to_ansi_rgb(foreground=True) # Loop over the width x = 0 while x < w: idx = frame + x + y + int(math.sin(y + 0.5 * frame) * 2) y_text = text_start_y <= y < text_end_y border = 1 + int(not (y == text_start_y or y == text_end_y - 1)) # If it's a switching point if idx % block_width == 0 or x == text_start_x - border or x == text_end_x + border \ or x == notice_start_x - 1 or x == notice_end_x + 1: # Print the color at the current frame c = colors[(idx // block_width) % len(colors)] if (y_text and text_start_x - border <= x < text_end_x + border) \ or (y == notice_y and notice_start_x - 1 <= x < notice_end_x + 1): # buf += c.set_light(0.3).to_ansi_rgb(foreground=False) buf += c.overlay(black, 0.5).to_ansi_rgb(foreground=False) else: buf += c.to_ansi_rgb(foreground=False) # If text should be printed, print text if y_text and text_start_x <= x < text_end_x: # Add white background buf += text_lines[y - text_start_y][x - text_start_x] elif y == notice_y and notice_start_x <= x < notice_end_x: buf += notice[x - notice_start_x] else: buf += ' ' x += 1 # New line if it isn't the last line if y != h - 1: buf += color('&r\n') print(buf, end='', flush=True) try: while 1: # Clear the screen print("\033[2J\033[H", end="") draw_frame() frame += speed sleep(frame_delay) if key_pressed(): break except KeyboardInterrupt: pass # Clear the screen printc("&r") print("\033[2J\033[H", end="", flush=True) if __name__ == '__main__': start_animation() hyfetch-1.4.11/hyfetch/scripts/000077500000000000000000000000001453247431100163555ustar00rootroot00000000000000hyfetch-1.4.11/hyfetch/scripts/autocomplete.bash000066400000000000000000000131121453247431100217130ustar00rootroot00000000000000# AUTOMATICALLY GENERATED by `shtab` _shtab_hyfetch_option_strings=('-h' '--help' '-c' '--config' '-C' '--config-file' '-p' '--preset' '-m' '--mode' '-b' '--backend' '--c-scale' '--c-set-l' '-V' '--version' '--debug' '--distro' '--test-distro' '--ascii-file') _shtab_hyfetch__p_choices=('rainbow' 'transgender' 'nonbinary' 'agender' 'queer' 'genderfluid' 'bisexual' 'pansexual' 'polysexual' 'omnisexual' 'omniromantic' 'gay-men' 'lesbian' 'abrosexual' 'asexual' 'aromantic' 'aroace1' 'aroace2' 'aroace3' 'autosexual' 'intergender' 'greygender' 'akiosexual' 'bigender' 'demigender' 'demiboy' 'demigirl' 'transmasculine' 'transfeminine' 'genderfaun' 'demifaun' 'genderfae' 'demifae' 'neutrois' 'biromantic1' 'biromantic2' 'autoromantic' 'boyflux2' 'finsexual' 'unlabeled1' 'unlabeled2' 'pangender' 'gendernonconforming1' 'gendernonconforming2' 'femboy' 'tomboy' 'gendervoid' 'voidgirl' 'voidboy' 'beiyang' 'burger') _shtab_hyfetch___preset_choices=('rainbow' 'transgender' 'nonbinary' 'agender' 'queer' 'genderfluid' 'bisexual' 'pansexual' 'polysexual' 'omnisexual' 'omniromantic' 'gay-men' 'lesbian' 'abrosexual' 'asexual' 'aromantic' 'aroace1' 'aroace2' 'aroace3' 'autosexual' 'intergender' 'greygender' 'akiosexual' 'bigender' 'demigender' 'demiboy' 'demigirl' 'transmasculine' 'transfeminine' 'genderfaun' 'demifaun' 'genderfae' 'demifae' 'neutrois' 'biromantic1' 'biromantic2' 'autoromantic' 'boyflux2' 'finsexual' 'unlabeled1' 'unlabeled2' 'pangender' 'gendernonconforming1' 'gendernonconforming2' 'femboy' 'tomboy' 'gendervoid' 'voidgirl' 'voidboy' 'beiyang' 'burger') _shtab_hyfetch__m_choices=('8bit' 'rgb') _shtab_hyfetch___mode_choices=('8bit' 'rgb') _shtab_hyfetch__b_choices=('neofetch' 'fastfetch' 'fastfetch-old') _shtab_hyfetch___backend_choices=('neofetch' 'fastfetch' 'fastfetch-old') _shtab_hyfetch__h_nargs=0 _shtab_hyfetch___help_nargs=0 _shtab_hyfetch__c_nargs=0 _shtab_hyfetch___config_nargs=0 _shtab_hyfetch__V_nargs=0 _shtab_hyfetch___version_nargs=0 _shtab_hyfetch___debug_nargs=0 _shtab_hyfetch___test_print_nargs=0 _shtab_hyfetch___ask_exit_nargs=0 # $1=COMP_WORDS[1] _shtab_compgen_files() { compgen -f -- $1 # files } # $1=COMP_WORDS[1] _shtab_compgen_dirs() { compgen -d -- $1 # recurse into subdirs } # $1=COMP_WORDS[1] _shtab_replace_nonword() { echo "${1//[^[:word:]]/_}" } # set default values (called for the initial parser & any subparsers) _set_parser_defaults() { local subparsers_var="${prefix}_subparsers[@]" sub_parsers=${!subparsers_var} local current_option_strings_var="${prefix}_option_strings[@]" current_option_strings=${!current_option_strings_var} completed_positional_actions=0 _set_new_action "pos_${completed_positional_actions}" true } # $1=action identifier # $2=positional action (bool) # set all identifiers for an action's parameters _set_new_action() { current_action="${prefix}_$(_shtab_replace_nonword $1)" local current_action_compgen_var=${current_action}_COMPGEN current_action_compgen="${!current_action_compgen_var}" local current_action_choices_var="${current_action}_choices[@]" current_action_choices="${!current_action_choices_var}" local current_action_nargs_var="${current_action}_nargs" if [ -n "${!current_action_nargs_var}" ]; then current_action_nargs="${!current_action_nargs_var}" else current_action_nargs=1 fi current_action_args_start_index=$(( $word_index + 1 )) current_action_is_positional=$2 } # Notes: # `COMPREPLY`: what will be rendered after completion is triggered # `completing_word`: currently typed word to generate completions for # `${!var}`: evaluates the content of `var` and expand its content as a variable # hello="world" # x="hello" # ${!x} -> ${hello} -> "world" _shtab_hyfetch() { local completing_word="${COMP_WORDS[COMP_CWORD]}" COMPREPLY=() prefix=_shtab_hyfetch word_index=0 _set_parser_defaults word_index=1 # determine what arguments are appropriate for the current state # of the arg parser while [ $word_index -ne $COMP_CWORD ]; do local this_word="${COMP_WORDS[$word_index]}" if [[ -n $sub_parsers && " ${sub_parsers[@]} " =~ " ${this_word} " ]]; then # valid subcommand: add it to the prefix & reset the current action prefix="${prefix}_$(_shtab_replace_nonword $this_word)" _set_parser_defaults fi if [[ " ${current_option_strings[@]} " =~ " ${this_word} " ]]; then # a new action should be acquired (due to recognised option string or # no more input expected from current action); # the next positional action can fill in here _set_new_action $this_word false fi if [[ "$current_action_nargs" != "*" ]] && \ [[ "$current_action_nargs" != "+" ]] && \ [[ "$current_action_nargs" != *"..." ]] && \ (( $word_index + 1 - $current_action_args_start_index >= \ $current_action_nargs )); then $current_action_is_positional && let "completed_positional_actions += 1" _set_new_action "pos_${completed_positional_actions}" true fi let "word_index+=1" done # Generate the completions if [[ "${completing_word}" == -* ]]; then # optional argument started: use option strings COMPREPLY=( $(compgen -W "${current_option_strings[*]}" -- "${completing_word}") ) else # use choices & compgen local IFS=$'\n' # items may contain spaces, so delimit using newline COMPREPLY=( $([ -n "${current_action_compgen}" ] \ && "${current_action_compgen}" "${completing_word}") ) unset IFS COMPREPLY+=( $(compgen -W "${current_action_choices[*]}" -- "${completing_word}") ) fi return 0 } complete -o filenames -F _shtab_hyfetch hyfetch hyfetch-1.4.11/hyfetch/scripts/autocomplete.csh000066400000000000000000000027411453247431100215610ustar00rootroot00000000000000# AUTOMATICALLY GENERATED by `shtab` complete hyfetch \ 'c/--/(mode test-distro preset config c-scale c-set-l config-file ascii-file version debug distro help backend)/' \ 'c/-/(m h V C p b c -)/' \ 'n/-p/(rainbow transgender nonbinary agender queer genderfluid bisexual pansexual polysexual omnisexual omniromantic gay-men lesbian abrosexual asexual aromantic aroace1 aroace2 aroace3 autosexual intergender greygender akiosexual bigender demigender demiboy demigirl transmasculine transfeminine genderfaun demifaun genderfae demifae neutrois biromantic1 biromantic2 autoromantic boyflux2 finsexual unlabeled1 unlabeled2 pangender gendernonconforming1 gendernonconforming2 femboy tomboy gendervoid voidgirl voidboy beiyang burger)/' \ 'n/--preset/(rainbow transgender nonbinary agender queer genderfluid bisexual pansexual polysexual omnisexual omniromantic gay-men lesbian abrosexual asexual aromantic aroace1 aroace2 aroace3 autosexual intergender greygender akiosexual bigender demigender demiboy demigirl transmasculine transfeminine genderfaun demifaun genderfae demifae neutrois biromantic1 biromantic2 autoromantic boyflux2 finsexual unlabeled1 unlabeled2 pangender gendernonconforming1 gendernonconforming2 femboy tomboy gendervoid voidgirl voidboy beiyang burger)/' \ 'n/-m/(8bit rgb)/' \ 'n/--mode/(8bit rgb)/' \ 'n/-b/(neofetch fastfetch fastfetch-old)/' \ 'n/--backend/(neofetch fastfetch fastfetch-old)/' \ 'p/*/()/' hyfetch-1.4.11/hyfetch/scripts/autocomplete.zsh000066400000000000000000000036361453247431100216140ustar00rootroot00000000000000#compdef hyfetch # AUTOMATICALLY GENERATED by `shtab` _shtab_hyfetch_commands() { local _commands=( ) _describe 'hyfetch commands' _commands } _shtab_hyfetch_options=( "(- : *)"{-h,--help}"[show this help message and exit]" {-c,--config}"[Configure hyfetch]" {-C,--config-file}"[Use another config file]:config_file:" {-p,--preset}"[Use preset]:preset:(rainbow transgender nonbinary agender queer genderfluid bisexual pansexual polysexual omnisexual omniromantic gay-men lesbian abrosexual asexual aromantic aroace1 aroace2 aroace3 autosexual intergender greygender akiosexual bigender demigender demiboy demigirl transmasculine transfeminine genderfaun demifaun genderfae demifae neutrois biromantic1 biromantic2 autoromantic boyflux2 finsexual unlabeled1 unlabeled2 pangender gendernonconforming1 gendernonconforming2 femboy tomboy gendervoid voidgirl voidboy beiyang burger)" {-m,--mode}"[Color mode]:mode:(8bit rgb)" {-b,--backend}"[Choose a \*fetch backend]:backend:(neofetch fastfetch fastfetch-old)" "--c-scale[Lighten colors by a multiplier]:scale:" "--c-set-l[Set lightness value of the colors]:light:" {-V,--version}"[Check version]" "--debug[Debug mode]" {--distro,--test-distro}"[Test for a specific distro]:distro:" "--ascii-file[Use a specific file for the ascii art]:ascii_file:" ) _shtab_hyfetch() { local context state line curcontext="$curcontext" one_or_more='(-)*' remainder='(*)' if ((${_shtab_hyfetch_options[(I)${(q)one_or_more}*]} + ${_shtab_hyfetch_options[(I)${(q)remainder}*]} == 0)); then # noqa: E501 _shtab_hyfetch_options+=(': :_shtab_hyfetch_commands' '*::: :->hyfetch') fi _arguments -C $_shtab_hyfetch_options case $state in hyfetch) words=($line[1] "${words[@]}") (( CURRENT += 1 )) curcontext="${curcontext%:*:*}:_shtab_hyfetch-$line[1]:" case $line[1] in esac esac } typeset -A opt_args _shtab_hyfetch "$@" hyfetch-1.4.11/hyfetch/scripts/install-autocomplete.sh000077500000000000000000000026141453247431100230640ustar00rootroot00000000000000#!/usr/bin/env bash # Usage: ./install-autocomplete.sh [Uninstall] if [[ "$1" == "uninstall" ]]; then uninstall=true echo -n "Uninstalling " else echo -n "Installing " fi echo "autocomplete scripts for HyFetch..." # Stop on error set -e # Obtain path of the current bash script script_path="$(dirname "$(realpath "$0")")" # Installing for a specific shell in a specific directory if it exists install-for() { shell=$1 dir=$2 case $shell in bash) filename="hyfetch" ;; zsh) filename="_hyfetch" ;; csh) filename="hyfetch.completion.csh" ;; *) echo "Unknown shell: $shell" exit 1 ;; esac if [[ -d "$dir" ]]; then if [[ "$uninstall" ]]; then rm -f "$dir/$filename" echo "⭐ Uninstalled for $shell in $dir" else cp "$script_path/autocomplete.$shell" "$dir/$filename" echo "⭐ Installed for $shell in $dir" fi fi } # Copy files install-for bash /etc/bash_completion.d install-for bash /usr/share/bash-completion/completions install-for zsh /usr/share/zsh/functions/Completion/Unix install-for zsh /usr/share/zsh/site-functions install-for zsh /usr/share/zsh-completions install-for zsh /usr/local/share/zsh/site-functions install-for csh /etc/profile.d echo "Done!" hyfetch-1.4.11/hyfetch/scripts/neowofetch000077700000000000000000000000001453247431100226002../../neofetchustar00rootroot00000000000000hyfetch-1.4.11/hyfetch/serializer.py000066400000000000000000000025111453247431100174100ustar00rootroot00000000000000from __future__ import annotations import dataclasses import inspect import json from datetime import datetime, date class EnhancedJSONEncoder(json.JSONEncoder): """ An improvement to the json.JSONEncoder class, which supports: encoding for dataclasses, encoding for datetime, and sets """ def default(self, o: object) -> object: # Support encoding dataclasses # https://stackoverflow.com/a/51286749/7346633 if dataclasses.is_dataclass(o): return dataclasses.asdict(o) # Support encoding datetime if isinstance(o, (datetime, date)): return o.isoformat() # Support for sets # https://stackoverflow.com/a/8230505/7346633 if isinstance(o, set): return list(o) return super().default(o) def json_stringify(obj: object, indent: int | None = None) -> str: """ Serialize json string with support for dataclasses and datetime and sets and with custom configuration. Preconditions: - obj != None :param obj: Objects :param indent: Indent size or none :return: Json strings """ return json.dumps(obj, indent=indent, cls=EnhancedJSONEncoder, ensure_ascii=False) def from_dict(cls, d: dict): return cls(**{k: v for k, v in d.items() if k in inspect.signature(cls).parameters}) hyfetch-1.4.11/hyfetch/termenv.py000066400000000000000000000111711453247431100167210ustar00rootroot00000000000000from __future__ import annotations import os import platform import sys from .color_util import RGB, AnsiMode class OSCException(Exception): pass def unix_detect_ansi_mode() -> AnsiMode | None: """ Translated from Termenv's ColorProfile(): https://github.com/muesli/termenv/blob/42ca574de3e99a262e1724d2fb8daa1aea68a5b9/termenv_unix.go#L23 :return: Ansi mode """ if not sys.stdout.isatty(): return 'ansi' term = os.environ.get('TERM') color_term = os.environ.get('COLORTERM') if color_term == 'truecolor' or color_term == '24bit': if term.startswith('screen') and os.environ.get('TERM_PROGRAM') != 'tmux': return '8bit' return 'rgb' elif color_term == 'true' or color_term == 'yes': return '8bit' if term == 'xterm-kitty': return 'rgb' elif term == 'linux': return 'ansi' if '256color' in term: return 'rgb' if 'color' in term: return '8bit' if 'ansi' in term: return 'ansi' return None def windows_detect_ansi_mode() -> AnsiMode | None: """ Translated from Termenv's ColorProfile(): https://github.com/muesli/termenv/blob/42ca574de3e99a262e1724d2fb8daa1aea68a5b9/termenv_windows.go#L13 :return: Ansi mode """ if not sys.stdout.isatty(): return 'ansi' if os.environ.get("ConEmuANSI") == "ON": return 'rgb' release, _, build = map(int, platform.version().split('.')) if build < 10586 or release < 10: # No ANSI support before Windows 10 build 10586. if os.environ.get('ANSICON'): conv = os.environ.get('ANSICON_VER') if int(conv) < 181: return 'ansi' return '8bit' return 'ansi' if build < 14931: # No true color support before build 14931. return '8bit' return 'rgb' def detect_ansi_mode() -> AnsiMode | None: system = platform.system().lower() if system.startswith("linux") or system.startswith("darwin"): return unix_detect_ansi_mode() if system.startswith("windows"): return windows_detect_ansi_mode() return None def unix_read_osc(seq: int) -> str: import termios import tty import signal from select import select # screen/tmux can't support OSC, because they can be connected to multiple # terminals concurrently. term = os.environ.get('TERM') if term.startswith("screen") or term.startswith("tmux"): raise OSCException("Screen/tmux not supported") t = sys.stdout if not t.isatty(): raise OSCException("Not a tty") fd = sys.stdin.fileno() # Set raw mode settings = termios.tcgetattr(fd) tty.setraw(sys.stdin.fileno()) # first, send OSC query, which is ignored by terminal which do not support it t.write(f"\x1b]{seq};?\x1b\\") t.flush() # stdin response timeout should be higher for ssh sessions timeout = 0.05 if (os.environ.get('SSH_TTY') or os.environ.get('SSH_SESSION')) is None else 0.5 # Wait for input to appear if not select([sys.stdin], [], [], timeout)[0]: # Reset terminal back to normal mode (previously set to raw mode) termios.tcsetattr(fd, termios.TCSADRAIN, settings) raise OSCException("No response received") # Read until termination, or if it doesn't terminate, read until 1 second passes def handler(signum, frame): raise IOError() signal.signal(signal.SIGALRM, handler) signal.setitimer(signal.ITIMER_REAL, timeout, 1) code = "" try: for _ in range(28): code += sys.stdin.read(1) # Terminate with sequence terminator [\ or bell ^G if code.endswith('\x1b\\') or code.endswith('\a'): break signal.alarm(0) except IOError: pass # Reset terminal back to normal mode (previously set to raw mode) termios.tcsetattr(fd, termios.TCSADRAIN, settings) # Validate output if not code: raise OSCException("No response received") start = f"\x1b]{seq};" if not code.startswith(start): raise OSCException("Received response is not an OSC response") # Strip starting code and termination code code = code.lstrip(start).rstrip("\x1b\\").rstrip('\a') return code def get_background_color() -> RGB | None: system = platform.system().lower() if system.startswith("linux") or system.startswith("darwin"): try: osc = unix_read_osc(11).lstrip("rgb:") return RGB.from_hex(''.join([v[:2] for v in osc.split('/')])) except Exception: return None if system.startswith("windows"): return None hyfetch-1.4.11/hyfetch/types.py000066400000000000000000000004341453247431100164050ustar00rootroot00000000000000from typing_extensions import Literal AnsiMode = Literal['default', 'ansi', '8bit', 'rgb'] LightDark = Literal['light', 'dark'] BackendLiteral = Literal["neofetch", "fastfetch"] ColorAlignMode = Literal['horizontal', 'vertical', 'custom'] ColorSpacing = Literal['equal', 'weighted'] hyfetch-1.4.11/neofetch000077500000000000000000020367611453247431100147740ustar00rootroot00000000000000#!/usr/bin/env bash # vim: noai:ts=4:sw=4:expandtab # shellcheck source=/dev/null # shellcheck disable=2009 disable=2153 disable=2154 disable=2243 disable=2244 disable=2317 # # Neofetch: A command-line system information tool written in bash 3.2+. # https://github.com/dylanaraps/neofetch # # The MIT License (MIT) # # Copyright (c) 2015-2021 Dylan Araps # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. version=7.3.11 # Fallback to a value of '5' for shells which support bash # but do not set the 'BASH_' shell variables (osh). bash_version=${BASH_VERSINFO[0]:-5} shopt -s eval_unsafe_arith &>/dev/null sys_locale=${LANG:-C} XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-${HOME}/.config} PATH=$PATH:/usr/xpg4/bin:/usr/sbin:/sbin:/usr/etc:/usr/libexec reset='\e[0m' shopt -s nocasematch extglob # Speed up script by not using unicode. LC_ALL=C LANG=C # Fix issues with gsettings. [[ -z $GIO_EXTRA_MODULES ]] && export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/ # Use sed -r instead of sed -E if using GNU sed. [[ $(sed --version 2>/dev/null) =~ GNU ]] && gnu_sed=1 sed() { if [[ $gnu_sed ]]; then command sed "${@//-E/-r}" else command sed "$@" fi } # Neofetch default config. read -rd '' config <<'EOF' # See this wiki page for more info: # https://github.com/dylanaraps/neofetch/wiki/Customizing-Info print_info() { info title info underline info "OS" distro info "Host" model info "Kernel" kernel info "Uptime" uptime info "Packages" packages info "Shell" shell info "Editor" editor info "Resolution" resolution info "DE" de info "WM" wm info "WM Theme" wm_theme info "Theme" theme info "Icons" icons info "Cursor" cursor info "Terminal" term info "Terminal Font" term_font info "CPU" cpu info "GPU" gpu info "Memory" memory info "Network" network info "Bluetooth" bluetooth info "BIOS" bios # info "GPU Driver" gpu_driver # Linux/macOS only # info "Disk" disk # info "Battery" battery # info "Power Adapter" power_adapter # macOS only # info "Font" font # info "Song" song # [[ "$player" ]] && prin "Music Player" "$player" # info "Local IP" local_ip # info "Public IP" public_ip # info "Users" users # info "Locale" locale # This only works on glibc systems. # info "Java" java_ver # info "Python" python_ver # info "Node" node_ver info cols } # Title # Hide/Show Fully qualified domain name. # # Default: 'off' # Values: 'on', 'off' # Flag: --title_fqdn title_fqdn="off" # Kernel # Shorten the output of the kernel function. # # Default: 'on' # Values: 'on', 'off' # Flag: --kernel_shorthand # Supports: Everything except *BSDs (except PacBSD and PC-BSD) # # Example: # on: '4.8.9-1-ARCH' # off: 'Linux 4.8.9-1-ARCH' kernel_shorthand="on" # Distro # Shorten the output of the distro function # # Default: 'off' # Values: 'on', 'tiny', 'off' # Flag: --distro_shorthand # Supports: Everything except Windows and Haiku distro_shorthand="off" # Show/Hide OS Architecture. # Show 'x86_64', 'x86' and etc in 'Distro:' output. # # Default: 'on' # Values: 'on', 'off' # Flag: --os_arch # # Example: # on: 'Arch Linux x86_64' # off: 'Arch Linux' os_arch="on" # Uptime # Shorten the output of the uptime function # # Default: 'on' # Values: 'on', 'tiny', 'off' # Flag: --uptime_shorthand # # Example: # on: '2 days, 10 hours, 3 mins' # tiny: '2d 10h 3m' # off: '2 days, 10 hours, 3 minutes' uptime_shorthand="on" # Memory # Show memory percentage in output. # # Default: 'off' # Values: 'on', 'off' # Flag: --memory_percent # # Example: # on: '1801MiB / 7881MiB (22%)' # off: '1801MiB / 7881MiB' memory_percent="on" # Change memory output unit. # # Default: 'mib' # Values: 'kib', 'mib', 'gib', 'tib' # Flag: --memory_unit # # Example: # kib '1020928KiB / 7117824KiB' # mib '1042MiB / 6951MiB' # gib: ' 0.98GiB / 6.79GiB' memory_unit="gib" # Change memory output precision. # # Default: '2' # Values: integer ≥ 0 # Flag: --memory_precision mem_precision=2 # Packages # Show/Hide Package Manager names. # # Default: 'tiny' # Values: 'on', 'tiny' 'off' # Flag: --package_managers # # Example: # on: '998 (pacman), 8 (flatpak), 4 (snap)' # tiny: '908 (pacman, flatpak, snap)' # off: '908' package_managers="on" # Show separate user and system packages for supported package managers # # Default: 'on' # Values: 'on', 'off' # Flag: --package_separate # # Example: # on: '8 packages (flatpak-system), 9 packages (flatpak-user)' # off: '17 packages (flatpak)' package_separate="on" # Shell # Show the path to $SHELL # # Default: 'off' # Values: 'on', 'off' # Flag: --shell_path # # Example: # on: '/bin/bash' # off: 'bash' shell_path="off" # Show $SHELL version # # Default: 'on' # Values: 'on', 'off' # Flag: --shell_version # # Example: # on: 'bash 4.4.5' # off: 'bash' shell_version="on" # Editor # Show path to $EDITOR # # Default: 'off' # Values: 'on', 'off' # Flag: --editor_path # # Example: # on: '/opt/bin/vim' # off: 'vim' editor_path="off" # Show $EDITOR version # # Default: 'on' # Values: 'on', 'off' # Flag: '--editor_version' # # Example: # on: 'vim 9.0' # off: 'vim' editor_version="on" # CPU # CPU speed type # # Default: 'bios_limit' # Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. # Flag: --speed_type # Supports: Linux with 'cpufreq' # NOTE: Any file in '/sys/devices/system/cpu/cpu0/cpufreq' can be used as a value. speed_type="bios_limit" # CPU speed shorthand # # Default: 'off' # Values: 'on', 'off'. # Flag: --speed_shorthand # NOTE: This flag is not supported in systems with CPU speed less than 1 GHz # # Example: # on: 'i7-6500U (4) @ 3.1GHz' # off: 'i7-6500U (4) @ 3.100GHz' speed_shorthand="on" # Enable/Disable CPU brand in output. # # Default: 'on' # Values: 'on', 'off' # Flag: --cpu_brand # # Example: # on: 'Intel i7-6500U' # off: 'i7-6500U (4)' cpu_brand="on" # CPU Speed # Hide/Show CPU speed. # # Default: 'on' # Values: 'on', 'off' # Flag: --cpu_speed # # Example: # on: 'Intel i7-6500U (4) @ 3.1GHz' # off: 'Intel i7-6500U (4)' cpu_speed="on" # CPU Cores # Display CPU cores in output # # Default: 'logical' # Values: 'logical', 'physical', 'off' # Flag: --cpu_cores # Support: 'physical' doesn't work on BSD. # # Example: # logical: 'Intel i7-6500U (4) @ 3.1GHz' (All virtual cores) # physical: 'Intel i7-6500U (2) @ 3.1GHz' (All physical cores) # off: 'Intel i7-6500U @ 3.1GHz' cpu_cores="logical" # CPU Temperature # Hide/Show CPU temperature. # Note the temperature is added to the regular CPU function. # # Default: 'off' # Values: 'C', 'F', 'off' # Flag: --cpu_temp # Supports: Linux, BSD # NOTE: For FreeBSD and NetBSD-based systems, you'll need to enable # coretemp kernel module. This only supports newer Intel processors. # # Example: # C: 'Intel i7-6500U (4) @ 3.1GHz [27.2°C]' # F: 'Intel i7-6500U (4) @ 3.1GHz [82.0°F]' # off: 'Intel i7-6500U (4) @ 3.1GHz' cpu_temp="off" # GPU # Enable/Disable GPU Brand # # Default: 'on' # Values: 'on', 'off' # Flag: --gpu_brand # # Example: # on: 'AMD HD 7950' # off: 'HD 7950' gpu_brand="on" # Which GPU to display # # Default: 'all' # Values: 'all', 'dedicated', 'integrated' # Flag: --gpu_type # Supports: Linux # # Example: # all: # GPU1: AMD HD 7950 # GPU2: Intel Integrated Graphics # # dedicated: # GPU1: AMD HD 7950 # # integrated: # GPU1: Intel Integrated Graphics gpu_type="all" # Resolution # Display refresh rate next to each monitor # Default: 'off' # Values: 'on', 'off' # Flag: --refresh_rate # Supports: Doesn't work on Windows. # # Example: # on: '1920x1080 @ 60Hz' # off: '1920x1080' refresh_rate="on" # Gtk Theme / Icons / Font # Shorten output of GTK Theme / Icons / Font # # Default: 'off' # Values: 'on', 'off' # Flag: --gtk_shorthand # # Example: # on: 'Numix, Adwaita' # off: 'Numix [GTK2], Adwaita [GTK3]' gtk_shorthand="off" # Enable/Disable gtk2 Theme / Icons / Font # # Default: 'on' # Values: 'on', 'off' # Flag: --gtk2 # # Example: # on: 'Numix [GTK2], Adwaita [GTK3]' # off: 'Adwaita [GTK3]' gtk2="on" # Enable/Disable gtk3 Theme / Icons / Font # # Default: 'on' # Values: 'on', 'off' # Flag: --gtk3 # # Example: # on: 'Numix [GTK2], Adwaita [GTK3]' # off: 'Numix [GTK2]' gtk3="on" # Enable/Disable Qt Theme / Icons / Font # # Default: 'on' # Values: 'on', 'off' # Flag: --qt # # Example: # on: 'Breeze [Qt], Arc [GTK3]' # off: 'Arc [GTK3]' qt="on" # IP Address # Website to ping for the public IP # # Default: 'http://ident.me' # Values: 'url' # Flag: --ip_host public_ip_host="http://ident.me" # Public IP timeout. # # Default: '2' # Values: 'int' # Flag: --ip_timeout public_ip_timeout=2 # Local IP interface # # Default: 'auto' (interface of default route) # Values: 'auto', 'en0', 'en1' # Flag: --ip_interface local_ip_interface=('auto') # Desktop Environment # Show Desktop Environment version # # Default: 'on' # Values: 'on', 'off' # Flag: --de_version de_version="on" # Disk # Which disks to display. # The values can be any /dev/sdXX, mount point or directory. # NOTE: By default we only show the disk info for '/'. # # Default: '/' # Values: '/', '/dev/sdXX', '/path/to/drive'. # Flag: --disk_show # # Example: # disk_show=('/' '/dev/sdb1'): # 'Disk (/): 74G / 118G (66%)' # 'Disk (/mnt/Videos): 823G / 893G (93%)' # # disk_show=('/'): # 'Disk (/): 74G / 118G (66%)' # disk_show=('/') # Disk subtitle. # What to append to the Disk subtitle. # # Default: 'mount' # Values: 'mount', 'name', 'dir', 'none' # Flag: --disk_subtitle # # Example: # name: 'Disk (/dev/sda1): 74G / 118G (66%)' # 'Disk (/dev/sdb2): 74G / 118G (66%)' # # mount: 'Disk (/): 74G / 118G (66%)' # 'Disk (/mnt/Local Disk): 74G / 118G (66%)' # 'Disk (/mnt/Videos): 74G / 118G (66%)' # # dir: 'Disk (/): 74G / 118G (66%)' # 'Disk (Local Disk): 74G / 118G (66%)' # 'Disk (Videos): 74G / 118G (66%)' # # none: 'Disk: 74G / 118G (66%)' # 'Disk: 74G / 118G (66%)' # 'Disk: 74G / 118G (66%)' disk_subtitle="mount" # Disk percent. # Show/Hide disk percent. # # Default: 'on' # Values: 'on', 'off' # Flag: --disk_percent # # Example: # on: 'Disk (/): 74G / 118G (66%)' # off: 'Disk (/): 74G / 118G' disk_percent="on" # Song # Manually specify a music player. # # Default: 'auto' # Values: 'auto', 'player-name' # Flag: --music_player # # Available values for 'player-name': # # amarok # audacious # banshee # bluemindo # clementine # cmus # deadbeef # deepin-music # dragon # elisa # exaile # gnome-music # gmusicbrowser # gogglesmm # guayadeque # io.elementary.music # iTunes # Music # juk # lollypop # MellowPlayer # mocp # mopidy # mpd # muine # netease-cloud-music # olivia # playerctl # pogo # pragha # qmmp # quodlibet # rhythmbox # sayonara # smplayer # spotify # strawberry # tauonmb # tomahawk # vlc # xmms2d # xnoise # yarock music_player="auto" # Format to display song information. # # Default: '%artist% - %album% - %title%' # Values: '%artist%', '%album%', '%title%' # Flag: --song_format # # Example: # default: 'Song: Jet - Get Born - Sgt Major' song_format="%artist% - %album% - %title%" # Print the Artist, Album and Title on separate lines # # Default: 'off' # Values: 'on', 'off' # Flag: --song_shorthand # # Example: # on: 'Artist: The Fratellis' # 'Album: Costello Music' # 'Song: Chelsea Dagger' # # off: 'Song: The Fratellis - Costello Music - Chelsea Dagger' song_shorthand="off" # 'mpc' arguments (specify a host, password etc). # # Default: '' # Example: mpc_args=(-h HOST -P PASSWORD) mpc_args=() # Text Colors # Text Colors # # Default: 'distro' # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' # Flag: --colors # # Each number represents a different part of the text in # this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' # # Example: # colors=(distro) - Text is colored based on Distro colors. # colors=(4 6 1 8 8 6) - Text is colored in the order above. colors=(distro) # Text Options # Toggle bold text # # Default: 'on' # Values: 'on', 'off' # Flag: --bold bold="on" # Enable/Disable Underline # # Default: 'on' # Values: 'on', 'off' # Flag: --underline underline_enabled="on" # Underline character # # Default: '-' # Values: 'string' # Flag: --underline_char underline_char="-" # Info Separator # Replace the default separator with the specified string. # # Default: ':' # Flag: --separator # # Example: # separator="->": 'Shell-> bash' # separator=" =": 'WM = dwm' separator=":" # Color Blocks # Color block range # The range of colors to print. # # Default: '0', '15' # Values: 'num' # Flag: --block_range # # Example: # # Display colors 0-7 in the blocks. (8 colors) # neofetch --block_range 0 7 # # Display colors 0-15 in the blocks. (16 colors) # neofetch --block_range 0 15 block_range=(0 15) # Toggle color blocks # # Default: 'on' # Values: 'on', 'off' # Flag: --color_blocks color_blocks="on" # Color block width in spaces # # Default: '3' # Values: 'num' # Flag: --block_width block_width=3 # Color block height in lines # # Default: '1' # Values: 'num' # Flag: --block_height block_height=1 # Color Alignment # # Default: 'auto' # Values: 'auto', 'num' # Flag: --col_offset # # Number specifies how far from the left side of the terminal (in spaces) to # begin printing the columns, in case you want to e.g. center them under your # text. # Example: # col_offset="auto" - Default behavior of neofetch # col_offset=7 - Leave 7 spaces then print the colors col_offset="auto" # Progress Bars # Bar characters # # Default: '-', '=' # Values: 'string', 'string' # Flag: --bar_char # # Example: # neofetch --bar_char 'elapsed' 'total' # neofetch --bar_char '-' '=' bar_char_elapsed="-" bar_char_total="=" # Toggle Bar border # # Default: 'on' # Values: 'on', 'off' # Flag: --bar_border bar_border="on" # Progress bar length in spaces # Number of chars long to make the progress bars. # # Default: '15' # Values: 'num' # Flag: --bar_length bar_length=15 # Progress bar colors # When set to distro, uses your distro's logo colors. # # Default: 'distro', 'distro' # Values: 'distro', 'num' # Flag: --bar_colors # # Example: # neofetch --bar_colors 3 4 # neofetch --bar_colors distro 5 bar_color_elapsed="distro" bar_color_total="distro" # Info display # Display a bar with the info. # # Default: 'off' # Values: 'bar', 'infobar', 'barinfo', 'off' # Flags: --memory_display # --battery_display # --disk_display # # Example: # bar: '[---=======]' # infobar: 'info [---=======]' # barinfo: '[---=======] info' # off: 'info' memory_display="off" battery_display="off" disk_display="off" # Backend Settings # Image backend. # # Default: 'ascii' # Values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off', # 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty', 'ueberzug', # 'viu' # Flag: --backend image_backend="ascii" # Image Source # # Which image or ascii file to display. # # Default: 'auto' # Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' # 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' # Flag: --source # # NOTE: 'auto' will pick the best image source for whatever image backend is used. # In ascii mode, distro ascii art will be used and in an image mode, your # wallpaper will be used. image_source="auto" # Ascii Options # Ascii distro # Which distro's ascii art to display. # # Default: 'auto' # Values: 'auto', 'distro_name' # Flag: --ascii_distro # # NOTE: Adélie, aerOS, Afterglow, AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, # Antergos, antiX, AOSC OS, Aperio GNU/Linux, Aperture, Apricity, Arch, ArchBox, Archcraft, # archcraft_ascii, archcraft_minimal, ARCHlabs, ArchMerge, ArchStrike, ArcoLinux, ArseLinux, Artix, # Arya, Asahi, AsteroidOS, astOS, Astra Linux, Athena, azos, Bedrock, BigLinux, Bitrig, BlackArch, # blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, CachyOS, Calculate, # CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS, # Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover, Cobalt, Condres, Container Linux by CoreOS, # CRUX, Crystal Linux, Cucumber, CutefishOS, CuteOS, CyberOS, dahlia, DarkOs, Darwin, Debian, # Deepin, DesaOS, Devuan, DietPi, digital UNIX, DracOS, DragonFly, Drauger, Droidian, Elementary, # Elive, EncryptOS, EndeavourOS, Endless, Enso, EuroLinux, EvolutionOS, Exherbo, Exodia Predator OS, # Fedora, FemboyOS, Feren, Finnix, Floflis, FreeBSD, FreeMiNT, Frugalware, Funtoo, GalliumOS, # Garuda, Gentoo, GhostBSD, glaucus, gNewSense, GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, # Haiku, HamoniKR, HarDClanZ, Hash, Huayra, Hybrid, HydroOS, Hyperbola, iglunix, instantOS, Interix, # IRIX, Itc, januslinux, Kaisen, Kali, KaOS, KDE, Kibojoe, Kogaion, Korora, KrassOS, KSLinux, # Kubuntu, LainOS, LangitKetujuh, LaxerOS, LEDE, LibreELEC, Linspire, Linux, Linux Lite, Linux Mint, # Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac, Mageia, MagpieOS, MainsailOS, Mandriva, # Manjaro, MassOS, MatuusOS, Maui, Meowix, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, # NetBSD, Netrunner, Nitrux, NixOS, Nobara, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, OmniOS, # Open Source Media Center, OpenBSD, openEuler, OpenIndiana, openKylin, openmamba, OpenMandriva, # OpenStage, openSUSE, openSUSE Leap, openSUSE Tumbleweed, OPNsense, Oracle, orchid, OS Elbrus, # PacBSD, Panwah, Parabola, parch, Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, # Pentoo, Peppermint, Peropesis, phyOS, PikaOS, Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS, # Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix, Raspbian, # ravynOS, Reborn OS, Red Star, Redcore, Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, rocky, # Rosa, Sabayon, sabotage, Sailfish, SalentOS, Salient OS, Salix, Sasanqua, Scientific, semc, # Septor, Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackel, Slackware, SliTaz, SmartOS, # Soda, Solus, Source Mage, Sparky, Star, SteamOS, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, # TeArch, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, # Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine # Linux, unicodearch, Univalent, Univention, Uos, UrukOS, uwuntu, Vanilla, Venom, VNux, Void, # VzLinux, wii-linux-ngx, Windows, Windows 10, Windows 11, Windows95, Wrt, Xenia, Xenia2, XFerience, # Xray_OS, Xubuntu, yiffOS, Zorin have ascii logos. # NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu have 'old' logo variants, use # {distro}_old to use them. # NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos, cleanjaro, crux, debian, # dragonfly, elementary, endeavouros, fedora, freebsd, garuda, gentoo, guix, haiku, hyperbola, kali, # Linux, linuxlite, linuxmint, mac, mageia, MainsailOS, manjaro, mx, netbsd, nixos, openbsd, # opensuse, orchid, parabola, popos, postmarketos, pureos, Raspbian, rocky, slackware, sunos, # ubuntu, venom, void have 'small' logo variants, use {distro}_small to use them. ascii_distro="auto" # Ascii Colors # # Default: 'distro' # Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' # Flag: --ascii_colors # # Example: # ascii_colors=(distro) - Ascii is colored based on Distro colors. # ascii_colors=(4 6 1 8 8 6) - Ascii is colored using these colors. ascii_colors=(distro) # Bold ascii logo # Whether or not to bold the ascii logo. # # Default: 'on' # Values: 'on', 'off' # Flag: --ascii_bold ascii_bold="on" # Image Options # Image loop # Setting this to on will make neofetch redraw the image constantly until # Ctrl+C is pressed. This fixes display issues in some terminal emulators. # # Default: 'off' # Values: 'on', 'off' # Flag: --loop image_loop="off" # Thumbnail directory # # Default: '~/.cache/thumbnails/neofetch' # Values: 'dir' thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" # Crop mode # # Default: 'normal' # Values: 'normal', 'fit', 'fill' # Flag: --crop_mode # # See this wiki page to learn about the fit and fill options. # https://github.com/dylanaraps/neofetch/wiki/What-is-Waifu-Crop%3F crop_mode="normal" # Crop offset # Note: Only affects 'normal' crop mode. # # Default: 'center' # Values: 'northwest', 'north', 'northeast', 'west', 'center' # 'east', 'southwest', 'south', 'southeast' # Flag: --crop_offset crop_offset="center" # Image size # The image is half the terminal width by default. # # Default: 'auto' # Values: 'auto', '00px', '00%', 'none' # Flags: --image_size # --size image_size="auto" # Catimg block size. # Control the resolution of catimg. # # Default: '2' # Values: '1', '2' # Flags: --catimg_size catimg_size="2" # Gap between image and text # # Default: '3' # Values: 'num', '-num' # Flag: --gap gap=3 # Image offsets # Only works with the w3m backend. # # Default: '0' # Values: 'px' # Flags: --xoffset # --yoffset yoffset=0 xoffset=0 # Image background color # Only works with the w3m backend. # # Default: '' # Values: 'color', 'blue' # Flag: --bg_color background_color= # Misc Options # Stdout mode # If enabled, turn off all colors and disables image backend (ASCII/Image). # Useful for piping into another command. # Default: 'auto' # Values: 'auto', 'on', 'off' stdout="auto" EOF # If /etc/neofetch/default.conf exist, set config variable to its content if [[ -f /etc/neofetch/default.conf ]]; then config="$(< /etc/neofetch/default.conf)" fi # DETECT INFORMATION get_os() { # $kernel_name is set in a function called cache_uname and is # just the output of "uname -s". case $kernel_name in Darwin) os=$darwin_name ;; SunOS) case $(uname -o 2>/dev/null) in illumos) os=illumos ;; *) os=Solaris ;; esac ;; Haiku) os=Haiku ;; MINIX) os=MINIX ;; AIX) os=AIX ;; IRIX*) os=IRIX ;; FreeMiNT) os=FreeMiNT ;; Interix) os=Interix ;; OSF1) os=digitalUNIX ;; Linux|GNU*) os=Linux ;; *BSD|DragonFly|Bitrig) os=BSD ;; CYGWIN*|MSYS*|MINGW*|Windows_NT) os=Windows ;; *) printf '%s\n' "Unknown OS detected: '$kernel_name', aborting..." >&2 printf '%s\n' "Open an issue on GitHub to add support for your OS." >&2 exit 1 ;; esac } get_distro() { [[ $distro ]] && return case $os in Linux|BSD|MINIX) if [[ -f /bedrock/etc/bedrock-release && -z $BEDROCK_RESTRICT ]]; then case $distro_shorthand in on|tiny) distro="Bedrock Linux" ;; *) distro=$(< /bedrock/etc/bedrock-release) esac elif [[ -f /System/Library/CoreServices/SystemVersion.plist ]]; then os=ravynOS ascii_distro="ravynOS" case $distro_shorthand in tiny) distro="$darwin_name" ;; on) distro="$darwin_name $osx_version" ;; *) distro="$darwin_name $darwin_family $osx_version" esac elif [[ -f /etc/redstar-release ]]; then case $distro_shorthand in on|tiny) distro="Red Star OS" ;; *) distro="Red Star OS $(awk -F'[^0-9*]' '$0=$2' /etc/redstar-release)" esac elif [[ -f /etc/KrassOS.version ]]; then case $distro_shorthand in on|tiny) distro="KrassOS" ;; *) distro="KrassOS $(awk '/release/{print $2}' /etc/KrassOS.version)" esac elif [[ -f /etc/armbian-release ]]; then . /etc/armbian-release distro="Armbian $DISTRIBUTION_CODENAME (${VERSION:-})" elif [[ -f /etc/manjaro-release ]]; then case $distro_shorthand in on|tiny) distro="Manjaro Linux" ;; *) distro="Manjaro Linux $(lsb_release -src)" esac elif [[ -f /etc/siduction-version ]]; then case $distro_shorthand in on|tiny) distro=Siduction ;; *) distro="Siduction ($(lsb_release -sic))" esac elif [[ -f /etc/q4os_version ]]; then case $distro_shorthand in on|tiny) distro="Q4OS" ;; *) distro="Q4OS $(cat /etc/q4os_version)" esac elif [[ -f /etc/mcst_version ]]; then case $distro_shorthand in on|tiny) distro="OS Elbrus" ;; *) distro="OS Elbrus $(< /etc/mcst_version)" esac elif [[ -f /etc/NIXOS ]]; then case $distro_shorthand in on) distro="NixOS $(nixos-version | awk '{print substr($1,0,5),$2}')" ;; tiny) distro="NixOS" ;; *) distro="NixOS $(nixos-version)" ;; esac elif [[ -f /etc/linspire-version ]]; then case $distro_shorthand in on|tiny) distro="Linspire" ;; *) distro="Linspire $(awk '/Version/ {print $2}' /etc/linspire-version)" esac elif [[ -f /etc/lindowsos-version ]]; then case $distro_shorthand in on|tiny) distro="LindowsOS" ;; *) distro="$(awk '/Version/ {print $2,$3}' /etc/lindowsos-version)" esac elif [[ -f /etc/astra_version ]]; then distro="Astra Linux" distro_version="$(sed -nr 's/^[^0-9]*(([0-9]+\.)*[0-9]+).*/\1/p' < /etc/astra_version)" if [[ $distro_version == "2.12"* ]]; then distro_codename="ALCE" else distro_codename="ALSE" fi case $distro_shorthand in on|tiny) ;; *) distro="${distro} ${distro_version} ${distro_codename}" esac elif type -p pveversion >/dev/null; then case $distro_shorthand in on|tiny) distro="Proxmox VE" ;; *) distro=$(pveversion) distro=${distro#pve-manager/} distro="Proxmox VE ${distro%/*}" esac elif type -p twistver >/dev/null; then if [[ -f /etc/armbian-release ]]; then . /etc/armbian-release case $distro_shorthand in on) distro="$( twistver ) (Armbian ${VERSION})" ;; tiny) distro="$( twistver ) (Armbian)" ;; off) distro="$( twistver ) (Armbian ${VERSION} ${DISTRIBUTION_CODENAME})" ;; esac else . /etc/os-release case $distro_shorthand in on) distro="$( twistver ) ($NAME ${VERSION_ID})" ;; tiny) distro="$( twistver ) ($NAME)" ;; off) distro="$( twistver ) (${PRETTY_NAME}})" ;; esac fi elif type -p lsb_release >/dev/null; then # Debian does not include .x versions in /etc/os-version, but does in debian_version # So if that file exists, and we are not *buntu, build name from there if [[ -f /etc/debian_version ]] && [[ $distro_shorthand != *"buntu"* ]]; then . /etc/os-release case $distro_shorthand in on) distro="${NAME}" ;; tiny) distro="$(lsb_release -si)" ;; *) distro="${NAME} $(< /etc/debian_version) (${VERSION_CODENAME})" ;; esac else case $distro_shorthand in on) lsb_flags=-si ;; tiny) lsb_flags=-si ;; *) lsb_flags=-sd ;; esac distro=$(lsb_release "$lsb_flags") fi elif [[ -f /etc/os-release || \ -f /usr/lib/os-release || \ -f /etc/openwrt_release || \ -f /etc/lsb-release ]]; then # Source the os-release file for file in /etc/lsb-release /etc/os-release \ /usr/lib/os-release /etc/openwrt_release; do source "$file" && break done # Format the distro name. case $distro_shorthand in on) distro="${NAME:-${DISTRIB_ID}} ${VERSION_ID:-${DISTRIB_RELEASE}}" ;; tiny) distro="${NAME:-${DISTRIB_ID:-${TAILS_PRODUCT_NAME}}}" ;; off) distro="${PRETTY_NAME:-${DISTRIB_DESCRIPTION}} ${UBUNTU_CODENAME}" ;; esac # Workaround for NomadBSD. [[ $distro = "FreeBSD"* ]] && [[ -f /usr/bin/nomadbsd-sysinfo ]] && distro=NomadBSD elif [[ -f /etc/GoboLinuxVersion ]]; then case $distro_shorthand in on|tiny) distro=GoboLinux ;; *) distro="GoboLinux $(< /etc/GoboLinuxVersion)" esac elif [[ -f /etc/SDE-VERSION ]]; then distro="$(< /etc/SDE-VERSION)" case $distro_shorthand in on|tiny) distro="${distro% *}" ;; esac elif type -p crux >/dev/null; then distro=$(crux) case $distro_shorthand in on) distro=${distro//version} ;; tiny) distro=${distro//version*} esac elif type -p tazpkg >/dev/null; then distro="SliTaz $(< /etc/slitaz-release)" elif type -p kpt >/dev/null && \ type -p kpm >/dev/null; then distro=KSLinux elif [[ -d /system/app/ && -d /system/priv-app ]]; then distro="Android $(getprop ro.build.version.release)" elif [[ -f /etc/vzlinux-release ]]; then distro='VzLinux' # Chrome OS doesn't conform to the /etc/*-release standard. # While the file is a series of variables they can't be sourced # by the shell since the values aren't quoted. elif grep -q CHROMEOS /etc/lsb-release; then distro='Chrome OS' elif type -p guix >/dev/null; then case $distro_shorthand in on|tiny) distro="Guix System" ;; *) distro="Guix System $(guix -V | awk 'NR==1{printf $4}')" esac # Display whether using '-current' or '-release' on OpenBSD. elif [[ $kernel_name = OpenBSD ]] ; then read -ra kernel_info <<< "$(sysctl -n kern.version)" distro=${kernel_info[*]:0:2} elif [[ -f /etc/VERSION ]]; then # Source the DSM VERSION file source /etc/VERSION distro="Synology DSM ${productversion}-${buildnumber} Update ${smallfixnumber}" elif compgen -G "/usr/bin/*peropesis*" > /dev/null; then distro="Peropesis" else for release_file in /etc/*-release; do distro+=$(< "$release_file") done if [[ -z $distro ]]; then case $distro_shorthand in on|tiny) distro=$kernel_name ;; *) distro="$kernel_name $kernel_version" ;; esac distro=${distro/DragonFly/DragonFlyBSD} # Workarounds for some BSD based distros. [[ -f /etc/os-release ]] && distro=Enso [[ -f /etc/pcbsd-lang ]] && distro=PCBSD [[ -f /etc/trueos-lang ]] && distro=TrueOS [[ -f /etc/pacbsd-release ]] && distro=PacBSD [[ -f /etc/hbsd-update.conf ]] && distro=HardenedBSD # /etc/pacbsd-release is an empty file [[ -f "/etc/pacbsd-release" ]] && distro="PacBSD" # For OPNsense if [[ -f "/usr/local/opnsense/version/opnsense" ]]; then case "$distro_shorthand" in "on" | "tiny") distro="OPNsense" ;; *) distro=$(<"/usr/local/opnsense/version/opnsense") distro="OPNsense ${distro%-*}" esac fi fi fi # Gets the windows tag caption (ie `Microsoft Windows 11 Pro Insider Preview`) # # Then removes the `Microsoft` and `Windows` part and gets the current # version of Windows (old code reported Windows 10 even if host runs Windows 11). # # Finally, we decline it in three versions : # # - The `on` version (ie `[Windows 11.0.25330]`) # - The `tiny` version (ie `Windows 11`) # - The `any` version (ie `on Windows 11 Pro Insider Preview`) if [[ $(< /proc/version) == *Microsoft* || $kernel_version == *Microsoft* ]]; then windows_version_verbose=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v ProductName | grep REG_) windows_version_verbose=$(trim "${windows_version_verbose/ProductName}") windows_version_verbose=$(trim "${windows_version_verbose/REG_SZ}") buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) windows_version_verbose=$(trim "${windows_version_verbose/Windows}") windows_buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) windows_buildnumber=${buildnumber/CurrentBuildNumber} windows_buildnumber=${buildnumber/REG_SZ} if [[ "$windows_version_verbose" == *"10"* ]] && (( windows_buildnumber >= 22000 )); then windows_version_verbose=${windows_version_verbose/10/11} fi windows_version_current=${windows_version_verbose//[^[:digit:]]/} windows_version_number_long=$(wmic.exe os get Version) windows_version_number_long=$(trim "${windows_version_number_long/Version}") windows_version_number_long=$(trim "${windows_version_number_long}") windows_version_number_long="${windows_version_current}${windows_version_number_long:2}" case $distro_shorthand in on) distro+=" [Windows $windows_version_number_long]" ;; tiny) distro=" Windows $windows_version_current" ;; *) distro+=" on Windows $windows_version_verbose" ;; esac # Chrome OS doesn't conform to the /etc/*-release standard. # While the file is a series of variables they can't be sourced # by the shell since the values aren't quoted. elif [[ -f /etc/lsb-release && $(< /etc/lsb-release) == *CHROMEOS* ]]; then distro='Chrome OS' elif [[ $(< /proc/version) == *chrome-bot* || -f /dev/cros_ec ]]; then # gets chrome os version from /etc/lsb-release. # totally not written by chatgpt :trolley: cros_version=$(grep -oE 'CHROMEOS_RELEASE_CHROME_MILESTONE=([0-9]+)' /etc/lsb-release | cut -d= -f2) [[ $distro != *Chrome* ]] && case $distro_shorthand in on) distro="Chrome OS $cros_version" ;; tiny) distro="Chrome OS" ;; *) distro="Chrome OS $cros_version $distro" ;; esac fi distro=$(trim_quotes "$distro") distro=${distro/NAME=} if [[ -f /usr/bin/system-image-cli ]]; then local ut_ota ut_ota=$(system-image-cli -i | awk '/version tag:/ { print $3 }'); distro="Ubuntu Touch $ut_ota"; # There's a weird UT bug where the HOSTNAME is set to android. HOSTNAME=$(hostname); fi # Get Ubuntu flavor. if [[ $distro == "Ubuntu"* ]]; then case $XDG_CONFIG_DIRS in *"studio"*) distro=${distro/Ubuntu/Ubuntu Studio} ;; *"kde"*) distro=${distro/Ubuntu/Kubuntu} ;; *"plasma"*) distro=${distro/Ubuntu/Kubuntu} ;; *"mate"*) distro=${distro/Ubuntu/Ubuntu MATE} ;; *"xubuntu"*) distro=${distro/Ubuntu/Xubuntu} ;; *"Lubuntu"*) distro=${distro/Ubuntu/Lubuntu} ;; *"budgie"*) distro=${distro/Ubuntu/Ubuntu Budgie} ;; *"cinnamon"*) distro=${distro/Ubuntu/Ubuntu Cinnamon} ;; *"ubuntusway"*) distro=${distro/Ubuntu/Ubuntu Sway} ;; *"ukui"*) distro=${distro/Ubuntu/Ubuntu Kylin} ;; esac if [[ -f /etc/floflis-release ]]; then distro="Floflis" fi fi ;; "Mac OS X"|"macOS") case $osx_version in 10.4*) codename="Mac OS X Tiger" ;; 10.5*) codename="Mac OS X Leopard" ;; 10.6*) codename="Mac OS X Snow Leopard" ;; 10.7*) codename="Mac OS X Lion" ;; 10.8*) codename="OS X Mountain Lion" ;; 10.9*) codename="OS X Mavericks" ;; 10.10*) codename="OS X Yosemite" ;; 10.11*) codename="OS X El Capitan" ;; 10.12*) codename="macOS Sierra" ;; 10.13*) codename="macOS High Sierra" ;; 10.14*) codename="macOS Mojave" ;; 10.15*) codename="macOS Catalina" ;; 10.16*) codename="macOS Big Sur" ;; 11.*) codename="macOS Big Sur" ;; 12.*) codename="macOS Monterey" ;; 13.*) codename="macOS Ventura" ;; 14.*) codename="macOS Sonoma" ;; *) codename="macOS" ;; esac distro="$codename $osx_version ($osx_build)" case $distro_shorthand in on) distro=${distro/ ${osx_build}} ;; tiny) case $osx_version in 10.[4-7]*) distro=${distro/${codename}/Mac OS X} ;; 10.[8-9]*|10.1[0-1]*) distro=${distro/${codename}/OS X} ;; 10.1[2-6]*|11.0*) distro=${distro/${codename}/macOS} ;; esac distro=${distro/ ${osx_build}} ;; esac ;; "iPhone OS") distro="iOS $osx_version" # "uname -m" doesn't print architecture on iOS. os_arch=off ;; Windows) distro=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v ProductName | grep REG_) distro=${distro/ProductName} distro=${distro/REG_SZ} buildnumber=$(reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -v CurrentBuildNumber | grep REG_) buildnumber=${buildnumber/CurrentBuildNumber} buildnumber=${buildnumber/REG_SZ} # If the value of "ProductName" obtained is Windows 10 and the value of "CurrentBuildNumber" is greater than 22000, then the actual operating system version is Windows 11. if [[ "$distro" == *"Windows 10"* ]] && (( buildnumber >= 22000 )); then distro=${distro/Windows 10/Windows 11} fi ;; Solaris|illumos) case $distro_shorthand in on|tiny) distro=$(awk 'NR==1 {print $1,$3}' /etc/release) ;; *) distro=$(awk 'NR==1 {print $1,$2,$3}' /etc/release) ;; esac distro=${distro/\(*} ;; Haiku) distro=Haiku ;; AIX) distro="AIX $(oslevel)" ;; IRIX) distro="IRIX ${kernel_version}" ;; FreeMiNT) distro=FreeMiNT ;; Interix) distro="Interix ${kernel_version}" ;; digitalUNIX) distro="digital UNIX ${kernel_version}" ;; esac distro=${distro//Enterprise Server} [[ $distro ]] || distro="$os (Unknown)" # Get OS architecture. case $os in Solaris|illumos|AIX|Haiku|IRIX|FreeMiNT|BSD|digitalUNIX) machine_arch=$(uname -p) ;; *) machine_arch=$kernel_machine ;; esac [[ $os_arch == on ]] && \ distro+=" $machine_arch" [[ ${ascii_distro:-auto} == auto ]] && \ ascii_distro=$(trim "$distro") } get_bios() { DMI="/sys/devices/virtual/dmi/id" # TODO: Add more platform support for bios detection case $os in Linux) if [[ -f "$DMI/bios_vendor" ]]; then bios="$(< $DMI/bios_vendor)" if [[ -f "$DMI/bios_release" ]]; then bios+=" $(< $DMI/bios_release)" fi if [[ -f "$DMI/bios_date" ]]; then bios+=" ($(< $DMI/bios_date))" fi fi ;; esac } get_model() { case $os in Linux) if [[ -d /android/system/ || -d /system/app/ ]]; then model="$(getprop ro.product.brand) $(getprop ro.product.model)" elif [[ -f /sys/devices/virtual/dmi/id/product_name || -f /sys/devices/virtual/dmi/id/product_version ]]; then model=$(< /sys/devices/virtual/dmi/id/product_name) model+=" $(< /sys/devices/virtual/dmi/id/product_version)" elif [[ -f /sys/devices/virtual/dmi/id/board_vendor || -f /sys/devices/virtual/dmi/id/board_name ]]; then model=$(< /sys/devices/virtual/dmi/id/board_vendor) model+=" $(< /sys/devices/virtual/dmi/id/board_name)" elif [[ -f /sys/firmware/devicetree/base/model ]]; then model=$(< /sys/firmware/devicetree/base/model) elif [[ -f /tmp/sysinfo/model ]]; then model=$(< /tmp/sysinfo/model) fi ;; "Mac OS X"|"macOS"|"ravynOS") if [ "$(arch)" != "arm64" ] && [[ $(kextstat | grep -F -e "FakeSMC" -e "VirtualSMC" -e "Lilu") != "" ]]; then model="Hackintosh (SMBIOS: $(sysctl -n hw.model))" else if [[ $osx_version == 10.[4-5]* ]]; then model="$(system_profiler SPHardwareDataType | grep Machine\ Name:)" model=${model/Machine\ Name\:/} model="$model ($(sysctl -n hw.model))" else model=$(sysctl -n hw.model) fi case $model in Mac14,15): "MacBook Air (15-inch, M2, 2023)" ;; Mac14,14): "Mac Studio (M2 Max, 2023)" ;; Mac14,13): "Mac Studio (M2 Ultra, 2023)" ;; Mac14,8): "Mac Pro (2023)" ;; Mac14,6 | Mac14,10): "MacBook Pro (16-inch, 2023)" ;; Mac14,5 | Mac14,9): "MacBook Pro (14-inch, 2023)" ;; Mac14,12 | Mac14,3): "Mac mini (2023)" ;; Mac14,7): "MacBook Pro (13-inch, M2, 2022)" ;; Mac14,2): "MacBook Air (M2, 2022)" ;; Mac13,1): "Mac Studio (M1 Max, 2022)" ;; Mac13,2): "Mac Studio (M1 Ultra, 2022)" ;; MacBookPro18,[3-4]): "MacBook Pro (14-inch, 2021)" ;; MacBookPro18,[1-2]): "MacBook Pro (16-inch, 2021)" ;; MacBookPro17,1): "MacBook Pro (13-inch, M1, 2020)" ;; MacBookPro16,4): "MacBook Pro (16-inch, 2019)" ;; MacBookPro16,3): "MacBook Pro (13-inch, 2020, Two Thunderbolt 3 ports)" ;; MacBookPro16,2): "MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports)" ;; MacBookPro16,1): "MacBook Pro (16-inch, 2019)" ;; MacBookPro15,4): "MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports)" ;; MacBookPro15,3): "MacBook Pro (15-inch, 2019)" ;; MacBookPro15,2): "MacBook Pro (13-inch, 2018/2019, Four Thunderbolt 3 ports)" ;; MacBookPro15,1): "MacBook Pro (15-inch, 2018/2019)" ;; MacBookPro14,3): "MacBook Pro (15-inch, 2017)" ;; MacBookPro14,2): "MacBook Pro (13-inch, 2017, Four Thunderbolt 3 ports)" ;; MacBookPro14,1): "MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)" ;; MacBookPro13,3): "MacBook Pro (15-inch, 2016)" ;; MacBookPro13,2): "MacBook Pro (13-inch, 2016, Four Thunderbolt 3 ports)" ;; MacBookPro13,1): "MacBook Pro (13-inch, 2016, Two Thunderbolt 3 ports)" ;; MacBookPro12,1): "MacBook Pro (Retina, 13-inch, Early 2015)" ;; MacBookPro11,[4-5]): "MacBook Pro (Retina, 15-inch, Mid 2015)" ;; MacBookPro11,[2-3]): "MacBook Pro (Retina, 15-inch, Late 2013/Mid 2014)" ;; MacBookPro11,1): "MacBook Pro (Retina, 13-inch, Late 2013/Mid 2014)" ;; MacBookPro10,2): "MacBook Pro (Retina, 13-inch, Late 2012/Early 2013)" ;; MacBookPro10,1): "MacBook Pro (Retina, 15-inch, Mid 2012/Early 2013)" ;; MacBookPro9,2): "MacBook Pro (13-inch, Mid 2012)" ;; MacBookPro9,1): "MacBook Pro (15-inch, Mid 2012)" ;; MacBookPro8,3): "MacBook Pro (17-inch, 2011)" ;; MacBookPro8,2): "MacBook Pro (15-inch, 2011)" ;; MacBookPro8,1): "MacBook Pro (13-inch, 2011)" ;; MacBookPro7,1): "MacBook Pro (13-inch, Mid 2010)" ;; MacBookPro6,2): "MacBook Pro (15-inch, Mid 2010)" ;; MacBookPro6,1): "MacBook Pro (17-inch, Mid 2010)" ;; MacBookPro5,5): "MacBook Pro (13-inch, Mid 2009)" ;; MacBookPro5,3): "MacBook Pro (15-inch, Mid 2009)" ;; MacBookPro5,2): "MacBook Pro (17-inch, Mid/Early 2009)" ;; MacBookPro5,1): "MacBook Pro (15-inch, Late 2008)" ;; MacBookPro4,1): "MacBook Pro (17/15-inch, Early 2008)" ;; MacBookAir10,1): "MacBook Air (M1, 2020)" ;; MacBookAir9,1): "MacBook Air (Retina, 13-inch, 2020)" ;; MacBookAir8,2): "MacBook Air (Retina, 13-inch, 2019)" ;; MacBookAir8,1): "MacBook Air (Retina, 13-inch, 2018)" ;; MacBookAir7,2): "MacBook Air (13-inch, Early 2015/2017)" ;; MacBookAir7,1): "MacBook Air (11-inch, Early 2015)" ;; MacBookAir6,2): "MacBook Air (13-inch, Mid 2013/Early 2014)" ;; MacBookAir6,1): "MacBook Air (11-inch, Mid 2013/Early 2014)" ;; MacBookAir5,2): "MacBook Air (13-inch, Mid 2012)" ;; MacBookAir5,1): "MacBook Air (11-inch, Mid 2012)" ;; MacBookAir4,2): "MacBook Air (13-inch, Mid 2011)" ;; MacBookAir4,1): "MacBook Air (11-inch, Mid 2011)" ;; MacBookAir3,2): "MacBook Air (13-inch, Late 2010)" ;; MacBookAir3,1): "MacBook Air (11-inch, Late 2010)" ;; MacBookAir2,1): "MacBook Air (Mid 2009)" ;; MacBook10,1): "MacBook (Retina, 12-inch, 2017)" ;; MacBook9,1): "MacBook (Retina, 12-inch, Early 2016)" ;; MacBook8,1): "MacBook (Retina, 12-inch, Early 2015)" ;; MacBook7,1): "MacBook (13-inch, Mid 2010)" ;; MacBook6,1): "MacBook (13-inch, Late 2009)" ;; MacBook5,2): "MacBook (13-inch, Early/Mid 2009)" ;; Macmini9,1): "Mac mini (M1, 2020)" ;; Macmini8,1): "Mac mini (2018)" ;; Macmini7,1): "Mac mini (Mid 2014)" ;; Macmini6,[1-2]): "Mac mini (Late 2012)" ;; Macmini5,[1-2]): "Mac mini (Mid 2011)" ;; Macmini4,1): "MacPromini (Mid 2010)" ;; Macmini3,1): "Mac mini (Early/Late 2009)" ;; MacPro7,1): "Mac Pro (2019)" ;; MacPro6,1): "Mac Pro (Late 2013)" ;; MacPro5,1): "Mac Pro (Mid 2010 - Mid 2012)" ;; MacPro4,1): "Mac Pro (Early 2009)" ;; iMac21,[1-2]): "iMac (24-inch, M1, 2021)" ;; iMac20,[1-2]): "iMac (Retina 5K, 27-inch, 2020)" ;; iMac19,[1-2]): "iMac (Retina 4K, 21.5-inch, 2019)" ;; iMacPro1,1): "iMac Pro (2017)" ;; iMac18,3): "iMac (Retina 5K, 27-inch, 2017)" ;; iMac18,2): "iMac (Retina 4K, 21.5-inch, 2017)" ;; iMac18,1): "iMac (21.5-inch, 2017)" ;; iMac17,1): "iMac (Retina 5K, 27-inch, Late 2015)" ;; iMac16,2): "iMac (Retina 4K, 21.5-inch, Late 2015)" ;; iMac16,1): "iMac (21.5-inch, Late 2015)" ;; iMac15,1): "iMac (Retina 5K, 27-inch, Late 2014 - Mid 2015)" ;; iMac14,4): "iMac (21.5-inch, Mid 2014)" ;; iMac14,2): "iMac (27-inch, Late 2013)" ;; iMac14,1): "iMac (21.5-inch, Late 2013)" ;; iMac13,2): "iMac (27-inch, Late 2012)" ;; iMac13,1): "iMac (21.5-inch, Late 2012)" ;; iMac12,2): "iMac (27-inch, Mid 2011)" ;; iMac12,1): "iMac (21.5-inch, Mid 2011)" ;; iMac11,3): "iMac (27-inch, Mid 2010)" ;; iMac11,2): "iMac (21.5-inch, Mid 2010)" ;; iMac10,1): "iMac (27/21.5-inch, Late 2009)" ;; iMac9,1): "iMac (24/20-inch, Early 2009)" ;; *): "$model" ;; esac model=$_ fi ;; "iPhone OS") case $kernel_machine in iPad1,1): "iPad" ;; iPad1,2): "iPad 3G" ;; iPad2,[1-4]): "iPad 2" ;; iPad3,[1-3]): "iPad 3" ;; iPad3,[4-6]): "iPad 4" ;; iPad6,1[1-2]): "iPad 5" ;; iPad7,[5-6]): "iPad 6" ;; iPad7,1[1-2]): "iPad 7" ;; iPad11,[6-7]): "iPad 8" ;; iPad12,[1-2]): "iPad 9" ;; iPad13,1[8-9]): "iPad 10" ;; iPad4,[1-3]): "iPad Air" ;; iPad5,[3-4]): "iPad Air 2" ;; iPad11,[3-4]): "iPad Air 3" ;; iPad13,[1-2]): "iPad Air 4" ;; iPad13,1[6-7]): "iPad Air 5" ;; iPad6,[7-8]): "iPad Pro 12.9-inch" ;; iPad6,[3-4]): "iPad Pro 9.7-inch" ;; iPad7,[1-2]): "iPad Pro 12.9-inch (2nd generation)" ;; iPad7,[3-4]): "iPad Pro 10.5-inch" ;; iPad8,[1-4]): "iPad Pro 11-inch" ;; iPad8,[5-8]): "iPad Pro 12.9-inch (3rd generation)" ;; iPad8,9 | iPad8,10): "iPad Pro 11-inch (2nd generation)" ;; iPad8,1[1-2]): "iPad Pro 12.9-inch (4th generation)" ;; iPad13,[4-7]): "iPad Pro 11-inch (3rd generation)" ;; iPad13,[8-9]): "iPad Pro 12.9-inch (5th generation)" ;; iPad13,1[0-1]): "iPad Pro 12.9-inch (5th generation)" ;; iPad14,[3-4]): "iPad Pro 11-inch (4th generation)" ;; iPad14,[5-6]): "iPad Pro 12.9-inch (6th generation)" ;; iPad2,[5-7]): "iPad mini" ;; iPad4,[4-6]): "iPad mini 2" ;; iPad4,[7-9]): "iPad mini 3" ;; iPad5,[1-2]): "iPad mini 4" ;; iPad11,[1-2]): "iPad mini 5" ;; iPad14,[1-2]): "iPad mini 6" ;; iPhone1,1): "iPhone" ;; iPhone1,2): "iPhone 3G" ;; iPhone2,1): "iPhone 3GS" ;; iPhone3,[1-3]): "iPhone 4" ;; iPhone4,1): "iPhone 4S" ;; iPhone5,[1-2]): "iPhone 5" ;; iPhone5,[3-4]): "iPhone 5c" ;; iPhone6,[1-2]): "iPhone 5s" ;; iPhone7,2): "iPhone 6" ;; iPhone7,1): "iPhone 6 Plus" ;; iPhone8,1): "iPhone 6s" ;; iPhone8,2): "iPhone 6s Plus" ;; iPhone8,4): "iPhone SE" ;; iPhone9,[13]): "iPhone 7" ;; iPhone9,[24]): "iPhone 7 Plus" ;; iPhone10,[14]): "iPhone 8" ;; iPhone10,[25]): "iPhone 8 Plus" ;; iPhone10,[36]): "iPhone X" ;; iPhone11,2): "iPhone XS" ;; iPhone11,[46]): "iPhone XS Max" ;; iPhone11,8): "iPhone XR" ;; iPhone12,1): "iPhone 11" ;; iPhone12,3): "iPhone 11 Pro" ;; iPhone12,5): "iPhone 11 Pro Max" ;; iPhone12,8): "iPhone SE 2020" ;; iPhone13,1): "iPhone 12 Mini" ;; iPhone13,2): "iPhone 12" ;; iPhone13,3): "iPhone 12 Pro" ;; iPhone13,4): "iPhone 12 Pro Max" ;; iPhone14,2): "iPhone 13 Pro" ;; iPhone14,3): "iPhone 13 Pro Max" ;; iPhone14,4): "iPhone 13 Mini" ;; iPhone14,5): "iPhone 13" ;; iPhone14,6): "iPhone SE 2022" ;; iPhone14,7): "iPhone 14" ;; iPhone14,8): "iPhone 14 Plus" ;; iPhone15,2): "iPhone 14 Pro" ;; iPhone15,3): "iPhone 14 Pro Max" ;; iPod1,1): "iPod touch" ;; iPod2,1): "iPod touch 2G" ;; iPod3,1): "iPod touch 3G" ;; iPod4,1): "iPod touch 4G" ;; iPod5,1): "iPod touch 5G" ;; iPod7,1): "iPod touch 6G" ;; iPod9,1): "iPod touch 7G" ;; esac model=$_ ;; BSD|MINIX) if [[ $kernel_name = "FreeBSD" ]]; then model=$(kenv smbios.system.version) else model=$(sysctl -n hw.vendor hw.product) fi ;; Windows) model=$(wmic computersystem get manufacturer,model) model=${model/Manufacturer} model=${model/Model} ;; Solaris|illumos) model=$(prtconf -b | awk -F':' '/banner-name/ {printf $2}') if virt=$(/usr/bin/uname -V) && [[ "$virt" != "non-virtualized" ]]; then model="${model:-$(uname -i)} (${virt})" fi ;; AIX) model=$(/usr/bin/uname -M) ;; FreeMiNT) model=$(sysctl -n hw.model) model=${model/ (_MCH *)} ;; Interix) model="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe computersystem get manufacturer,model)" model="${model/Manufacturer}" model="${model/Model}" ;; esac # Remove dummy OEM info. model=${model//To be filled by O.E.M.} model=${model//To Be Filled*} model=${model//OEM*} model=${model//Not Applicable} model=${model//System Product Name} model=${model//System Version} model=${model//Undefined} model=${model//Default string} model=${model//Not Specified} model=${model//Type1ProductConfigId} model=${model//INVALID} model=${model//All Series} model=${model//�} case $model in "Standard PC"*) model="KVM/QEMU (${model})" ;; OpenBSD*) model="vmm ($model)" ;; esac } get_title() { user=${USER:-$(id -un || printf %s "${HOME/*\/}")} case $title_fqdn in on) case $os in illumos|Solaris) hostname=$(hostname) domainname=$(domainname) [[ -n "$domainname" ]] && hostname+=".$domainname" ;; *) hostname=$(hostname -f) ;; esac ;; *) hostname=${HOSTNAME:-$(hostname)} hostname=${hostname%%.*} ;; esac title=${title_color}${bold}${user}${at_color}@${title_color}${bold}${hostname} length=$((${#user} + ${#hostname} + 1)) } get_kernel() { # Since these OS are integrated systems, it's better to skip this function altogether [[ $os =~ (AIX|IRIX) ]] && return # Haiku uses 'uname -v' and not - 'uname -r'. [[ $os == Haiku ]] && { kernel=$(uname -v) return } # In Windows 'uname' may return the info of GNUenv thus use wmic for OS kernel. [[ $os == Windows ]] && { kernel=$(wmic os get Version) kernel=${kernel/Version} return } [[ $os == Solaris ]] && { ver=$(uname -v) case $ver in 11.[0123]) ;; *) kernel=${ver} ;; esac return } # In Interix the Kernel version is commonly comprised of the host OS build number, # OS architecture and Interix build number [[ $os == Interix ]] && { kernel="$(uname -r) $(uname -m) $(uname -v)" return } case $kernel_shorthand in on) kernel=$kernel_version ;; off) kernel="$kernel_name $kernel_version" ;; esac # Hide kernel info if it's identical to the distro info. [[ $os =~ (BSD|MINIX) && $distro == *"$kernel_name"* ]] && case $distro_shorthand in on|tiny) kernel=$kernel_version ;; *) unset kernel ;; esac } get_uptime() { # Get uptime in seconds. case $os in Linux|Windows|MINIX) if [[ -r /proc/uptime ]]; then s=$(< /proc/uptime) s=${s/.*} else boot=$(date -d"$(uptime -s)" +%s) now=$(date +%s) s=$((now - boot)) fi ;; "Mac OS X"|"macOS"|"ravynOS"|"iPhone OS"|BSD|FreeMiNT) boot=$(sysctl -n kern.boottime) boot=${boot/\{ sec = } boot=${boot/,*} # Get current date in seconds. now=$(date +%s) s=$((now - boot)) ;; Solaris|illumos) boot=$(kstat -p unix:0:system_misc:boot_time | awk '{print $2}') now=$(date +%s) s=$((now - boot)) ;; AIX|IRIX) t=$(LC_ALL=POSIX ps -o etime= -p 1) [[ $t == *-* ]] && { d=${t%%-*}; t=${t#*-}; } [[ $t == *:*:* ]] && { h=${t%%:*}; t=${t#*:}; } h=${h#0} t=${t#0} s=$((${d:-0}*86400 + ${h:-0}*3600 + ${t%%:*}*60 + ${t#*:})) ;; Interix) t="$(LC_ALL=POSIX ps -o etime= -p 0)" t="${t%%.*}" [[ $t == *-* ]] && { d=${t%%-*}; t=${t#*-}; } [[ $t == *:*:* ]] && { h=${t%%:*}; t=${t#*:}; } h="${h#0}" t="${t#0}" s="$((${d:-0}*86400 + ${h:-0}*3600 + ${t%%:*}*60 + ${t#*:}))" ;; Haiku) s=$(($(system_time) / 1000000)) ;; esac d="$((s / 60 / 60 / 24)) days" h="$((s / 60 / 60 % 24)) hours" m="$((s / 60 % 60)) minutes" # Remove plural if < 2. ((${d/ *} == 1)) && d=${d/s} ((${h/ *} == 1)) && h=${h/s} ((${m/ *} == 1)) && m=${m/s} # Hide empty fields. ((${d/ *} == 0)) && unset d ((${h/ *} == 0)) && unset h ((${m/ *} == 0)) && unset m # Add "(!)" if more than 100 days ((${d/ *} > 100)) && d="${d}(!)" uptime=${d:+$d, }${h:+$h, }$m uptime=${uptime%', '} uptime=${uptime:-$s seconds} # Make the output of uptime smaller. case $uptime_shorthand in on) uptime=${uptime/ minutes/ mins} uptime=${uptime/ minute/ min} uptime=${uptime/ seconds/ secs} ;; tiny) uptime=${uptime/ days/d} uptime=${uptime/ day/d} uptime=${uptime/ hours/h} uptime=${uptime/ hour/h} uptime=${uptime/ minutes/m} uptime=${uptime/ minute/m} uptime=${uptime/ seconds/s} uptime=${uptime//,} ;; esac } get_packages() { # to adjust the number of pkgs per pkg manager pkgs_h=0 # has: Check if package manager installed. # dir: Count files or dirs in a glob. # pac: If packages > 0, log package manager name. # tot: Count lines in command output. has() { type -p "$1" >/dev/null && manager=$1; } # globbing is intentional here # shellcheck disable=SC2206 dir() { pkgs=($@); [[ ! -e ${pkgs[0]} ]] && return; ((packages+=${#pkgs[@]})); pac "$((${#pkgs[@]}-pkgs_h))"; } pac() { (($1 > 0)) && { managers+=("$1 (${manager})"); manager_string+="${manager}, "; }; } tot() { IFS=$'\n' read -d "" -ra pkgs <<< "$("$@")"; ((packages+=${#pkgs[@]})); pac "$((${#pkgs[@]}-pkgs_h))"; } # Similar with tot but do nothing if the command fails tot-safe() { if pkgs="$("$@")"; then pkgs=$(echo "$pkgs" | wc -l) ((packages+=pkgs)) pac "$((pkgs-pkgs_h))"; fi } # Redefine tot() and dir() for Bedrock Linux. [[ -f /bedrock/etc/bedrock-release && $PATH == */bedrock/cross/* ]] && { br_strata=$(brl list) tot() { IFS=$'\n' read -d "" -ra pkgs <<< "$(for s in ${br_strata}; do strat -r "$s" "$@"; done)" ((packages+="${#pkgs[@]}")) pac "$((${#pkgs[@]}-pkgs_h))"; } dir() { local pkgs=() # globbing is intentional here # shellcheck disable=SC2206 for s in ${br_strata}; do pkgs+=(/bedrock/strata/$s/$@); done ((packages+=${#pkgs[@]})) pac "$((${#pkgs[@]}-pkgs_h))" } } # OS-independent package managers. has pipx && tot pipx list --short has cargo && _cargopkgs="$(cargo install --list | grep -v '^ ')" && tot echo "$_cargopkgs" has npm && pkgs_h=1 tot npm list -g --depth=0 # OS-specific package managers. case $os in Linux|BSD|"iPhone OS"|Solaris|illumos|Interix) # Package Manager Programs. has kiss && tot kiss l has cpt-list && tot cpt-list has pacman-key && tot pacman -Qq --color never has click && tot click list has dpkg && tot dpkg-query -f '.\n' -W has xbps-query && tot xbps-query -l has apk && tot apk info has opkg && tot opkg list-installed has pacman-g2 && tot pacman-g2 -Q has lvu && tot lvu installed has tce-status && tot tce-status -i has pkg_info && tot pkg_info has pkgin && tot pkgin list has tazpkg && pkgs_h=6 tot tazpkg list && ((packages-=6)) has sorcery && tot gaze installed has alps && tot alps showinstalled has butch && tot butch list has swupd && tot swupd bundle-list --quiet has pisi && tot pisi li has pacstall && tot pacstall -L has bulge && tot bulge list has pm && tot-safe pm list packages has evox && tot cat /var/evox/packages/DB has squirrel && tot ls /var/packages has tea && tot find "$HOME/.tea" -maxdepth 2 -mindepth 2 -type d # Using the dnf package cache is much faster than rpm. if has dnf && type -p sqlite3 >/dev/null && [[ -f /var/cache/dnf/packages.db ]]; then pac "$(sqlite3 /var/cache/dnf/packages.db "SELECT count(pkg) FROM installed")" else has rpm && tot rpm -qa fi # 'mine' conflicts with minesweeper games. [[ -f /etc/SDE-VERSION ]] && has mine && tot mine -q # Counting files/dirs. # Variables need to be unquoted here. Only Bedrock Linux is affected. # $br_prefix is fixed and won't change based on user input so this is safe either way. # shellcheck disable=SC2086 { shopt -s nullglob has brew && dir "$(brew --cellar)/* $(brew --caskroom)/*" has emerge && dir "/var/db/pkg/*/*" has Compile && dir "/Programs/*/" has eopkg && dir "/var/lib/eopkg/package/*" has inary && dir "/var/lib/inary/package/*" has tekel && dir "/data/app/$USER/* /data/app/system/*" has crew && dir "${CREW_PREFIX:-/usr/local}/etc/crew/meta/*.filelist" has pkgtool && dir "/var/log/packages/*" has scratch && dir "/var/lib/scratchpkg/db/*" has kagami && dir "/var/lib/kagami/pkgs/*" has cave && dir "/var/db/paludis/repositories/cross-installed/*/data/*/ \ /var/db/paludis/repositories/installed/data/*/" has hardman && dir "/var/hpkg/packages/*" shopt -u nullglob } # Steam games STEAM_P=".local/share/Steam/steamapps/common" if [[ -d "$HOME/$STEAM_P" ]]; then manager=steam && dir "$HOME/$STEAM_P/*/" elif [[ -d "$HOME/.var/app/com.valvesoftware.Steam/$STEAM_P" ]]; then manager=steam && dir "$HOME/.var/app/com.valvesoftware.Steam/$STEAM_P/*/" elif [[ -d "$HOME/.steam/steam/steamapps/common" ]]; then manager=steam && dir "$HOME/.steam/steam/steamapps/common/*/" fi # Other (Needs complex command) has kpm-pkg && ((packages+=$(kpm --get-selections | grep -cv deinstall$))) # Separate system and user packages if [[ $package_separate == on ]]; then has guix && { manager=guix-system && tot guix package -p /run/current-system/profile -I manager=guix-user && tot guix package -I manager=guix-home && tot guix package -p ~/.guix-home/profile -I } has nix-store && { nix-user-pkgs() { nix-store -qR ~/.nix-profile nix-store -qR /etc/profiles/per-user/"$USER" } manager=nix-system && tot nix-store -qR /run/current-system/sw manager=nix-user && tot nix-user-pkgs manager=nix-default && tot nix-store -qR /nix/var/nix/profiles/default } has flatpak && { manager=flatpak-system && tot flatpak list --system manager=flatpak-user && tot flatpak list --user } else has guix && { guix-all() { guix package -p /run/current-system/profile -I guix package -I guix package -p ~/.guix-home/profile -I } manager=guix && tot guix-all } has nix-store && { nix-all() { nix-store -qR ~/.nix-profile nix-store -qR /etc/profiles/per-user/"$USER" nix-store -qR /run/current-system/sw nix-store -qR /nix/var/nix/profiles/default } manager=nix && tot nix-all } has flatpak && { manager=flatpak && tot flatpak list } fi # pkginfo is also the name of a python package manager which is painfully slow. # TODO: Fix this somehow. has pkginfo && tot pkginfo -i case $os-$kernel_name in BSD-FreeBSD|BSD-DragonFly) has pkg && tot pkg info /dev/null && \ pkgs_h=1 tot snap list && ((packages-=1)) # This is the only standard location for appimages. # See: https://github.com/AppImage/AppImageKit/wiki manager=appimage && has appimaged && dir ~/.local/bin/*.[Aa]pp[Ii]mage # Has devbox & is initialized has devbox && [[ "$(devbox global list)" != *"not activated"* ]] && tot devbox global list ;; "Mac OS X"|"macOS"|MINIX) has port && pkgs_h=1 tot port installed && ((packages-=1)) has brew && dir "$(brew --cellar)/* $(brew --caskroom)/*" has pkgin && tot pkgin list has dpkg && tot dpkg-query -f '.\n' -W has tea && tot find "$HOME/.tea" -maxdepth 2 -mindepth 2 -type d has nix-store && { nix-user-pkgs() { nix-store -qR ~/.nix-profile nix-store -qR /etc/profiles/per-user/"$USER" } manager=nix-system && tot nix-store -qR /run/current-system/sw manager=nix-user && tot nix-user-pkgs } ;; AIX|FreeMiNT) has lslpp && ((packages+=$(lslpp -J -l -q | grep -cv '^#'))) has rpm && tot rpm -qa ;; Windows) case $kernel_name in CYGWIN*) has cygcheck && tot cygcheck -cd ;; MSYS*) has pacman && tot pacman -Qq --color never ;; esac ProgramData=$(cygpath --folder 0x0023 2>/dev/null) if [[ -z "$ProgramData" ]]; then mount=$(awk '/^C:\s/ {print $2}' /proc/mounts 2>/dev/null) ProgramData="${mount:-/cygdrive/c}/ProgramData" fi # scoop list adds a few extra lines to be fancy, an easy fix is to just remove the first 4 lines. I dont know a better way to do this. has scoop && pkgs_h=4 tot scoop list # Count chocolatey packages. # [[ -d /c/ProgramData/chocolatey/lib ]] && \ # dir /c/ProgramData/chocolatey/lib/* # has choco && tot choco list --localonly has choco && dir "$ProgramData"/chocolatey/lib/* # Count winget has winget && tot winget list --accept-source-agreements ;; Haiku) has pkgman && dir /boot/system/package-links/* packages=${packages/pkgman/depot} ;; IRIX) manager=swpkg pkgs_h=3 tot versions -b && ((packages-=3)) ;; esac if ((packages == 0)); then unset packages elif [[ $package_managers == on ]]; then printf -v packages '%s, ' "${managers[@]}" packages=${packages%,*} elif [[ $package_managers == tiny ]]; then packages+=" (${manager_string%,*})" fi packages=${packages/pacman-key/pacman} } get_shell() { case $shell_path in on) shell="$SHELL " ;; off) shell="${SHELL##*/} " ;; esac [[ $shell_version != on ]] && return case ${shell_name:=${SHELL##*/}} in bash) [[ $BASH_VERSION ]] || BASH_VERSION=$("$SHELL" -c "printf %s \"\$BASH_VERSION\"") shell+=${BASH_VERSION/-*} ;; sh|ash|dash|es) ;; *ksh) shell+=$("$SHELL" -c "printf %s \"\$KSH_VERSION\"") shell=${shell/ * KSH} shell=${shell/version} ;; osh) if [[ $OIL_VERSION ]]; then shell+=$OIL_VERSION else shell+=$("$SHELL" -c "printf %s \"\$OIL_VERSION\"") fi ;; tcsh) shell+=$("$SHELL" -c "printf %s \$tcsh") ;; yash) shell+=$("$SHELL" --version 2>&1) shell=${shell/ $shell_name} shell=${shell/ Yet another shell} shell=${shell/Copyright*} ;; nu) shell+=$("$SHELL" -c "version | get version") shell=${shell/ $shell_name} ;; *) shell+=$("$SHELL" --version 2>&1) shell=${shell/ $shell_name} ;; esac # Remove unwanted info. shell=${shell/, version} shell=${shell/xonsh\//xonsh } shell=${shell/options*} shell=${shell/\(*\)} } get_editor() { local editor_full_path="${VISUAL:-$EDITOR}" # in case neither is set just return [[ -z "$editor_full_path" ]] && return # Actually obtain the full path editor_full_path="$(which "${editor_full_path}" 2>/dev/null)" # Resolve symlink and get the original name [[ -L "$editor_full_path" ]] && editor_full_path="$(readlink -f "$editor_full_path")" case $editor_path in on) editor="${editor_full_path} " ;; off) editor="${editor_full_path##*/} " ;; esac # in case editor version is not demanded don't bother parsing it [[ $editor_version != on ]] && return # Obtain editor version case ${editor_name:=${editor_full_path##*/}} in nano|vim|micro|emacs) editor_v=$("$editor_full_path" --version 2>&1) ;; kak) editor_v=$("$editor_full_path" -version 2>&1) ;; ne) editor_v=$("$editor_full_path" -h 2>&1) ;; esac editor_v="${editor_v/$'\n'*}" editor_v="${editor_v/Version: }" # Only show editor name if the version string doesn't contain it echo "$editor_v" | grep -i "$editor_name" &> /dev/null && editor_name="" editor=${editor_name}${editor_v:+ }${editor_v} # remove some common unwanted info from version strings editor=${editor/, version} editor=${editor/options*} editor=${editor/\(*\)} } get_de() { # If function was run, stop here. ((de_run == 1)) && return case $os in "Mac OS X"|"macOS") de=Aqua ;; "ravynOS") de=Magma ;; Windows) case $distro in *"Windows 10"*|*"Windows 11"*) de=Fluent ;; *"Windows 8"*) de=Metro ;; *) de=Aero ;; esac ;; FreeMiNT) freemint_wm=(/proc/*) case ${freemint_wm[*]} in *thing*) de=Thing ;; *jinnee*) de=Jinnee ;; *tera*) de=Teradesk ;; *neod*) de=NeoDesk ;; *zdesk*) de=zDesk ;; *mdesk*) de=mDesk ;; esac ;; *) ((wm_run != 1)) && get_wm # Temporary support for Regolith Linux if [[ $DESKTOP_SESSION == *regolith ]]; then de=Regolith # Added support Fly for Astra Linux elif [[ $DESKTOP_SESSION == fly ]]; then de=Fly elif [[ $XDG_CURRENT_DESKTOP ]]; then de=${XDG_CURRENT_DESKTOP/X\-} de=${de/Budgie:GNOME/Budgie} de=${de/:Unity7:ubuntu} elif [[ $DESKTOP_SESSION ]]; then de=${DESKTOP_SESSION##*/} de=${de/trinity/Trinity} elif [[ $GNOME_DESKTOP_SESSION_ID ]]; then de=GNOME elif [[ $MATE_DESKTOP_SESSION_ID ]]; then de=MATE elif [[ $TDE_FULL_SESSION ]]; then de=Trinity fi # When a window manager is started from a display manager # the desktop variables are sometimes also set to the # window manager name. This checks to see if WM == DE # and discards the DE value. [[ $de == "$wm" ]] && { unset -v de; return; } ;; esac # Fallback to using xprop. [[ $DISPLAY && -z $de ]] && type -p xprop &>/dev/null && \ de=$(xprop -root | awk '/KDE_SESSION_VERSION|^_MUFFIN|xfce4|xfce5/') # Format strings. case $de in KDE_SESSION_VERSION*) de=KDE${de/* = } ;; *xfce4*) de=Xfce4 ;; *xfce5*) de=Xfce5 ;; *xfce*) de=Xfce ;; *mate*) de=MATE ;; *GNOME*) de=GNOME ;; *MUFFIN*) de=Cinnamon ;; esac ((${KDE_SESSION_VERSION:-0} >= 4)) && de=${de/KDE/Plasma} if [[ $de_version == on && $de ]]; then case $de in Plasma*) de_ver=$(plasmashell --version) kf_ver=$(kf5-config --version) qt_ver=${kf_ver/KDE*} qt_ver=${qt_ver/Qt:} qt_ver=$(trim "$qt_ver") kf_ver=${kf_ver/kf5*} kf_ver=${kf_ver/*:} kf_ver=$(trim "$kf_ver") ;; MATE*) de_ver=$(mate-session --version) ;; Xfce*) de_ver=$(xfce4-session --version) ;; GNOME*) de_ver=$(gnome-shell --version) ;; Cinnamon*) de_ver=$(cinnamon --version) ;; Deepin*) de_ver=$(awk -F'=' '/MajorVersion/ {print $2}' /etc/os-version) ;; Budgie*) de_ver=$(budgie-desktop --version) ;; Cutefish*) de_ver=$(awk -F'=' '/Version/ {print $2}' /etc/cutefish) ;; LXQt*) de_ver=$(lxqt-session --version) ;; Lumina*) de_ver=$(lumina-desktop --version 2>&1) ;; Trinity*) de_ver=$(tde-config --version) ;; Unity*) de_ver=$(unity --version) ;; esac de_ver=${de_ver/*TDE:} de_ver=${de_ver/tde-config*} de_ver=${de_ver/liblxqt*} de_ver=${de_ver/Copyright*} de_ver=${de_ver/)*} de_ver=${de_ver/* } de_ver=${de_ver//\"} de+=" $de_ver" [[ $de == "Plasma"* ]] && de+=" [KF5 $kf_ver] [Qt $qt_ver]" fi # TODO: # - New config option + flag: --de_display_server on/off ? # - Add display of X11, Arcan and anything else relevant. [[ $de ]] && [[ -n $XDG_SESSION_TYPE ]] && de+=" (${XDG_SESSION_TYPE})" de_run=1 } get_wm() { # If function was run, stop here. ((wm_run == 1)) && return case $kernel_name in *OpenBSD*) ps_flags=(x -c) ;; *) ps_flags=(-e) ;; esac if [[ -O "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" ]]; then if tmp_pid="$(lsof -t "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" 2>&1)" || tmp_pid="$(fuser "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY:-wayland-0}" 2>&1)"; then tmp_pid="$(trim "${tmp_pid##*:}")" wm="$(ps -p "${tmp_pid}" -ho comm=)" else # lsof may not exist, or may need root on some systems. Similarly fuser. # On those systems we search for a list of known window managers, this can mistakenly # match processes for another user or session and will miss unlisted window managers. wm=$(ps "${ps_flags[@]}" | grep -m 1 -o -F \ -e ^arcan$ \ -e ^asc$ \ -e ^clayland$ \ -e ^dwc$ \ -e ^dwl$ \ -e ^fireplace$ \ -e ^gnome-shell$ \ -e ^greenfield$ \ -e ^grefsen$ \ -e ^hikari$ \ -e ^Hyprland$ \ -e ^kwin$ \ -e ^lipstick$ \ -e ^maynard$ \ -e ^mazecompositor$ \ -e ^motorcar$ \ -e ^orbital$ \ -e ^orbment$ \ -e ^perceptia$ \ -e ^river$ \ -e ^rustland$ \ -e ^sway$ \ -e ^ulubis$ \ -e ^velox$ \ -e ^wavy$ \ -e ^way-cooler$ \ -e ^wayfire$ \ -e ^wayhouse$ \ -e ^westeros$ \ -e ^westford$ \ -e ^weston$ ) fi elif [[ $DISPLAY && $os != "Mac OS X" && $os != "macOS" && $os != FreeMiNT ]]; then # non-EWMH WMs. wm=$(ps "${ps_flags[@]}" | grep -m 1 -o \ -e "[s]owm" \ -e "[c]atwm" \ -e "[f]vwm" \ -e "[d]wm" \ -e "[2]bwm" \ -e "[m]onsterwm" \ -e "[t]inywm" \ -e "[x]11fs" \ -e "[x]monad") [[ -z $wm ]] && type -p xprop &>/dev/null && { id=$(xprop -root -notype _NET_SUPPORTING_WM_CHECK) id=${id##* } wm=$(xprop -id "$id" -notype -len 100 -f _NET_WM_NAME 8t) wm=${wm/*WM_NAME = } wm=${wm/\"} wm=${wm/\"*} } else case $os in "Mac OS X"|"macOS") ps_line=$(ps -e | grep -o \ -e "[S]pectacle" \ -e "[A]methyst" \ -e "[k]wm" \ -e "[c]hun[k]wm" \ -e "[y]abai" \ -e "[R]ectangle") case $ps_line in *chunkwm*) wm=chunkwm ;; *kwm*) wm=Kwm ;; *yabai*) wm=yabai ;; *Amethyst*) wm=Amethyst ;; *Spectacle*) wm=Spectacle ;; *Rectangle*) wm=Rectangle ;; *) wm="Quartz Compositor" ;; esac ;; Windows) wm=$( tasklist | grep -Fom 1 \ -e bugn \ -e Windawesome \ -e blackbox \ -e emerge \ -e litestep ) [[ $wm == blackbox ]] && wm="bbLean (Blackbox)" wm=${wm:+$wm, }DWM.exe ;; FreeMiNT) freemint_wm=(/proc/*) case ${freemint_wm[*]} in *xaaes* | *xaloader*) wm=XaAES ;; *myaes*) wm=MyAES ;; *naes*) wm=N.AES ;; geneva) wm=Geneva ;; *) wm="Atari AES" ;; esac ;; esac fi # Rename window managers to their proper values. [[ $wm == *WINDOWMAKER* ]] && wm=wmaker [[ $wm == *GNOME*Shell* ]] && wm=Mutter wm_run=1 } get_wm_theme() { ((wm_run != 1)) && get_wm ((de_run != 1)) && get_de case $wm in E16) wm_theme=$(awk -F "= " '/theme.name/ {print $2}' "${HOME}/.e16/e_config--0.0.cfg") ;; Sawfish) wm_theme=$(awk -F '\\(quote|\\)' '/default-frame-style/ {print $(NF-4)}' \ "$HOME/.sawfish/custom") ;; Cinnamon|Muffin|"Mutter (Muffin)") detheme=$(gsettings get org.cinnamon.theme name) wm_theme=$(gsettings get org.cinnamon.desktop.wm.preferences theme) wm_theme="$detheme ($wm_theme)" ;; Compiz|Mutter|Gala) if type -p gsettings >/dev/null; then wm_theme=$(gsettings get org.gnome.shell.extensions.user-theme name) [[ ${wm_theme//\'} ]] || \ wm_theme=$(gsettings get org.gnome.desktop.wm.preferences theme) elif type -p gconftool-2 >/dev/null; then wm_theme=$(gconftool-2 -g /apps/metacity/general/theme) fi ;; Metacity*) if [[ $de == Deepin ]]; then wm_theme=$(gsettings get com.deepin.wrap.gnome.desktop.wm.preferences theme) elif [[ $de == MATE ]]; then wm_theme=$(gsettings get org.mate.Marco.general theme) else wm_theme=$(gconftool-2 -g /apps/metacity/general/theme) fi ;; E17|Enlightenment) if type -p eet >/dev/null; then wm_theme=$(eet -d "$HOME/.e/e/config/standard/e.cfg" config |\ awk '/value \"file\" string.*.edj/ {print $4}') wm_theme=${wm_theme##*/} wm_theme=${wm_theme%.*} fi ;; Fluxbox) [[ -f $HOME/.fluxbox/init ]] && wm_theme=$(awk -F "/" '/styleFile/ {print $NF}' "$HOME/.fluxbox/init") ;; IceWM*) [[ -f $HOME/.icewm/theme ]] && wm_theme=$(awk -F "[\",/]" '!/#/ {print $2}' "$HOME/.icewm/theme") ;; Openbox) case $de in LXDE*) ob_file="lxde-rc" ;; LXQt*) ob_file="lxqt-rc" ;; *) ob_file="rc" ;; esac ob_file=$XDG_CONFIG_HOME/openbox/$ob_file.xml [[ -f $ob_file ]] && wm_theme=$(awk '// {while (getline n) {if (match(n, //)) {l=n; exit}}} END {split(l, a, "[<>]"); print a[3]}' "$ob_file") ;; PekWM) [[ -f $HOME/.pekwm/config ]] && wm_theme=$(awk -F "/" '/Theme/{gsub(/\"/,""); print $NF}' "$HOME/.pekwm/config") ;; Xfwm4) [[ -f $HOME/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml ]] && wm_theme=$(xfconf-query -c xfwm4 -p /general/theme) ;; KWin*) kde_config_dir kwinrc=$kde_config_dir/kwinrc kdebugrc=$kde_config_dir/kdebugrc if [[ -f $kwinrc ]]; then wm_theme=$(awk '/theme=/ { gsub(/theme=.*qml_|theme=.*svg__/,"",$0); print $0; exit }' "$kwinrc") [[ "$wm_theme" ]] || wm_theme=$(awk '/library=org.kde/ { gsub(/library=org.kde./,"",$0); print $0; exit }' "$kwinrc") [[ $wm_theme ]] || wm_theme=$(awk '/PluginLib=kwin3_/ { gsub(/PluginLib=kwin3_/,"",$0); print $0; exit }' "$kwinrc") elif [[ -f $kdebugrc ]]; then wm_theme=$(awk '/(decoration)/ {gsub(/\[/,"",$1); print $1; exit}' "$kdebugrc") fi wm_theme=${wm_theme/theme=} ;; "Quartz Compositor") global_preferences=$HOME/Library/Preferences/.GlobalPreferences.plist wm_theme=$(PlistBuddy -c "Print AppleInterfaceStyle" "$global_preferences") wm_theme_color=$(PlistBuddy -c "Print AppleAccentColor" "$global_preferences") [[ "$wm_theme" ]] || wm_theme=Light case $wm_theme_color in -1) wm_theme_color=Graphite ;; 0) wm_theme_color=Red ;; 1) wm_theme_color=Orange ;; 2) wm_theme_color=Yellow ;; 3) wm_theme_color=Green ;; 5) wm_theme_color=Purple ;; 6) wm_theme_color=Pink ;; *) wm_theme_color=Blue ;; esac wm_theme="$wm_theme_color ($wm_theme)" ;; *Explorer) path=/proc/registry/HKEY_CURRENT_USER/Software/Microsoft path+=/Windows/CurrentVersion/Themes/CurrentTheme wm_theme=$(head -n1 "$path") wm_theme=${wm_theme##*\\} wm_theme=${wm_theme%.*} ;; Blackbox|bbLean*) path=$(wmic process get ExecutablePath | grep -F "blackbox") path=${path//\\/\/} wm_theme=$(grep '^session\.styleFile:' "${path/\.exe/.rc}") wm_theme=${wm_theme/session\.styleFile: } wm_theme=${wm_theme##*\\} wm_theme=${wm_theme%.*} ;; LeftWM*) if command -v leftwm-theme &> /dev/null then wm_theme=$(leftwm-theme status | grep "Your current theme" | sed -e 's/Your current theme is //g' -e 's/\,.*$//g') fi ;; fly-wm) fly_config_file if grep -q 'DecorTheme' "${fly_config_file}" 2>/dev/null; then wm_theme=$(awk -F'=' '/^DecorTheme/{print $2}' "${fly_config_file}") fi if [ -z "$wm_theme" ] || [ "$wm_theme" = "Not Found" ]; then wm_theme=Default fi ;; esac wm_theme=$(trim_quotes "$wm_theme") } get_cpu() { case $os in "Linux" | "MINIX" | "Windows") # Get CPU name. cpu_file="/proc/cpuinfo" case $kernel_machine in "frv" | "hppa" | "m68k" | "openrisc" | "or"* | "powerpc" | "ppc"* | "sparc"*) cpu="$(awk -F':' '/^cpu\t|^CPU/ {printf $2; exit}' "$cpu_file")" ;; "s390"*) cpu="$(awk -F'=' '/machine/ {print $4; exit}' "$cpu_file")" ;; "ia64" | "m32r") cpu="$(awk -F':' '/model/ {print $2; exit}' "$cpu_file")" [[ -z "$cpu" ]] && cpu="$(awk -F':' '/family/ {printf $2; exit}' "$cpu_file")" ;; "riscv"* | "rv"*) cpu_uarch="$(awk -F':' '/uarch/ {print $2; exit}' "$cpu_file")" # RISC-V ISA string example: "rv64imafdch_zicsr_zifencei". cpu_isa="$(awk -F':' '/isa/ {print $2; exit}' "$cpu_file")" # The _z parts are not important for CPU showcasing, so we remove them. cpu_isa="${cpu_isa%%_*}" # Then we replace "imafd" with "g" since "g" is a shorthand. cpu_isa="${cpu_isa/imafd/g}" # The final ISA output of the above example is "rv64gch". cpu="$cpu_uarch $cpu_isa" ;; "arm"* | "aarch64") if [[ $(trim "$distro") == Android* ]]; then # Android roms have modified cpuinfo that shows CPU model as a string cpu="$(awk -F':' '/Hardware/ {print $2; exit}' "$cpu_file")" else # ARM linux displays binary model code in cpuinfo, which needs to be decoded with lscpu if ! command -v python3 &> /dev/null; then cpu="$(lscpu | awk -F': ' '/Vendor ID/ {print $2; exit}' ) $(lscpu | awk -F': ' '/Model name/ {print $2; exit}')" else # Sometimes there are multiple CPU models (e.g. RK3399 has 4 A53 and 2 A72 cores) # However, I don't know how to implement this in awk, so I'll use python for now read -r -d '' py_script << END from subprocess import check_output def find(lines, label): for ln in lines: if ln.strip().startswith(label): t = ln.split(label)[-1].strip() return None if t == '-' else t return None if __name__ == '__main__': lscpu = check_output('lscpu').decode() vendor_id = find(lscpu.split('\n'), 'Vendor ID:') or None cpus = [] for model_desc in lscpu.split('Model name:'): lines = model_desc.split('\n') model = lines[0].strip() cores = find(lines, 'Core(s) per socket:') or find(lines, 'Core(s) per cluster:') if cores is None: continue cores = int(cores) cores *= int(find(lines, 'Socket(s):') or find(lines, 'Cluster(s):') or "1") if cores == -1: continue mhz = float(find(lines, 'CPU max MHz:') or find(lines, 'CPU min MHz:') or "0") speed = f'@ {mhz / 1000:.2f} GHz' if mhz > 0 else '' cpus.append(f'{vendor_id} {model} ({cores}) {speed}') print('\n'.join(cpus)) END tmp_cpus=$(python3 -c "$py_script") while IFS= read -r line; do prin "${subtitle:+${subtitle}}" "$line" done <<< "$tmp_cpus" return fi fi ;; esac # If cpu is not detected on a platform-specific bases, fallback to cpuinfo method [[ -z "$cpu" ]] && cpu="$(awk -F '\\s*: | @' '/model name|Model|uarch|Hardware|Processor|^cpu model|chip type|^cpu type/ { print $2; exit}' "$cpu_file")" [[ -z "$cpu" ]] && cpu="$(awk -F '\\s*: | @' '/Hardware/ {print $2; exit}' "$cpu_file")" speed_dir="/sys/devices/system/cpu/cpu0/cpufreq" # Select the right temperature file. for temp_dir in /sys/class/hwmon/*; do [[ "$(< "${temp_dir}/name")" =~ (cpu_thermal|coretemp|fam15h_power|k10temp) ]] && { temp_dirs=("$temp_dir"/temp*_input) temp_dir=${temp_dirs[0]} break } done # If on a Raspberry Pi... if grep -q "Raspberry Pi" /proc/device-tree/model; then temp_dir=/sys/class/thermal/thermal_zone0/temp fi # Get CPU speed. if [[ -d "$speed_dir" ]]; then # Fallback to bios_limit if $speed_type fails. speed="$(< "${speed_dir}/${speed_type}")" ||\ speed="$(< "${speed_dir}/bios_limit")" ||\ speed="$(< "${speed_dir}/scaling_max_freq")" ||\ speed="$(< "${speed_dir}/cpuinfo_max_freq")" speed="$((speed / 1000))" else case $kernel_machine in "sparc"*) # SPARC systems use a different file to expose clock speed information. speed_file="/sys/devices/system/cpu/cpu0/clock_tick" speed="$(($(< "$speed_file") / 1000000))" ;; *) speed="$(awk -F ': |\\.' '/cpu MHz|^clock/ {printf $2; exit}' "$cpu_file")" speed="${speed/MHz}" ;; esac fi # Get CPU temp. [[ -f "$temp_dir" ]] && deg="$(($(< "$temp_dir") * 100 / 10000))" # Get CPU cores. case $kernel_machine in "sparc"*) case $cpu_cores in # SPARC systems doesn't expose detailed topology information in # /proc/cpuinfo so I have to use lscpu here. "logical" | "on") cores="$(lscpu | awk -F ': *' '/^CPU\(s\)/ {print $2}')" ;; "physical") cores="$(lscpu | awk -F ': *' '/^Core\(s\) per socket/ {print $2}')" sockets="$(lscpu | awk -F ': *' '/^Socket\(s\)/ {print $2}')" cores="$((sockets * cores))" ;; esac ;; *) sockets="$(grep "physical id" /proc/cpuinfo | sort -u | wc -l)" case $cpu_cores in "logical" | "on") cores="$(grep -c "^processor" "$cpu_file")" ;; "physical") cores="$(awk '/^core id/&&!a[$0]++{++i} END {print i}' "$cpu_file")" ;; esac ;; esac ;; "Mac OS X"|"macOS") if [[ $osx_version == 10.[4-5]* ]]; then cpu="$(system_profiler SPHardwareDataType | grep CPU\ Type)" cpu="${cpu/CPU\ Type\:/}" speed="$(system_profiler SPHardwareDataType | grep CPU\ Speed)" speed="${speed/CPU\ Speed\:/}" speed="${speed/ MHz/}" speed="${speed/ GHz/}" cores="$(system_profiler SPHardwareDataType | grep Number\ Of\ CPUs)" cores="${cores/Number\ Of\ CPUs\:/}" else cpu="$(sysctl -n machdep.cpu.brand_string)" fi # Get CPU cores. case $cpu_cores in "logical" | "on") cores="$(sysctl -n hw.logicalcpu_max)" ;; "physical") cores="$(sysctl -n hw.physicalcpu_max)" ;; esac ;; "iPhone OS") case $kernel_machine in "iPhone1,"[1-2] | "iPod1,1"): "Samsung S5L8900 (1) @ 412MHz" ;; "iPhone2,1"): "Samsung S5PC100 (1) @ 600MHz" ;; "iPhone3,"[1-3] | "iPod4,1"): "Apple A4 (1) @ 800MHz" ;; "iPhone4,1" | "iPod5,1"): "Apple A5 (2) @ 800MHz" ;; "iPhone5,"[1-4]): "Apple A6 (2) @ 1.3GHz" ;; "iPhone6,"[1-2]): "Apple A7 (2) @ 1.3GHz" ;; "iPhone7,"[1-2]): "Apple A8 (2) @ 1.4GHz" ;; "iPhone8,"[1-4] | "iPad6,1"[12]): "Apple A9 (2) @ 1.85GHz" ;; "iPhone9,"[1-4] | "iPad7,"[5-6] | "iPad7,1"[1-2]): "Apple A10 Fusion (4) @ 2.34GHz" ;; "iPhone10,"[1-6]): "Apple A11 Bionic (6) @ 2.39GHz" ;; "iPhone11,"[2468] | "iPad11,"[1-4] | "iPad11,"[6-7]): "Apple A12 Bionic (6) @ 2.49GHz" ;; "iPhone12,"[1358]): "Apple A13 Bionic (6) @ 2.65GHz" ;; "iPhone13,"[1-4] | "iPad13,"[1-2]): "Apple A14 Bionic (6) @ 3.00GHz" ;; "iPhone14,"[2-8]): "Apple A15 Bionic (6) @ 3.23GHz" ;; "iPhone15,"[2-3]): "Apple A16 Bionic (6) @ 3.46GHz" ;; "iPad12,"[1-2]): "Apple A13 Bionic (6) @ 2.65GHz" ;; "iPad13,"[4-9]): "Apple M1 (8) @ 3.19GHz" ;; "iPad13,1"[0-1]): "Apple M1 (8) @ 3.19GHz" ;; "iPad13,1"[6-7]): "Apple M1 (8) @ 3.19GHz" ;; "iPad13,1"[8-9]): "Apple A14 Bionic (6) @ 3.00GHz" ;; "iPad14,"[1-2]): "Apple A15 Bionic (6) @ 3.23GHz" ;; "iPad14,"[3-6]): "Apple M2 (8) @ 3.49GHz" ;; "iPod2,1"): "Samsung S5L8720 (1) @ 533MHz" ;; "iPod3,1"): "Samsung S5L8922 (1) @ 600MHz" ;; "iPod7,1"): "Apple A8 (2) @ 1.1GHz" ;; "iPod9,1"): "Apple A10 Fusion (4) @ 1.64GHz" ;; "iPad1,"[1-2]): "Apple A4 (1) @ 1GHz" ;; "iPad2,"[1-7]): "Apple A5 (2) @ 1GHz" ;; "iPad3,"[1-3]): "Apple A5X (2) @ 1GHz" ;; "iPad3,"[4-6]): "Apple A6X (2) @ 1.4GHz" ;; "iPad4,"[1-3]): "Apple A7 (2) @ 1.4GHz" ;; "iPad4,"[4-9]): "Apple A7 (2) @ 1.4GHz" ;; "iPad5,"[1-2]): "Apple A8 (2) @ 1.5GHz" ;; "iPad5,"[3-4]): "Apple A8X (3) @ 1.5GHz" ;; "iPad6,"[3-4]): "Apple A9X (2) @ 2.16GHz" ;; "iPad6,"[7-8]): "Apple A9X (2) @ 2.26GHz" ;; "iPad7,"[1-4]): "Apple A10X Fusion (6) @ 2.39GHz" ;; "iPad8,"[1-8]): "Apple A12X Bionic (8) @ 2.49GHz" ;; "iPad8,9" | "iPad8,1"[0-2]): "Apple A12Z Bionic (8) @ 2.49GHz" ;; esac cpu="$_" ;; "BSD") # Get CPU name. cpu="$(sysctl -n hw.model)" cpu="${cpu/[0-9]\.*}" cpu="${cpu/ @*}" # Get CPU speed. speed="$(sysctl -n hw.cpuspeed)" [[ -z "$speed" ]] && speed="$(sysctl -n hw.clockrate)" # Get CPU cores. case $kernel_name in "OpenBSD"*) [[ "$(sysctl -n hw.smt)" == "1" ]] && smt="on" || smt="off" ncpufound="$(sysctl -n hw.ncpufound)" ncpuonline="$(sysctl -n hw.ncpuonline)" cores="${ncpuonline}/${ncpufound},\\xc2\\xa0SMT\\xc2\\xa0${smt}" ;; *) cores="$(sysctl -n hw.ncpu)" ;; esac # Get CPU temp. case $kernel_name in "FreeBSD"* | "DragonFly"* | "NetBSD"*) deg="$(sysctl -n dev.cpu.0.temperature)" deg="${deg/C}" ;; "OpenBSD"* | "Bitrig"*) deg="$(sysctl hw.sensors | \ awk -F'=|degC' '/(ksmn|adt|lm|cpu)0.temp0/ {printf("%2.1f", $2); exit}')" ;; esac ;; "Solaris" | "illumos") # Get CPU name. cpu="$(psrinfo -pv)" cpu="${cpu//*$'\n'}" cpu="${cpu/[0-9]\.*}" cpu="${cpu/ @*}" cpu="${cpu/\(portid*}" # Get CPU speed. speed="$(psrinfo -v | awk '/operates at/ {print $6; exit}')" # Get CPU cores. case $cpu_cores in "logical" | "on") cores="$(kstat -m cpu_info | grep -c -F "chip_id")" ;; "physical") cores="$(psrinfo -p)" ;; esac ;; "Haiku") # Get CPU name. cpu="$(sysinfo -cpu | awk -F '\\"' '/CPU #0/ {print $2}')" cpu="${cpu/@*}" # Get CPU speed. speed="$(sysinfo -cpu | awk '/running at/ {print $NF; exit}')" speed="${speed/MHz}" # Get CPU cores. cores="$(sysinfo -cpu | grep -c -F 'CPU #')" ;; "AIX") # Get CPU name. cpu="$(lsattr -El proc0 -a type | awk '{printf $2}')" # Get CPU speed. speed="$(prtconf -s | awk -F':' '{printf $2}')" speed="${speed/MHz}" # Get CPU cores. case $cpu_cores in "logical" | "on") cores="$(lparstat -i | awk -F':' '/Online Virtual CPUs/ {printf $2}')" ;; "physical") cores="$(lparstat -i | awk -F':' '/Active Physical CPUs/ {printf $2}')" ;; esac ;; "IRIX") # Get CPU name. cpu="$(hinv -c processor | awk -F':' '/CPU:/ {printf $2}')" # Get CPU speed. speed="$(hinv -c processor | awk '/MHZ/ {printf $2}')" # Get CPU cores. cores="$(sysconf NPROC_ONLN)" ;; "FreeMiNT") cpu="$(awk -F':' '/CPU:/ {printf $2}' /kern/cpuinfo)" speed="$(awk -F '[:.M]' '/Clocking:/ {printf $2}' /kern/cpuinfo)" ;; "Interix") cpu="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe cpu get Name)" cpu="${cpu/Name}" speed="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe cpu get CurrentClockSpeed)" speed="${speed/CurrentClockSpeed}" cores="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe cpu get NumberOfCores)" cores="${cores/NumberOfCores}" ;; esac # Remove un-needed patterns from cpu output. cpu="${cpu//(TM)}" cpu="${cpu//(tm)}" cpu="${cpu//(R)}" cpu="${cpu//(r)}" cpu="${cpu//CPU}" cpu="${cpu//Processor}" cpu="${cpu//Dual-Core}" cpu="${cpu//Quad-Core}" cpu="${cpu//Six-Core}" cpu="${cpu//Eight-Core}" cpu="${cpu//[1-9][0-9]-Core}" cpu="${cpu//[0-9]-Core}" cpu="${cpu//, * Compute Cores}" cpu="${cpu//Core / }" cpu="${cpu//(\"AuthenticAMD\"*)}" cpu="${cpu//with Radeon*Graphics}" cpu="${cpu//, altivec supported}" cpu="${cpu//FPU*}" cpu="${cpu//Chip Revision*}" cpu="${cpu//Technologies, Inc}" cpu="${cpu//Core2/Core 2}" # Trim spaces from core and speed output cores="${cores//[[:space:]]}" speed="${speed//[[:space:]]}" # Remove CPU brand from the output. if [[ "$cpu_brand" == "off" ]]; then cpu="${cpu/AMD }" cpu="${cpu/Intel }" cpu="${cpu/Core? Duo }" cpu="${cpu/Qualcomm }" fi # Add CPU cores to the output. [[ "$cpu_cores" != "off" && "$cores" ]] && \ case $os in "Mac OS X"|"macOS") if [[ $(uname -m) == 'arm64' ]]; then cpu="$cpu ($cores)" else cpu="${cpu/@/(${cores}) @}" fi ;; *) # If socket information is present and more than 1, display cpu count first if [[ $sockets ]] && [[ $sockets -gt 1 ]]; then cpu="${sockets}x $cpu ($((cores / sockets)))" else cpu="$cpu ($cores)" fi ;; esac # Add CPU speed to the output. if [[ "$cpu_speed" != "off" && "$speed" ]]; then if (( speed < 1000 )); then cpu="$cpu @ ${speed}MHz" else [[ "$speed_shorthand" == "on" ]] && speed="$((speed / 100))" speed="${speed:0:1}.${speed:1}" cpu="$cpu @ ${speed}GHz" fi fi # Add CPU temp to the output. if [[ "$cpu_temp" != "off" && "$deg" ]]; then deg="${deg//.}" # Convert to Fahrenheit if enabled [[ "$cpu_temp" == "F" ]] && deg="$((deg * 90 / 50 + 320))" # Format the output deg="[${deg/${deg: -1}}.${deg: -1}°${cpu_temp:-C}]" cpu="$cpu $deg" fi } get_gpu() { case $os in "Linux") # Read GPUs into array. gpu_cmd="$(lspci -mm | awk -F '\"|\" \"|\\(' \ '/"Display|"3D|"VGA/ { a[$0] = $1 " " $3 " " ($(NF-1) ~ /^$|^Device [[:xdigit:]]+$/ ? $4 : $(NF-1)) } END { for (i in a) { if (!seen[a[i]]++) { sub("^[^ ]+ ", "", a[i]); print a[i] } }}')" if [[ "$gpu_cmd" == "" ]]; then gpu_cmd="$(glxinfo -B | grep -F 'OpenGL renderer string')" gpu_cmd="${gpu_cmd/OpenGL renderer string: }" fi IFS=$'\n' read -d "" -ra gpus <<< "$gpu_cmd" # Remove duplicate Intel Graphics outputs. # This fixes cases where the outputs are both # Intel but not entirely identical. # # Checking the first two array elements should # be safe since there won't be 2 intel outputs if # there's a dedicated GPU in play. [[ "${gpus[0]}" == *Intel* && "${gpus[1]}" == *Intel* ]] && unset -v "gpus[0]" for gpu in "${gpus[@]}"; do # GPU shorthand tests. [[ "$gpu_type" == "dedicated" && "$gpu" == *Intel* ]] || \ [[ "$gpu_type" == "integrated" && ! "$gpu" == *Intel* ]] && \ { unset -v gpu; continue; } case $gpu in *"Advanced"*) brand="${gpu/*AMD*ATI*/AMD ATI}" brand="${brand:-${gpu/*AMD*/AMD}}" brand="${brand:-${gpu/*ATI*/ATi}}" gpu="${gpu/\[AMD\/ATI\] }" gpu="${gpu/\[AMD\] }" gpu="${gpu/OEM }" gpu="${gpu/Advanced Micro Devices, Inc.}" gpu="${gpu/*\[}" gpu="${gpu/\]*}" gpu="$brand $gpu" ;; *"NVIDIA"*) gpu="${gpu/*NVIDIA}" gpu="${gpu/*\[}" gpu="${gpu/\]*}" gpu="NVIDIA $gpu" ;; *"Intel"*) gpu="${gpu/*Intel/Intel}" gpu="${gpu/\(R\)}" gpu="${gpu/Corporation}" gpu="${gpu/ \(*}" gpu="${gpu/Integrated Graphics Controller}" gpu="${gpu/*Xeon*/Intel HD Graphics}" [[ -z "$(trim "$gpu")" ]] && gpu="Intel Integrated Graphics" ;; *"MCST"*) gpu="${gpu/*MCST*MGA2*/MCST MGA2}" ;; *"VirtualBox"*) gpu="VirtualBox Graphics Adapter" ;; *) continue ;; esac if [[ "$gpu_brand" == "off" ]]; then gpu="${gpu/AMD }" gpu="${gpu/NVIDIA }" gpu="${gpu/Intel }" fi prin "${subtitle:+${subtitle}${gpu_name}}" "$gpu" done return ;; "Mac OS X"|"macOS") if [[ -f "${cache_dir}/neofetch/gpu" ]]; then source "${cache_dir}/neofetch/gpu" else if [[ $(uname -m) == 'arm64' ]]; then chipset=$(system_profiler SPDisplaysDataType | awk '/Chipset Model/ { printf "%s %s %s", $3, $4, $5 }') cores=$(system_profiler SPDisplaysDataType | awk '/Total Number of Cores/ { printf "%d", $5 }') gpu="${chipset} (${cores})" else gpu="$(system_profiler SPDisplaysDataType |\ awk -F': ' '/^\ *Chipset Model:/ {printf $2 ", "}')" gpu="${gpu//\/ \$}" gpu="${gpu%,*}" fi cache "gpu" "$gpu" fi ;; "iPhone OS") case $kernel_machine in "iPhone1,"[1-2]): "PowerVR MBX Lite 3D" ;; "iPhone2,1" | "iPhone3,"[1-3] | "iPod3,1" | "iPod4,1" | "iPad1,"[1-2]): "PowerVR SGX535" ;; "iPhone4,1" | "iPad2,"[1-7] | "iPod5,1"): "PowerVR SGX543MP2" ;; "iPhone5,"[1-4]): "PowerVR SGX543MP3" ;; "iPhone6,"[1-2] | "iPad4,"[1-9]): "PowerVR G6430" ;; "iPhone7,"[1-2] | "iPod7,1" | "iPad5,"[1-2]): "PowerVR GX6450" ;; "iPhone8,"[1-4] | "iPad6,1"[12]): "PowerVR GT7600" ;; "iPhone9,"[1-4] | "iPad7,"[5-6]): "PowerVR GT7600 Plus" ;; "iPhone10,"[1-6]): "Apple Designed GPU (A11)" ;; "iPhone11,"[2468] | "iPad11,"[123467]): "Apple Designed GPU (A12)" ;; "iPhone12,"[1358] | "iPad12,"[12]): "Apple Designed GPU (A13)" ;; "iPhone13,"[1234] | "iPad13,"[12]): "Apple Designed GPU (A14)" ;; "iPad3,"[1-3]): "PowerVR SGX534MP4" ;; "iPad3,"[4-6]): "PowerVR SGX554MP4" ;; "iPad5,"[3-4]): "PowerVR GXA6850" ;; "iPad6,"[3-8]): "PowerVR 7XT" ;; "iPad8,"[1-8]): "Apple Designed GPU (A12X)" ;; "iPad8,9" | "iPad8,1"[0-2]): "Apple Designed GPU (A12Z)" ;; "iPad13,"[4-9] | "iPad13,1"[0-1]): "Apple Designed GPU (M1)" ;; "iPad14,"[1-2]): "Apple Designed GPU (A15)" ;; "iPad14,"[3-6]): "Apple Designed GPU (M2)" ;; "iPod1,1" | "iPod2,1") : "PowerVR MBX Lite" ;; esac gpu="$_" ;; "Windows") wmic path Win32_VideoController get caption | while read -r line; do line=$(trim "$line") case $line in *Caption*|'') continue ;; *) prin "${subtitle:+${subtitle}${gpu_name}}" "$line" ;; esac done ;; "Interix") /dev/fs/C/Windows/System32/wbem/WMIC.exe path Win32_VideoController get caption | while read -r line; do line=$(trim "$line") case $line in *Caption*|'') continue ;; *) prin "${subtitle:+${subtitle}${gpu_name}}" "$line" ;; esac done ;; "Haiku") gpu="$(listdev | grep -A2 -F 'device Display controller' |\ awk -F':' '/device beef/ {print $2}')" ;; *) case $kernel_name in "FreeBSD"* | "DragonFly"*) gpu="$(pciconf -lv | grep -B 4 -F "VGA" | grep -F "device")" gpu="${gpu/*device*= }" gpu="$(trim_quotes "$gpu")" ;; *) gpu="$(glxinfo -B | grep -F 'OpenGL renderer string')" gpu="${gpu/OpenGL renderer string: }" ;; esac ;; esac if [[ "$gpu_brand" == "off" ]]; then gpu="${gpu/AMD}" gpu="${gpu/NVIDIA}" gpu="${gpu/Intel}" fi } get_memory() { case $os in "Linux" | "Windows") # MemUsed = Memtotal + Shmem - MemFree - Buffers - Cached - SReclaimable # Source: https://github.com/KittyKatt/screenFetch/issues/386#issuecomment-249312716 while IFS=":" read -r a b; do case $a in "MemTotal") ((mem_used+=${b/kB})); mem_total="${b/kB}" ;; "Shmem") ((mem_used+=${b/kB})) ;; "MemFree" | "Buffers" | "Cached" | "SReclaimable") mem_used="$((mem_used-${b/kB}))" ;; # Available since Linux 3.14rc (34e431b0ae398fc54ea69ff85ec700722c9da773). # If detected this will be used over the above calculation for mem_used. "MemAvailable") mem_avail=${b/kB} ;; esac done < /proc/meminfo [[ $mem_avail ]] && mem_used=$((mem_total - mem_avail)) ;; "Mac OS X" | "macOS" | "iPhone OS") hw_pagesize="$(sysctl -n hw.pagesize)" mem_total="$(($(sysctl -n hw.memsize) / 1024))" pages_app="$(($(sysctl -n vm.page_pageable_internal_count) - $(sysctl -n vm.page_purgeable_count)))" pages_wired="$(vm_stat | awk '/ wired/ { print $4 }')" pages_compressed="$(vm_stat | awk '/ occupied/ { printf $5 }')" pages_compressed="${pages_compressed:-0}" mem_used="$(((pages_app + ${pages_wired//.} + ${pages_compressed//.}) * hw_pagesize / 1024))" ;; "BSD" | "MINIX" | "ravynOS") # Mem total. case $kernel_name in "NetBSD"*) mem_total="$(($(sysctl -n hw.physmem64) / 1024))" ;; *) mem_total="$(($(sysctl -n hw.physmem) / 1024))" ;; esac # Mem free. case $kernel_name in "NetBSD"*) mem_free="$(awk -F ':|kB' '/MemFree:/ {printf $2}' /proc/meminfo)" ;; "FreeBSD"* | "DragonFly"*) hw_pagesize="$(sysctl -n hw.pagesize)" mem_inactive="$(($(sysctl -n vm.stats.vm.v_inactive_count) * hw_pagesize))" mem_unused="$(($(sysctl -n vm.stats.vm.v_free_count) * hw_pagesize))" mem_cache="$(($(sysctl -n vm.stats.vm.v_cache_count) * hw_pagesize))" mem_free="$(((mem_inactive + mem_unused + mem_cache) / 1024))" ;; "MINIX") mem_free="$(top -d 1 | awk -F ',' '/^Memory:/ {print $2}')" mem_free=$(("${mem_free/M Free}" * 1024)) ;; "OpenBSD"*) ;; *) mem_free="$(vmstat | awk 'END {printf $5}')" ;; esac # Mem used. case $kernel_name in "OpenBSD"*) mem_used="$(vmstat | awk 'END {printf $3}')" mem_used=$(("${mem_used/M}" * 1024)) ;; *) mem_used="$((mem_total - mem_free))" ;; esac ;; "Solaris" | "illumos" | "AIX") hw_pagesize="$(pagesize)" case $os in "Solaris" | "illumos") pages_total="$(kstat -p unix:0:system_pages:pagestotal | awk '{print $2}')" pages_free="$(kstat -p unix:0:system_pages:pagesfree | awk '{print $2}')" ;; "AIX") IFS=$'\n'"| " read -d "" -ra mem_stat <<< "$(svmon -G -O unit=page)" pages_total="${mem_stat[11]}" pages_free="${mem_stat[16]}" ;; esac mem_total="$((pages_total * hw_pagesize / 1024))" mem_free="$((pages_free * hw_pagesize / 1024))" mem_used="$((mem_total - mem_free))" ;; "Haiku") mem_total="$(($(sysinfo -mem | awk -F '\\/ |)' '{print $2; exit}') / 1024))" mem_used="$(sysinfo -mem | awk -F '\\/|)' '{print $2; exit}')" mem_used="$((${mem_used/max} / 1024))" ;; "IRIX") IFS=$'\n' read -d "" -ra mem_cmd <<< "$(pmem)" IFS=" " read -ra mem_stat <<< "${mem_cmd[0]}" mem_total="${mem_stat[3]}" mem_free="${mem_stat[5]}" mem_used="$((mem_total - mem_free))" ;; "FreeMiNT") mem="$(awk -F ':|kB' '/MemTotal:|MemFree:/ {printf $2, " "}' /kern/meminfo)" mem_free="${mem/* }" mem_total="${mem/$mem_free}" mem_used="$((mem_total - mem_free))" ;; "Interix") mem_total="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe computersystem get TotalPhysicalMemory)" mem_total="${mem_total//[[:space:]]}" mem_total="${mem_total/TotalPhysicalMemory}" mem_total="$((mem_total / 1024 / 1024))" mem_free="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe os get FreePhysicalMemory)" mem_free="${mem_free//[[:space:]]}" mem_free="${mem_free/FreePhysicalMemory}" mem_free="$((mem_free / 1024))" mem_used="$((mem_total - mem_free))" ;; esac [[ "$memory_percent" == "on" ]] && ((mem_perc=mem_used * 100 / mem_total)) # Creates temp variables: mem_unit_divider, mem_unit_multiplier mem_unit_divider=1 mem_unit_multiplier=$((10 ** mem_precision)) # Keep a copy of the original kibibyte values because progress bar needs them mu_kib="$mem_used" mt_kib="$mem_total" case $memory_unit in tib) mem_label=TiB mem_unit_divider=$((1024 * 1024 * 1024)) ;; gib) mem_label=GiB mem_unit_divider=$((1024 * 1024)) ;; kib) ;; *) mem_label=MiB mem_unit_divider=1024 ;; esac # Uses temp variables from above: mem_unit_divider, mem_unit_multiplier if test "$mem_unit_divider" -ge 1; then case ${mem_precision} in 0) mem_used="$((mem_used / mem_unit_divider))" mem_total="$((mem_total / mem_unit_divider))" ;; *) mem_used="$((mem_used / mem_unit_divider)).$(printf "%0*d" "${mem_precision}" \ $((mem_used % mem_unit_divider * mem_unit_multiplier / mem_unit_divider)))" mem_total="$((mem_total / mem_unit_divider)).$(printf "%0*d" "${mem_precision}" \ $((mem_total % mem_unit_divider * mem_unit_multiplier / mem_unit_divider)))" ;; esac fi memory="${mem_used} ${mem_label:-KiB} / ${mem_total} ${mem_label:-KiB} ${mem_perc:+(${mem_perc}%)}" # Bars. case $memory_display in "bar") memory="$(bar "${mu_kib}" "${mt_kib}")" ;; "infobar") memory="${memory} $(bar "${mu_kib}" "${mt_kib}")" ;; "barinfo") memory="$(bar "${mu_kib}" "${mt_kib}")${info_color} ${memory}" ;; esac } get_network() { case $os in "Linux") while IFS= read -r i; do # List all operational, physical devices if [ "$(cat "$i/operstate")" = "up" ] && [ -e "$i/device" ]; then if [ ! -e "$i/phy80211" ]; then networks+="$(cat "$i/speed")" else networks+="Wifi" phy="$(cat "$i/phy80211/name")" (iw "$phy" info | grep -qF 'VHT Capabilities') && networks+='6' fi networks+=$'\n' fi done < <(find /sys/class/net/ -type l) ;; "Mac OS X"|"macOS") ActiveNetwork=$(route get default | grep interface | awk '{print $2}') ActiveNetworkName=$(networksetup -listallhardwareports | grep -B 1 "$ActiveNetwork" | awk '/Hardware Port/{print}'| awk '{print $3}') if [[ $ActiveNetworkName == "Wi-Fi" ]]; then LinkSpeed="$(/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I | awk '/maxRate/{print}' | awk '{print $2}' )Mbps" else LinkSpeed="$(ifconfig "$ActiveNetwork" | awk '/media/{print}' | sed -E "s/.*\((.*)\).*/\1/")" fi network="$ActiveNetwork: $ActiveNetworkName@$LinkSpeed" ;; esac while IFS=' ' read -r n i; do if [ -n "$i" ]; then [ "$n" -gt 1 ] && network+="${n}x " if [ "$i" = "Wifi" ]; then network+="Wifi; " elif [ "$i" = "Wifi6" ]; then network+="Wifi6; " elif [ "$i" = "-1" ]; then network+="Unknown; " elif [ "${i%000}" = "$i" ]; then network+="$i Mbps; " elif [ "$i" = "2500" ]; then network+="2.5 Gbps; " else network+="${i%000} Gbps; " fi fi done < <(sort -rn <<<"$networks" | uniq -c) if [ -n "$network" ]; then network="${network%; }" fi } get_bluetooth() { # Find bluetooth using lsusb if command -v lsusb &> /dev/null; then bluetooth="$(lsusb | cut -c34- | grep -i bluetooth)" fi # Remove "Bluetooth" suffix bluetooth="${bluetooth%[Bb]luetooth}" } get_song() { players=( "amarok" "audacious" "banshee" "bluemindo" "clementine" "cmus" "deadbeef" "deepin-music" "dragon" "elisa" "exaile" "gnome-music" "gmusicbrowser" "gogglesmm" "guayadeque" "io.elementary.music" "iTunes" "Music" "juk" "lollypop" "MellowPlayer" "mocp" "mopidy" "mpd" "muine" "netease-cloud-music" "olivia" "plasma-browser-integration" "playerctl" "pogo" "pragha" "qmmp" "quodlibet" "rhythmbox" "sayonara" "smplayer" "spotify" "Spotify" "strawberry" "tauonmb" "tomahawk" "tidal-hifi" "vlc" "xmms2d" "xnoise" "yarock" ) printf -v players "|%s" "${players[@]}" player="$(ps aux | awk -v pattern="(${players:1})" \ '!/ awk / && !/iTunesHelper/ && match($0,pattern){print substr($0,RSTART,RLENGTH); exit}')" [[ "$music_player" && "$music_player" != "auto" ]] && player="$music_player" get_song_dbus() { # Multiple players use an almost identical dbus command to get the information. # This function saves us using the same command throughout the function. song="$(\ dbus-send --print-reply --dest=org.mpris.MediaPlayer2."${1}" /org/mpris/MediaPlayer2 \ org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' \ string:'Metadata' |\ awk -F '"' 'BEGIN {RS=" entry"}; /"xesam:artist"/ {a = $4} /"xesam:album"/ {b = $4} /"xesam:title"/ {t = $4} END {print a " \n" b " \n" t}' )" } case ${player/*\/} in "mocp"*) song="$(mocp -Q '%artist \n%album \n%song')" ;; "deadbeef"*) song="$(deadbeef --nowplaying-tf '%artist% \\n%album% \\n%title%')" ;; "qmmp"*) song="$(qmmp --nowplaying '%p \n%a \n%t')" ;; "gnome-music"*) get_song_dbus "GnomeMusic" ;; "lollypop"*) get_song_dbus "Lollypop" ;; "clementine"*) get_song_dbus "clementine" ;; "juk"*) get_song_dbus "juk" ;; "bluemindo"*) get_song_dbus "Bluemindo" ;; "guayadeque"*) get_song_dbus "guayadeque" ;; "yarock"*) get_song_dbus "yarock" ;; "deepin-music"*) get_song_dbus "DeepinMusic" ;; "tomahawk"*) get_song_dbus "tomahawk" ;; "elisa"*) get_song_dbus "elisa" ;; "sayonara"*) get_song_dbus "sayonara" ;; "audacious"*) get_song_dbus "audacious" ;; "vlc"*) get_song_dbus "vlc" ;; "gmusicbrowser"*) get_song_dbus "gmusicbrowser" ;; "pragha"*) get_song_dbus "pragha" ;; "amarok"*) get_song_dbus "amarok" ;; "dragon"*) get_song_dbus "dragonplayer" ;; "smplayer"*) get_song_dbus "smplayer" ;; "rhythmbox"*) get_song_dbus "rhythmbox" ;; "strawberry"*) get_song_dbus "strawberry" ;; "gogglesmm"*) get_song_dbus "gogglesmm" ;; "xnoise"*) get_song_dbus "xnoise" ;; "tauonmb"*) get_song_dbus "tauon" ;; "tidal-hifi"*) get_song_dbus "tidal-hifi" ;; "olivia"*) get_song_dbus "olivia" ;; "exaile"*) get_song_dbus "exaile" ;; "netease-cloud-music"*) get_song_dbus "netease-cloud-music" ;; "plasma-browser-integration"*) get_song_dbus "plasma-browser-integration" ;; "io.elementary.music"*) get_song_dbus "Music" ;; "MellowPlayer"*) get_song_dbus "MellowPlayer3" ;; "mpd"* | "mopidy"*) song="$(mpc -f '%artist% \n%album% \n%title%' current "${mpc_args[@]}")" ;; "xmms2d"*) song="$(xmms2 current -f "\${artist}"$' \n'"\${album}"$' \n'"\${title}")" ;; "cmus"*) # NOTE: cmus >= 2.8.0 supports mpris2 song="$(cmus-remote -Q | awk '/tag artist/ {$1=$2=""; a=$0} /tag album / {$1=$2=""; b=$0} /tag title/ {$1=$2=""; t=$0} END {print a " \n" b " \n" t}')" ;; "spotify"*) case $os in "Linux") get_song_dbus "spotify" ;; "Mac OS X"|"macOS") song="$(osascript -e 'tell application "Spotify" to artist of current track as¬ string & "\n" & album of current track as¬ string & "\n" & name of current track as string')" ;; esac ;; "itunes"*) song="$(osascript -e 'tell application "iTunes" to artist of current track as¬ string & "\n" & album of current track as¬ string & "\n" & name of current track as string')" ;; "music"*) song="$(osascript -e 'tell application "Music" to artist of current track as¬ string & "\n" & album of current track as¬ string & "\n" & name of current track as string')" ;; "banshee"*) song="$(banshee --query-artist --query-album --query-title |\ awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2} END {print a " \n" b " \n"t}')" ;; "muine"*) song="$(dbus-send --print-reply --dest=org.gnome.Muine /org/gnome/Muine/Player \ org.gnome.Muine.Player.GetCurrentSong | awk -F':' '/^artist/ {a=$2} /^album/ {b=$2} /^title/ {t=$2} END {print a " \n" b " \n" t}')" ;; "quodlibet"*) song="$(dbus-send --print-reply --dest=net.sacredchao.QuodLibet \ /net/sacredchao/QuodLibet net.sacredchao.QuodLibet.CurrentSong |\ awk -F'"' 'BEGIN {RS=" entry"}; /"artist"/ {a=$4} /"album"/ {b=$4} /"title"/ {t=$4} END {print a " \n" b " \n" t}')" ;; "pogo"*) song="$(dbus-send --print-reply --dest=org.mpris.pogo /Player \ org.freedesktop.MediaPlayer.GetMetadata | awk -F'"' 'BEGIN {RS=" entry"}; /"artist"/ {a=$4} /"album"/ {b=$4} /"title"/ {t=$4} END {print a " \n" b " \n" t}')" ;; "playerctl"*) song="$(playerctl metadata --format '{{ artist }} \n{{ album }} \n{{ title }}')" ;; *) mpc &>/dev/null && song="$(mpc -f '%artist% \n%album% \n%title%' current)" || return ;; esac IFS=$'\n' read -d "" -r artist album title <<< "${song//'\n'/$'\n'}" # Make sure empty tags are truly empty. artist="$(trim "$artist")" album="$(trim "$album")" title="$(trim "$title")" # Set default values if no tags were found. : "${artist:=Unknown Artist}" "${album:=Unknown Album}" "${title:=Unknown Song}" # Display Artist, Album and Title on separate lines. if [[ "$song_shorthand" == "on" ]]; then prin "Artist" "$artist" prin "Album" "$album" prin "Song" "$title" else song="${song_format/\%artist\%/$artist}" song="${song/\%album\%/$album}" song="${song/\%title\%/$title}" fi } get_resolution() { case $os in "Mac OS X"|"macOS") resolution="" temp_plist="/tmp/neofetch_system_profiler_SPDisplaysDataType.xml" # PlistBuddy doesn't support reading from /dev/stdin if system_profiler SPDisplaysDataType -xml > $temp_plist; then for ((gpu=0; gpu<999; gpu++)); do if PlistBuddy -c "print 0:_items:${gpu}" $temp_plist &> /dev/null; then for ((display=0; display<999; display++)); do if spdisplays_resolution="$(PlistBuddy -c "print 0:_items:${gpu}:spdisplays_ndrvs:${display}:_spdisplays_resolution" $temp_plist)" 2>/dev/null; then spdisplays_resolution="${spdisplays_resolution//.[0-9][0-9]/}" if spdisplays_pixels="$(PlistBuddy -c "print 0:_items:${gpu}:spdisplays_ndrvs:${display}:_spdisplays_pixels" $temp_plist)" 2>/dev/null; then scaled_x="$(echo "$spdisplays_resolution" | awk '{print $1}')" output_x="$(echo "$spdisplays_pixels" | awk '{print $1}')" (( scale_factor=output_x/scaled_x )) if [[ $scale_factor -gt 1 ]]; then if [[ "$spdisplays_resolution" == *"@"* ]]; then spdisplays_resolution="${spdisplays_resolution// @/ @${scale_factor}x @}" else spdisplays_resolution="${spdisplays_resolution} @ ${scale_factor}x" fi fi fi spdisplays_resolution="${spdisplays_resolution// x /x}" [[ $gpu -gt 0 || $display -gt 0 ]] && resolution+=", " resolution+="${spdisplays_resolution}" else break fi done else break fi done if [[ "$refresh_rate" == "off" ]]; then resolution="${resolution/ @ [0-9][0-9][0.9]Hz}" resolution="${resolution/ @ [0-9][0.9]Hz}" resolution="${resolution/ @ [0-9]Hz}" else resolution="${resolution// @ 0Hz}" fi rm $temp_plist fi ;; "iPhone OS") case $kernel_machine in "iPhone1,"[1-2] | "iPhone2,1" | "iPod"[1-3]",1"): "320x480" ;; "iPhone3,"[1-3] | "iPhone4,1" | "iPod4,1"): "640x960" ;; "iPhone5,"[1-4] | "iPhone6,"[1-2] | "iPhone8,4" | "iPod"[5-7]",1" | "iPod9,1"): "640x1136" ;; "iPad1,"[1-2] | "iPad2,"[1-7]): "768x1024" ;; "iPhone10,1" | "iPhone10,4" | "iPhone9,1" | "iPhone9,3" | "iPhone8,1" | "iPhone7,2" | "iPhone12,8" | "iPhone14,6"): "750x1334" ;; "iPhone11,8" | "iPhone12,1"): "828x1792" ;; "iPhone7,1" | "iPhone8,2" | "iPhone9,2" | "iPhone9,4" | "iPhone10,2"): "1080x1920" ;; "iPhone13,1" | "iPhone14,4"): "1080x2340" ;; "iPhone10,3" | "iPhone10,6" | "iPhone11,2" | "iPhone12,3"): "1125x2436" ;; "iPhone13,"[2-3] | "iPhone14,2" | "iPhone14,5" | "iPhone14,7"): "1170x2532" ;; "iPhone15,2"): "1179x2556" ;; "iPad4,"[1-9] | "iPad3,"[1-6] | "iPad6,"[3-4] | "iPad6,1"[1-2] | "iPad5,"[1-4] | "iPad7,"[5-6] | "iPad11,"[1-2]): "1536x2048" ;; "iPhone11,4" | "iPhone11,6" | "iPhone12,5"): "1242x2688" ;; "iPad14,"[1-2]): "1488x2266" ;; "iPad7,1"[1-2] | "iPad11,"[6-7] | "iPad12,"[1-2]): "1620x2160" ;; "iPhone13,4" | "iPhone14,3" | "iPhone14,8"): "1284x2778" ;; "iPhone15,3"): "1290x2796" ;; "iPad11,"[3-4] | "iPad7,"[3-4]): "1668x2224" ;; "iPad13,"[1-2] | "iPad13,1"[6-9]): "1640x2360" ;; "iPad8,"[1-4] | "iPad8,"[9-10] | "iPad13,"[4-7] | "iPad14,"[3-6]): "1668x2388" ;; "iPad6,"[7-8] | "iPad7,"[1-2] | "iPad8,"[5-8] | "iPad8,1"[1-2] | "iPad13,"[8-9] | "iPad13,1"[0-1] | "iPad14,"[5-6]): "2048x2732" ;; esac resolution="$_" ;; "Windows") IFS=$'\n' read -d "" -ra sw \ <<< "$(wmic path Win32_VideoController get CurrentHorizontalResolution)" IFS=$'\n' read -d "" -ra sh \ <<< "$(wmic path Win32_VideoController get CurrentVerticalResolution)" sw=("${sw[@]//CurrentHorizontalResolution}") sh=("${sh[@]//CurrentVerticalResolution}") for ((mn = 0; mn < ${#sw[@]}; mn++)) { [[ ${sw[mn]//[[:space:]]} && ${sh[mn]//[[:space:]]} ]] && resolution+="${sw[mn]//[[:space:]]}x${sh[mn]//[[:space:]]}, " } resolution=${resolution%,} ;; "Haiku") resolution="$(screenmode | awk -F ' |, ' 'END{printf $2 "x" $3 " @ " $6 $7}')" [[ "$refresh_rate" == "off" ]] && resolution="${resolution/ @*}" ;; "FreeMiNT") # Need to block X11 queries ;; *) if type -p xrandr >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then case $refresh_rate in "on") resolution="$(xrandr --nograb --current |\ awk 'match($0,/[0-9]*\.[0-9]*\*/) { printf $1 " @ " substr($0,RSTART,RLENGTH) "Hz, "}')" ;; "off") resolution="$(xrandr --nograb --current |\ awk -F 'connected |\\+|\\(' \ '/ connected.*[0-9]+x[0-9]+\+/ && $2 {printf $2 ", "}')" resolution="${resolution/primary, }" resolution="${resolution/primary }" ;; esac resolution="${resolution//\*}" elif type -p xwininfo >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then read -r w h \ <<< "$(xwininfo -root | awk -F':' '/Width|Height/ {printf $2}')" resolution="${w}x${h}" elif type -p xdpyinfo >/dev/null && [[ $DISPLAY && -z $WAYLAND_DISPLAY ]]; then resolution="$(xdpyinfo | awk '/dimensions:/ {printf $2}')" elif [[ -d /sys/class/drm ]]; then for dev in /sys/class/drm/*/modes; do read -r single_resolution _ < "$dev" [[ $single_resolution ]] && resolution="${single_resolution}, ${resolution}" done fi ;; esac resolution="${resolution%%,}" resolution="${resolution%%, }" [[ -z "${resolution/x}" ]] && resolution= } get_style() { # Fix weird output when the function is run multiple times. unset qt_theme gtk2_theme gtk3_theme theme path if [[ "$DISPLAY" && $os != "Mac OS X" && $os != "macOS" ]]; then # Get DE if user has disabled the function. ((de_run != 1)) && get_de # Remove version from '$de'. [[ $de_version == on ]] && de=${de/ *} # Check for DE Theme. case $de in "KDE"* | "Plasma"*) kde_config_dir if [[ -f "${kde_config_dir}/kdeglobals" ]]; then kde_config_file="${kde_config_dir}/kdeglobals" qt_theme="$(grep "^${kde}" "$kde_config_file")" qt_theme="${qt_theme/*=}" if [[ "$kde" == "widgetStyle" ]] && grep -q "\[Theme\]" "$HOME/.config/plasmarc"; then kde_theme="$(awk '/name=/ {gsub(/name=/,"",$0);print $0;exit}' "$HOME/.config/plasmarc")" else kde_theme="$(grep "^${kde}" "$kde_config_file")" kde_theme="${kde_theme/*=}" fi if [[ "$kde" == "font" ]]; then kde_font_size="${kde_theme#*,}" kde_font_size="${kde_font_size/,*}" kde_theme="${kde_theme/,*} ${kde_theme/*,} ${kde_font_size}" fi if [[ "$kde" == "cursorTheme" ]]; then if [[ -f "${kde_config_dir}/kcminputrc" ]]; then kde_config_file="${kde_config_dir}/kcminputrc" elif [[ -f "${kde_config_dir}/startupconfig" ]]; then kde="cursortheme" kde_config_file="${kde_config_dir}/startupconfig" fi kde_theme="$(grep "${kde}" "$kde_config_file")" kde_theme="${kde_theme/*=}" fi #kde_theme="$kde_theme [KDE], " else err "Theme: KDE config files not found, skipping." fi ;; *"Cinnamon"*) if type -p gsettings >/dev/null; then gtk3_theme="$(gsettings get org.cinnamon.desktop.interface "$gsettings")" gtk2_theme="$gtk3_theme" fi ;; "Gnome"* | "Unity"* | "Budgie"*) if type -p gsettings >/dev/null; then gtk3_theme="$(gsettings get org.gnome.desktop.interface "$gsettings")" gtk2_theme="$gtk3_theme" elif type -p gconftool-2 >/dev/null; then gtk2_theme="$(gconftool-2 -g /desktop/gnome/interface/"$gconf")" fi ;; "Mate"*) gtk3_theme="$(gsettings get org.mate.interface "$gsettings")" gtk2_theme="$gtk3_theme" ;; "Xfce"*) type -p xfconf-query >/dev/null && \ gtk2_theme="$(xfconf-query -c xsettings -p "$xfconf")" ;; "Trinity") tde_config_dir if [[ -f "${tde_config_dir}/kdeglobals" ]]; then tde_config_file="${tde_config_dir}/kdeglobals" qt_theme="$(grep "^${kde}" "$tde_config_file")" qt_theme="${qt_theme/*=}" else err "Theme: TDE config files not found, skipping." fi ;; "LXQt"*) shopt -s nullglob if ! qt_theme=$(awk -F "=" -v r="^$lxqt" ' $1~r { theme=$2 } END { print theme } ' {/etc/xdg,/etc/xdg/*,"$XDG_CONFIG_HOME"}/lxqt/lxqt.con?); then err "Theme: Can't read LXQt config files. Unsetting Qt theme." unset qt_theme fi shopt -u nullglob ;; "Fly") fly_config_file if [[ $fly == "ColorScheme" ]]; then fly_theme="$( basename "$( awk -F '=' '/^'"${fly}"'/{print $2}' "${HOME}/.fly/paletterc" )" )" if [[ $wm_theme == "Default" && $fly_theme != *"FlyDefault"* ]]; then fly_theme=$(awk -F '=' '/^'"${fly}"'/{print $2}'\ "${HOME}/.config/fly-admin-themerc") fi elif [[ $fly == "IconTheme" ]]; then fly_theme=$(awk -F '=' '/^'"${fly}"'/{print $2}' "${fly_config_file}") elif [[ $fly == "DefaultFont" ]]; then fly_theme=$(awk -F'=' '/^'"${fly}"'/\ {gsub(/"/, "", $2); \ sub(/-.*/, "", $2); \ print $2}' "${fly_config_file}") fi fly_theme+=" [$de], " ;; esac # Check for general GTK2 Theme. if [[ -z "$gtk2_theme" ]]; then if [[ -n "$GTK2_RC_FILES" ]]; then IFS=: read -ra rc_files <<< "$GTK2_RC_FILES" gtk2_theme="$(grep "^[^#]*${name}" "${rc_files[@]}")" elif [[ -f "${HOME}/.gtkrc-2.0" ]]; then gtk2_theme="$(grep "^[^#]*${name}" "${HOME}/.gtkrc-2.0")" elif [[ -f "/etc/gtk-2.0/gtkrc" ]]; then gtk2_theme="$(grep "^[^#]*${name}" /etc/gtk-2.0/gtkrc)" elif [[ -f "/usr/share/gtk-2.0/gtkrc" ]]; then gtk2_theme="$(grep "^[^#]*${name}" /usr/share/gtk-2.0/gtkrc)" fi gtk2_theme="${gtk2_theme/*${name}*=}" fi # Check for general GTK3 Theme. if [[ -z "$gtk3_theme" ]] && type -p dump_xsettings >/dev/null; then gtk3_theme="$(dump_xsettings | sed -n "s,^${xfconf#/} ,,p")" fi if [[ -z "$gtk3_theme" ]]; then if [[ -f "${XDG_CONFIG_HOME}/gtk-3.0/settings.ini" ]]; then gtk3_theme="$(grep "^[^#]*$name" "${XDG_CONFIG_HOME}/gtk-3.0/settings.ini")" elif type -p gsettings >/dev/null; then gtk3_theme="$(gsettings get org.gnome.desktop.interface "$gsettings")" elif [[ -f "/etc/gtk-3.0/settings.ini" ]]; then gtk3_theme="$(grep "^[^#]*$name" /etc/gtk-3.0/settings.ini)" elif [[ -f "/usr/share/gtk-3.0/settings.ini" ]]; then gtk3_theme="$(grep "^[^#]*$name" /usr/share/gtk-3.0/settings.ini)" fi gtk3_theme="${gtk3_theme/${name}*=}" fi # Handle Qt5ct platform theme if [[ "$QT_QPA_PLATFORMTHEME" == 'qt5ct' && -f "${XDG_CONFIG_HOME}/qt5ct/qt5ct.conf" ]]; then qt_theme="$(grep "^${qt5ct}" "${XDG_CONFIG_HOME}/qt5ct/qt5ct.conf")" qt_theme="${qt_theme/*=}" # Reformat font, since qt5ct stores fonts in binary format if [[ "$qt5ct" == "general" ]]; then # Trim quotes and parentheses qt_theme="${qt_theme#'"'}" qt_theme="${qt_theme%'"'}" qt_theme="${qt_theme#@Variant(}" qt_theme="${qt_theme%)}" # Read font name qt5ct_font_name="${qt_theme#*@}" qt5ct_font_name="${qt5ct_font_name%%@*}" # Interpret backslashes qt5ct_font_name="$(printf "%b" "$qt5ct_font_name")" qt5ct_font_name="${qt5ct_font_name//[[:cntrl:]]}" # trim control characters # Get font size # Tread carefully, Qt sometimes uses @ in binary data local pre_size="${qt_theme#*@}" local pre_size="${pre_size#*@}" # Need to declare array and manually handle the second byte # (workaround for `od` without --endian) IFS=' ' local raw_size=( "$(printf "%b" "${pre_size}" | od -An -tu1 -N2)" ) # Split the upper 4 bits (exponent) the lower 12. local lowers=$(( ((raw_size[0]%16)<<8) + (raw_size[1]) )) local upper4=$((raw_size[0]>>4 )) qt5ct_font_size=$(( (2**(upper4+1)) + (lowers>>(11-upper4)) )) qt_theme="$qt5ct_font_name, $qt5ct_font_size" fi fi # Forced Qt theme through environment variables - Apply only if handling widget style! [[ "$kde" == "widgetStyle" && "$qt_theme" ]] && qt_theme="${QT_STYLE_OVERRIDE:-"$qt_theme"}" # Reformat Qt fonts if [[ "$kde" == "font" && "$qt_theme" ]]; then qt_font_size="${qt_theme#*,}" qt_font_size="${qt_font_size/,*}" qt_theme="${qt_theme/,*}, ${qt_font_size}" fi # Trim whitespace. gtk2_theme="$(trim "$gtk2_theme")" gtk3_theme="$(trim "$gtk3_theme")" qt_theme="$(trim "$qt_theme")" kde_theme="$(trim "$kde_theme")" # Remove quotes. gtk2_theme="$(trim_quotes "$gtk2_theme")" gtk3_theme="$(trim_quotes "$gtk3_theme")" qt_theme="$(trim_quotes "$qt_theme")" kde_theme="$(trim_quotes "$kde_theme")" # Handle Qt theme engines that load external themes case "$qt_theme" in 'Kvantum') if kvantum_theme="$(grep '^theme' "${XDG_CONFIG_HOME}/Kvantum/kvantum.kvconfig")"; then qt_theme="$kvantum_theme" qt_theme="${qt_theme/*=}" fi ;; *'gtk2') qt_theme="$gtk2_theme" ;; esac # Toggle visibility of GTK themes. [[ "$gtk2" == "off" ]] && unset gtk2_theme [[ "$gtk3" == "off" ]] && unset gtk3_theme [[ "$qt" == "off" ]] && unset qt_theme # TODO: kde theme visibility # Format the string based on which themes exist. # append_theme theme toolkit append_theme() { if [[ "$1" ]]; then if [[ "$1" == "$cur_theme" ]]; then theme+="/$2" else theme+="], $1 [$2" cur_theme="$1" fi fi } theme='' local cur_theme='' append_theme "$kde_theme" 'KDE' append_theme "$fly_theme" 'Fly' append_theme "$qt_theme" 'Qt' append_theme "$gtk2_theme" 'GTK2' append_theme "$gtk3_theme" 'GTK3' # Final string. if [[ -n "$theme" ]]; then theme+=']' theme="${theme#'], '}" theme="${theme/'GTK2/GTK3'/'GTK2/3'}" theme="${theme%, }" fi # Make the output shorter by removing "[GTKX]" from the string. if [[ "$gtk_shorthand" == "on" ]]; then theme="${theme// '['*']'}" fi fi } get_theme() { name="gtk-theme-name" gsettings="gtk-theme" gconf="gtk_theme" xfconf="/Net/ThemeName" kde="widgetStyle" lxqt="style" qt5ct="style=" # There is a property called 'stylesheets'. fly="ColorScheme" get_style } get_icons() { name="gtk-icon-theme-name" gsettings="icon-theme" gconf="icon_theme" xfconf="/Net/IconThemeName" kde="Theme" lxqt="icon_theme" qt5ct="icon_theme" fly="IconTheme" get_style icons="$theme" } get_font() { name="gtk-font-name" gsettings="font-name" gconf="font_theme" xfconf="/Gtk/FontName" kde="font" lxqt="font" qt5ct="general" fly="DefaultFont" get_style font="$theme" } get_cursor() { name="gtk-cursor-theme-name" gsettings="cursor-theme" gconf="cursor_theme" xfconf="/Gtk/CursorThemeName" kde="cursorTheme" get_style cursor="$theme" } get_java_ver() { if command -v java &> /dev/null; then java_ver=$(java -version 2>&1) java_ver=${java_ver%\"*} java_ver=${java_ver#*\"} fi } get_python_ver() { if command -v python &> /dev/null; then python_ver=$(python -VVV) python_ver=${python_ver//$'\n'/} python_ver=${python_ver//\(+([^\)])\)} python_ver=$(echo "$python_ver" | awk '$1=$1') fi } get_node_ver() { if command -v node &> /dev/null; then node_ver=$(node --version) node_ver=${node_ver#v} fi } get_term() { # If function was run, stop here. ((term_run == 1)) && return # Workaround for macOS systems that # don't support the block below. case $TERM_PROGRAM in "iTerm.app") term="iTerm2" ;; "Terminal.app") term="Apple Terminal" ;; "Hyper") term="HyperTerm" ;; *) term="${TERM_PROGRAM/\.app}" ;; esac # Most likely TosWin2 on FreeMiNT - quick check [[ "$TERM" == "tw52" || "$TERM" == "tw100" ]] && term="TosWin2" [[ "$SSH_CONNECTION" ]] && term="$SSH_TTY" [[ "$WT_SESSION" ]] && term="Windows Terminal" # Check $PPID for terminal emulator. while [[ -z "$term" ]]; do parent="$(get_ppid "$parent")" [[ -z "$parent" ]] && break name="$(get_process_name "$parent")" case ${name##*/} in "${SHELL/*\/}"|*"sh"|"screen"|"su"*|"newgrp"|"hyfetch") ;; "login"*|*"Login"*|"init"|"(init)") term="$(tty)" ;; "ruby"|"1"|"tmux"*|"systemd"|"sshd"*|"python"*|\ "USER"*"PID"*|"kdeinit"*|"launchd"*|"bwrap") break ;; "."*"-wrap"*) [[ $name =~ \.(.*)-wrap.* ]] && term=${BASH_REMATCH[1]} ;; "gnome-terminal-"*) term="gnome-terminal" ;; "kgx") term="gnome-console" ;; "cutefish-terminal"*) term="cutefish-terminal" ;; "urxvtd") term="urxvt" ;; *"nvim") term="Neovim Terminal" ;; *"NeoVimServer"*) term="VimR Terminal" ;; *) # Fix issues with long process names on Linux. [[ $os == Linux ]] && term=$(realpath "/proc/$parent/exe") term="${name##*/}" # Fix wrapper names in Nix. [[ $term == .*-wrapped ]] && { term="${term#.}" term="${term%-wrapped}" } ;; esac done [[ $FIG_TERM == "1" ]] && term="$term + Fig" # Termux sets TERMUX_VERSION. Put this after the PPID check because this is # also set if using a terminal on an X server. [[ (-z "$term" && "$TERMUX_VERSION") || $term == "com.termux" ]] && term="Termux ${TERMUX_VERSION}" # Log that the function was run. term_run=1 } get_term_font() { ((term_run != 1)) && get_term case $term in "alacritty"*) # Alacritty switched to TOML for it's config the first version # with that will take a long time to be in repos and gain adoption. shopt -s nullglob confs_yaml=({$XDG_CONFIG_HOME,$HOME}/{alacritty,}/{.,}alacritty.ym?) confs_toml=({$XDG_CONFIG_HOME,$HOME}/{alacritty,}/{.,}alacritty.tom?) shopt -u nullglob if [[ -f "${confs_toml[0]}" ]]; then term_font="$(awk -F' *= *' '/^\[.*\]$/{section=substr($0, 2, length-2)} section == "font.normal" && $1 == "family"{sub(/^"/,"", $2); sub(/"$/, "", $2); print $2}' "${confs_toml[0]}")" elif [[ -f "${confs_yaml[0]}" ]]; then term_font="$(awk '/normal:/ {while (!/family:/ || /#/) {if (!getline) {exit}} print; exit}' "${confs_yaml[0]}")" else return fi term_font="${term_font/*family:}" term_font="${term_font/$'\n'*}" term_font="${term_font/\#*}" term_font="${term_font//\"}" ;; "Apple_Terminal"*) term_font="$(osascript </dev/null || { err "Disk requires 'df' to function. Install 'df' to get disk info."; return; } df_version=$(df --version 2>&1) case $df_version in *IMitv*) df_flags=(-P -g) ;; # AIX *befhikm*) df_flags=(-P -k) ;; # IRIX *hiklnP*) df_flags=(-h) ;; # OpenBSD *Tracker*) # Haiku err "Your version of df cannot be used due to the non-standard flags" return ;; *) df_flags=(-P -h) ;; esac # Create an array called 'disks' where each element is a separate line from # df's output. We then unset the first element which removes the column titles. IFS=$'\n' read -d "" -ra disks <<< "$(df "${df_flags[@]}" "${disk_show[@]:-/}")" unset "disks[0]" # Stop here if 'df' fails to print disk info. [[ ${disks[*]} ]] || { err "Disk: df failed to print the disks, make sure the disk_show array is set properly." return } for disk in "${disks[@]}"; do # Create a second array and make each element split at whitespace this time. IFS=" " read -ra disk_info <<< "$disk" disk_perc=${disk_info[${#disk_info[@]} - 2]/\%} case $disk_percent in off) disk_perc= esac case $df_version in *befhikm*) disk=$((disk_info[${#disk_info[@]} - 4] / 1024 / 1024))G disk+=" / " disk+=$((disk_info[${#disk_info[@]} - 5] / 1024/ 1024))G disk+=${disk_perc:+ ($disk_perc%)} ;; *) disk=${disk_info[${#disk_info[@]} - 4]/i} disk+=" / " disk+=${disk_info[${#disk_info[@]} - 5]/i} disk+=${disk_perc:+ ($disk_perc%)} ;; esac case $disk_subtitle in name) disk_sub=${disk_info[*]::${#disk_info[@]} - 5} ;; dir) disk_sub=${disk_info[${#disk_info[@]} - 1]/*\/} disk_sub=${disk_sub:-${disk_info[${#disk_info[@]} - 1]}} ;; none) ;; *) disk_sub=${disk_info[${#disk_info[@]} - 1]} ;; esac case $disk_display in bar) disk="$(bar "$disk_perc" "100")" ;; infobar) disk+=" $(bar "$disk_perc" "100")" ;; barinfo) disk="$(bar "$disk_perc" "100")${info_color} $disk" ;; perc) disk="${disk_perc}% $(bar "$disk_perc" "100")" ;; esac # Append '(disk mount point)' to the subtitle. if [[ "$subtitle" ]]; then prin "$subtitle${disk_sub:+ ($disk_sub)}" "$disk" else prin "$disk_sub" "$disk" fi done } get_power_adapter() { case $os in "Mac OS X"|"macOS") power_adapter="$(pmset -g ac | awk '/Wattage/ {print $3}')" [[ "$power_adapter" ]] || power_adapter="not connected" ;; *) power_adapter="unknown" ;; esac } get_battery() { case $os in "Linux") # We use 'prin' here so that we can do multi battery support # with a single battery per line. for bat in "/sys/class/power_supply/"{BAT,axp288_fuel_gauge,CMB}*; do [[ -f ${bat}/capacity && -f ${bat}/status ]] || continue capacity="$(< "${bat}/capacity")" status="$(< "${bat}/status")" if [[ "$capacity" ]]; then battery="${capacity}% [${status}]" case $battery_display in "bar") battery="$(bar "$capacity" 100)" ;; "infobar") battery+=" $(bar "$capacity" 100)" ;; "barinfo") battery="$(bar "$capacity" 100)${info_color} ${battery}" ;; esac bat="${bat/*axp288_fuel_gauge}" prin "${subtitle:+${subtitle}${bat: -1}}" "$battery" fi done return ;; "BSD") case $kernel_name in "FreeBSD"* | "DragonFly"*) battery="$(acpiconf -i 0 | awk -F ':\t' '/Remaining capacity/ {print $2}')" battery_state="$(acpiconf -i 0 | awk -F ':\t\t\t' '/State/ {print $2}')" ;; "NetBSD"*) battery="$(envstat | awk '\\(|\\)' '/charge:/ {print $2}')" battery="${battery/\.*/%}" ;; "OpenBSD"* | "Bitrig"*) battery0full="$(sysctl -n hw.sensors.acpibat0.watthour0\ hw.sensors.acpibat0.amphour0)" battery0full="${battery0full%% *}" battery0now="$(sysctl -n hw.sensors.acpibat0.watthour3\ hw.sensors.acpibat0.amphour3)" battery0now="${battery0now%% *}" state="$(sysctl -n hw.sensors.acpibat0.raw0)" state="${state##? (battery }" state="${state%)*}" [[ "${state}" == "charging" ]] && battery_state="charging" [[ "$battery0full" ]] && \ battery="$((100 * ${battery0now/\.} / ${battery0full/\.}))%" ;; esac ;; "Mac OS X"|"macOS") battery="$(pmset -g batt | grep -o '[0-9]*%')" state="$(pmset -g batt | awk '/;/ {print $4}')" [[ "$state" == "charging;" ]] && battery_state="charging" ;; "Windows") battery="$(wmic Path Win32_Battery get EstimatedChargeRemaining)" battery="${battery/EstimatedChargeRemaining}" battery="$(trim "$battery")%" state="$(wmic /NameSpace:'\\root\WMI' Path BatteryStatus get Charging)" state="${state/Charging}" [[ "$state" == *TRUE* ]] && battery_state="charging" ;; "Interix") battery="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe Path Win32_Battery get EstimatedChargeRemaining)" battery="${battery/EstimatedChargeRemaining}" battery="$(trim "$battery")%" state="$(/dev/fs/C/Windows/System32/wbem/WMIC.exe /NameSpace:'\\root\WMI' Path BatteryStatus get Charging)" state="${state/Charging}" [[ "$state" == *TRUE* ]] && battery_state="charging" ;; "Haiku") battery0full="$(awk -F '[^0-9]*' 'NR==2 {print $4}' /dev/power/acpi_battery/0)" battery0now="$(awk -F '[^0-9]*' 'NR==5 {print $4}' /dev/power/acpi_battery/0)" battery="$((battery0full * 100 / battery0now))%" ;; esac [[ "$battery_state" ]] && battery+=" Charging" case $battery_display in "bar") battery="$(bar "${battery/\%*}" 100)" ;; "infobar") battery="${battery} $(bar "${battery/\%*}" 100)" ;; "barinfo") battery="$(bar "${battery/\%*}" 100)${info_color} ${battery}" ;; esac } get_local_ip() { case $os in "Linux" | "BSD" | "Solaris" | "illumos" | "AIX" | "IRIX") if [[ "${local_ip_interface[0]}" == "auto" ]]; then local_ip="$(ip route get 1 | awk -F'src' '{print $2; exit}')" local_ip="${local_ip/uid*}" [[ "$local_ip" ]] || local_ip="$(ifconfig -a | awk '/broadcast/ {print $2; exit}')" else for interface in "${local_ip_interface[@]}"; do local_ip="$(ip addr show "$interface" 2> /dev/null | awk '/inet / {print $2; exit}')" local_ip="${local_ip/\/*}" [[ "$local_ip" ]] || local_ip="$(ifconfig "$interface" 2> /dev/null | awk '/broadcast/ {print $2; exit}')" if [[ -n "$local_ip" ]]; then prin "$interface" "$local_ip" else err "Local IP: Could not detect local ip for $interface" fi done fi ;; "MINIX") local_ip="$(ifconfig | awk '{printf $3; exit}')" ;; "Mac OS X" | "macOS" | "iPhone OS") if [[ "${local_ip_interface[0]}" == "auto" ]]; then interface="$(route -n get 1 | awk -F': ' '/interface/ {printf $2; exit}')" local_ip="$(ifconfig "$interface" | grep "inet " | awk '{print $2}')" else for interface in "${local_ip_interface[@]}"; do local_ip="$(ifconfig "$interface" | grep "inet " | awk '{print $2}')" if [[ -n "$local_ip" ]]; then prin "$interface" "$local_ip" else err "Local IP: Could not detect local ip for $interface" fi done fi ;; "Windows" | "Interix") local_ip="$(ipconfig | awk -F ': ' '/IPv4 Address/ {printf $2 ", "}')" local_ip="${local_ip%\,*}" ;; "Haiku") local_ip="$(ifconfig | awk -F ': ' '/Bcast/ {print $2}')" local_ip="${local_ip/, Bcast}" ;; esac } get_public_ip() { if [[ -z "$public_ip_host" ]] && type -p dig >/dev/null; then public_ip="$(dig +time=1 +tries=1 +short myip.opendns.com @resolver1.opendns.com)" [[ "$public_ip" =~ ^\; ]] && unset public_ip fi if [[ -z "$public_ip_host" ]] && [[ -z "$public_ip" ]] && type -p drill >/dev/null; then public_ip="$(drill myip.opendns.com @resolver1.opendns.com | \ awk '/^myip\./ && $3 == "IN" {print $5}')" fi if [[ -z "$public_ip" ]] && type -p curl >/dev/null; then public_ip="$(curl -L --max-time "$public_ip_timeout" -w '\n' "$public_ip_host")" fi if [[ -z "$public_ip" ]] && type -p wget >/dev/null; then public_ip="$(wget -T "$public_ip_timeout" -qO- "$public_ip_host")" fi } get_users() { users="$(who | awk '!seen[$1]++ {printf $1 ", "}')" users="${users%\,*}" } get_locale() { locale="$sys_locale" } get_gpu_driver() { case $os in "Linux") gpu_driver="$(lspci -nnk | awk -F ': ' \ '/Display|3D|VGA/{nr[NR+2]}; NR in nr && $1~"nel driv" {printf $2 ", "}')" gpu_driver="${gpu_driver%, }" if [[ "$gpu_driver" == *"nvidia"* ]]; then gpu_driver="$(< /sys/module/nvidia/version)" gpu_driver="NVIDIA ${gpu_driver/ *}" fi ;; "Mac OS X"|"macOS") if [[ "$(kextstat | grep "GeForceWeb")" != "" ]]; then gpu_driver="NVIDIA Web Driver" else gpu_driver="macOS Default Graphics Driver" fi ;; esac } get_cols() { local blocks blocks2 cols if [[ "$color_blocks" == "on" ]]; then # Convert the width to space chars. printf -v block_width "%${block_width}s" # Generate the string. for ((block_range[0]; block_range[0]<=block_range[1]; block_range[0]++)); do case ${block_range[0]} in [0-7]) printf -v blocks '%b\e[3%bm\e[4%bm%b' \ "$blocks" "${block_range[0]}" "${block_range[0]}" "$block_width" ;; *) printf -v blocks2 '%b\e[38;5;%bm\e[48;5;%bm%b' \ "$blocks2" "${block_range[0]}" "${block_range[0]}" "$block_width" ;; esac done # Workaround for bright background colors in the Linux framebuffer console. (( block_range[1] < 16 )) && [[ "$TERM" == "linux" ]] && printf -v blocks2 '\e[5m%b\e[25m' "$blocks2" # Convert height into spaces. printf -v block_spaces "%${block_height}s" # Convert the spaces into rows of blocks. if [ "${BASH_VERSION%%.*}" -lt 5 ]; then [[ "$blocks" ]] && cols+="${block_spaces// /${blocks}nl}" [[ "$blocks2" ]] && cols+="${block_spaces// /${blocks2}nl}" else [[ "$blocks" ]] && cols+="${block_spaces// /${blocks}\[39;49mnl}" [[ "$blocks2" ]] && cols+="${block_spaces// /${blocks2}\[39;49mnl}" fi # Determine the horizontal offset of the blocks. case $col_offset in "auto") block_offset="$text_padding" ;; *) block_offset="$col_offset" ;; esac # Add newlines to the string. cols=${cols%%nl} cols=${cols//nl/ [${block_offset}C${zws}} # Add block height to info height. ((info_height+=block_range[1]>7?block_height+2:block_height+1)) printf '\n\e[%bC%b\n' "$block_offset" "${zws}${cols}" fi unset -v blocks blocks2 cols # Tell info() that we printed manually. prin=1 } # IMAGES image_backend() { [[ "$image_backend" != "off" ]] && ! type -p convert &>/dev/null && \ { image_backend="ascii"; err "Image: Imagemagick not found, falling back to ascii mode."; } case ${image_backend:-off} in "ascii") print_ascii ;; "off") image_backend="off" ;; "caca" | "catimg" | "chafa" | "jp2a" | "iterm2" | "termpix" |\ "tycat" | "w3m" | "sixel" | "pixterm" | "kitty" | "pot", | "ueberzug" |\ "viu") get_image_source [[ ! -f "$image" ]] && { to_ascii "Image: '$image_source' doesn't exist, falling back to ascii mode." return } [[ "$image_backend" == "ueberzug" ]] && wait=true; get_window_size ((term_width < 1)) && { to_ascii "Image: Failed to find terminal window size." err "Image: Check the 'Images in the terminal' wiki page for more info," return } printf '\e[2J\e[H' get_image_size make_thumbnail display_image || to_off "Image: $image_backend failed to display the image." ;; *) err "Image: Unknown image backend specified '$image_backend'." err "Image: Valid backends are: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'kitty', 'off', 'sixel', 'pot', 'pixterm', 'termpix', 'tycat', 'w3m', 'viu')" err "Image: Falling back to ascii mode." print_ascii ;; esac # Set cursor position next image/ascii. [[ "$image_backend" != "off" ]] && printf '\e[%sA\e[9999999D' "${lines:-0}" } # From pull request #1220, this is a fast way to strip character codes strip_escape_codes() { local input="${1//\"/\\\"}" output="" i char within_code=0 for ((i=0; i < ${#input}; ++i)); do char="${input:i:1}" if (( within_code == 1 )); then case "${char}" in [a-zA-Z]) within_code=0 ;; esac continue fi if [[ "${char}" == $'\e' ]]; then within_code=1 continue fi output+="${char}" done eval "$2='${output}'" } print_ascii() { if [[ -f "$image_source" && ! "$image_source" =~ (png|jpg|jpeg|jpe|svg|gif) ]]; then ascii_data="$(< "$image_source")" elif [[ "$image_source" == "ascii" || $image_source == auto ]]; then : else ascii_data="$image_source" fi # Set locale to get correct padding. LC_ALL="$sys_locale" # Calculate size of ascii file in line length / line count. if [ -n "$ascii_len" ] && [ -n "$ascii_lines" ] then lines=$ascii_lines else # shellcheck disable=SC2162 # Reading without -r here is intentional. See https://github.com/dylanaraps/neofetch/pull/1543 while IFS=$'\n' read line; do line=${line//█/ } # Fast method to strip codes strip_escape_codes "${line}" line # Use patterns to replace color codes that the above line did not catch line=${line//\\033\[*([0-9;])[JKmsu]/} line="$(printf %b "$line" | sed -E 's/'"$(printf %b '\x1B')"'\[*[0-9;]+[JKmsu]//g')" ((++lines,${#line}>ascii_len)) && ascii_len="${#line}" done <<< "${ascii_data//\$\{??\}}" fi # Fallback if file not found. ((lines==1)) && { lines= ascii_len= image_source=auto get_distro_ascii print_ascii return } # Colors. ascii_data="${ascii_data//\$\{c1\}/$c1}" ascii_data="${ascii_data//\$\{c2\}/$c2}" ascii_data="${ascii_data//\$\{c3\}/$c3}" ascii_data="${ascii_data//\$\{c4\}/$c4}" ascii_data="${ascii_data//\$\{c5\}/$c5}" ascii_data="${ascii_data//\$\{c6\}/$c6}" ((text_padding=ascii_len+gap)) printf '%b\n' "$ascii_data${reset}" LC_ALL=C } get_image_source() { case $image_source in "auto" | "wall" | "wallpaper") get_wallpaper ;; *) # Get the absolute path. image_source="$(get_full_path "$image_source")" if [[ -d "$image_source" ]]; then shopt -s nullglob files=("${image_source%/}"/*.{png,jpg,jpeg,jpe,gif,svg}) shopt -u nullglob image="${files[RANDOM % ${#files[@]}]}" else image="$image_source" fi ;; esac err "Image: Using image '$image'" } get_wallpaper() { case $os in "Mac OS X"|"macOS") image="$(osascript </dev/null && [[ -f "${HOME}/.cache/wal/wal" ]] && \ { image="$(< "${HOME}/.cache/wal/wal")"; return; } case $de in "MATE"*) image="$(gsettings get org.mate.background picture-filename)" ;; "Xfce"*) image="$(xfconf-query -c xfce4-desktop -p \ "/backdrop/screen0/monitor0/workspace0/last-image")" ;; "Cinnamon"*) image="$(gsettings get org.cinnamon.desktop.background picture-uri)" image="$(decode_url "$image")" ;; "GNOME"*) image="$(gsettings get org.gnome.desktop.background picture-uri)" image="$(decode_url "$image")" ;; "Plasma"*) image=$XDG_CONFIG_HOME/plasma-org.kde.plasma.desktop-appletsrc image=$(awk -F '=' '$1 == "Image" { print $2 }' "$image") ;; "Cutefish"*) image="$XDG_CONFIG_HOME/cutefishos/theme.conf" image="$(awk -F '=' '$1 == "Wallpaper" {print $2}' "$image")" ;; "LXQt"*) image="$XDG_CONFIG_HOME/pcmanfm-qt/lxqt/settings.conf" image="$(awk -F '=' '$1 == "Wallpaper" {print $2}' "$image")" ;; *) if type -p feh >/dev/null && [[ -f "${HOME}/.fehbg" ]]; then image="$(awk -F\' '/feh/ {printf $(NF-1)}' "${HOME}/.fehbg")" elif type -p setroot >/dev/null && \ [[ -f "${XDG_CONFIG_HOME}/setroot/.setroot-restore" ]]; then image="$(awk -F\' '/setroot/ {printf $(NF-1)}' \ "${XDG_CONFIG_HOME}/setroot/.setroot-restore")" elif type -p nitrogen >/dev/null; then image="$(awk -F'=' '/file/ {printf $2;exit;}' \ "${XDG_CONFIG_HOME}/nitrogen/bg-saved.cfg")" else image="$(gsettings get org.gnome.desktop.background picture-uri)" image="$(decode_url "$image")" fi ;; esac # Strip un-needed info from the path. image="${image/file:\/\/}" image="$(trim_quotes "$image")" ;; esac # If image is an xml file, don't use it. [[ "${image/*\./}" == "xml" ]] && image="" } get_w3m_img_path() { # Find w3m-img path. shopt -s nullglob w3m_paths=({/usr/{local/,},~/.nix-profile/}{lib,libexec,lib64,libexec64}/w3m/w3mi*) shopt -u nullglob [[ -x "${w3m_paths[0]}" ]] && \ { w3m_img_path="${w3m_paths[0]}"; return; } err "Image: w3m-img wasn't found on your system" } get_window_size() { # This functions gets the current window size in # pixels. # # We first try to use the escape sequence "\033[14t" # to get the terminal window size in pixels. If this # fails we then fallback to using "xdotool" or other # programs. # Tmux has a special way of reading escape sequences # so we have to use a slightly different sequence to # get the terminal size. if [[ "$image_backend" == "tycat" ]]; then printf '%b' '\e}qs\000' elif [[ -z $VTE_VERSION ]]; then case ${TMUX:-null} in "null") printf '%b' '\e[14t' ;; *) printf '%b' '\ePtmux;\e\e[14t\e\\ ' ;; esac fi # The escape codes above print the desired output as # user input so we have to use read to store the out # -put as a variable. # The 3 second timeout is required for slow/remote # sessions. # # False positive. # shellcheck disable=2141 IFS=';t' read -d t -t 3 -sra term_size unset IFS # Split the string into height/width. if [[ "$image_backend" == "tycat" ]]; then term_width="$((term_size[2] * term_size[0]))" term_height="$((term_size[3] * term_size[1]))" else term_height="${term_size[1]}" term_width="${term_size[2]}" fi # Get terminal width/height. if (( "${term_width:-0}" < 50 )) && [[ "$DISPLAY" && $os != "Mac OS X" && $os != "macOS" ]]; then if type -p xdotool &>/dev/null; then IFS=$'\n' read -d "" -ra win \ <<< "$(xdotool getactivewindow getwindowgeometry --shell %1)" term_width="${win[3]/WIDTH=}" term_height="${win[4]/HEIGHT=}" elif type -p xwininfo &>/dev/null; then # Get the focused window's ID. if type -p xdo &>/dev/null; then current_window="$(xdo id)" elif type -p xprop &>/dev/null; then current_window="$(xprop -root _NET_ACTIVE_WINDOW)" current_window="${current_window##* }" elif type -p xdpyinfo &>/dev/null; then current_window="$(xdpyinfo | grep -F "focus:")" current_window="${current_window/*window }" current_window="${current_window/,*}" fi # If the ID was found get the window size. if [[ "$current_window" ]]; then term_size=("$(xwininfo -id "$current_window")") term_width="${term_size[0]#*Width: }" term_width="${term_width/$'\n'*}" term_height="${term_size[0]/*Height: }" term_height="${term_height/$'\n'*}" fi fi fi term_width="${term_width:-0}" } get_term_size() { # Get the terminal size in cells. read -r lines columns <<< "$(stty size)" # Calculate font size. font_width="$((term_width / columns))" font_height="$((term_height / lines))" } get_image_size() { # This functions determines the size to make the thumbnail image. get_term_size case $image_size in "auto") image_size="$((columns * font_width / 2))" term_height="$((term_height - term_height / 4))" ((term_height < image_size)) && \ image_size="$term_height" ;; *"%") percent="${image_size/\%}" image_size="$((percent * term_width / 100))" (((percent * term_height / 50) < image_size)) && \ image_size="$((percent * term_height / 100))" ;; "none") # Get image size so that we can do a better crop. read -r width height <<< "$(identify -format "%w %h" "$image")" while ((width >= (term_width / 2) || height >= term_height)); do ((width=width/2,height=height/2)) done crop_mode="none" ;; *) image_size="${image_size/px}" ;; esac # Check for terminal padding. [[ "$image_backend" == "w3m" ]] && term_padding width="${width:-$image_size}" height="${height:-$image_size}" text_padding="$(((width + padding + xoffset) / font_width + gap))" } make_thumbnail() { # Name the thumbnail using variables so we can # use it later. image_name="${crop_mode}-${crop_offset}-${width}-${height}-${image//\/}" # Handle file extensions. case ${image##*.} in "eps"|"pdf"|"svg"|"gif"|"png") image_name+=".png" ;; *) image_name+=".jpg" ;; esac # Create the thumbnail dir if it doesn't exist. mkdir -p "${thumbnail_dir:=${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch}" if [[ ! -f "${thumbnail_dir}/${image_name}" ]]; then # Get image size so that we can do a better crop. [[ -z "$size" ]] && { read -r og_width og_height <<< "$(identify -format "%w %h" "$image")" ((og_height > og_width)) && size="$og_width" || size="$og_height" } case $crop_mode in "fit") c="$(convert "$image" \ -colorspace srgb \ -format "%[pixel:p{0,0}]" info:)" convert \ -background none \ "$image" \ -trim +repage \ -gravity south \ -background "$c" \ -extent "${size}x${size}" \ -scale "${width}x${height}" \ "${thumbnail_dir}/${image_name}" ;; "fill") convert \ -background none \ "$image" \ -trim +repage \ -scale "${width}x${height}^" \ -extent "${width}x${height}" \ "${thumbnail_dir}/${image_name}" ;; "none") cp "$image" "${thumbnail_dir}/${image_name}" ;; *) convert \ -background none \ "$image" \ -strip \ -gravity "$crop_offset" \ -crop "${size}x${size}+0+0" \ -scale "${width}x${height}" \ "${thumbnail_dir}/${image_name}" ;; esac fi # The final image. image="${thumbnail_dir}/${image_name}" } display_image() { case $image_backend in "caca") img2txt \ -W "$((width / font_width))" \ -H "$((height / font_height))" \ --gamma=0.6 \ "$image" ;; "ueberzug") if [ "$wait" = true ];then wait=false; else ueberzug layer --parser bash 0< <( declare -Ap ADD=(\ [action]="add"\ [identifier]="neofetch"\ [x]=$xoffset [y]=$yoffset\ [path]=$image\ ) read -rs ) fi ;; "catimg") catimg -w "$((width*catimg_size / font_width))" -r "$catimg_size" "$image" ;; "chafa") chafa --stretch --size="$((width / font_width))x$((height / font_height))" "$image" ;; "jp2a") jp2a \ --colors \ --width="$((width / font_width))" \ --height="$((height / font_height))" \ "$image" ;; "kitty") kitty +kitten icat \ --align left \ --place "$((width/font_width))x$((height/font_height))@${xoffset}x${yoffset}" \ "$image" ;; "pot") pot \ "$image" \ --size="$((width / font_width))x$((height / font_height))" ;; "pixterm") pixterm \ -tc "$((width / font_width))" \ -tr "$((height / font_height))" \ "$image" ;; "sixel") img2sixel -I \ -w "$width" \ -h "$height" \ "$image" ;; "termpix") termpix \ --width "$((width / font_width))" \ --height "$((height / font_height))" \ "$image" ;; "iterm2") printf -v iterm_cmd '\e]1337;File=width=%spx;height=%spx;inline=1:%s' \ "$width" "$height" "$(base64 < "$image")" # Tmux requires an additional escape sequence for this to work. [[ -n "$TMUX" ]] && printf -v iterm_cmd '\ePtmux;\e%b\e'\\ "$iterm_cmd" printf '%b\a\n' "$iterm_cmd" ;; "tycat") tycat \ -g "${width}x${height}" \ "$image" ;; "viu") viu \ -t -w "$((width / font_width))" -h "$((height / font_height))" \ "$image" ;; "w3m") get_w3m_img_path zws='\xE2\x80\x8B\x20' # Add a tiny delay to fix issues with images not # appearing in specific terminal emulators. ((bash_version>3)) && sleep 0.05 printf '%b\n%s;\n%s\n' "0;1;$xoffset;$yoffset;$width;$height;;;;;$image" 3 4 |\ "${w3m_img_path:-false}" -bg "$background_color" &>/dev/null ;; esac } to_ascii() { err "$1" image_backend="ascii" print_ascii # Set cursor position next image/ascii. printf '\e[%sA\e[9999999D' "${lines:-0}" } to_off() { err "$1" image_backend="off" text_padding= } # TEXT FORMATTING info() { # Save subtitle value. [[ "$2" ]] && subtitle="$1" # Make sure that $prin is unset. unset -v prin # Call the function. "get_${2:-$1}" # If the get_func function called 'prin' directly, stop here. [[ "$prin" ]] && return # Update the variable. if [[ "$2" ]]; then output="$(trim "${!2}")" else output="$(trim "${!1}")" fi if [[ "$2" && "${output// }" ]]; then prin "$1" "$output" elif [[ "${output// }" ]]; then prin "$output" else err "Info: Couldn't detect ${1}." fi unset -v subtitle } prin() { # If $2 doesn't exist we format $1 as info. if [[ "$(trim "$1")" && "$2" ]]; then [[ "$json" ]] && { printf ' %s\n' "\"${1}\": \"${2}\","; return; } string="${1}${2:+: $2}" else string="${2:-$1}" local subtitle_color="$info_color" fi string="$(trim "${string//$'\e[0m'}")" length="$(strip_sequences "$string")" length="${#length}" # Format the output. string="${string/:/${reset}${colon_color}${separator:=:}${info_color}}" string="${subtitle_color}${bold}${string}" # Print the info. printf '%b\n' "${text_padding:+\e[${text_padding}C}${zws}${string//\\n}${reset} " # Calculate info height. ((++info_height)) # Log that prin was used. prin=1 } get_underline() { [[ "$underline_enabled" == "on" ]] && { printf -v underline "%${length}s" printf '%b%b\n' "${text_padding:+\e[${text_padding}C}${zws}${underline_color}" \ "${underline// /$underline_char}${reset} " } ((++info_height)) length= prin=1 } get_bold() { case $ascii_bold in "on") ascii_bold='\e[1m' ;; "off") ascii_bold="" ;; esac case $bold in "on") bold='\e[1m' ;; "off") bold="" ;; esac } trim() { set -f # shellcheck disable=2048,2086 set -- $* printf '%s\n' "${*//[[:space:]]/}" set +f } trim_quotes() { trim_output="${1//\'}" trim_output="${trim_output//\"}" printf "%s" "$trim_output" } strip_sequences() { strip="${1//$'\e'\[*([0-9])*(;*([0-9]))m}" strip="${strip//\\e\[*([0-9])*(;*([0-9]))m}" printf '%s\n' "$strip" } # COLORS set_colors() { c1="$(color "$1")${ascii_bold}" c2="$(color "$2")${ascii_bold}" c3="$(color "$3")${ascii_bold}" c4="$(color "$4")${ascii_bold}" c5="$(color "$5")${ascii_bold}" c6="$(color "$6")${ascii_bold}" [[ "$color_text" != "off" ]] && set_text_colors "$@" } set_text_colors() { if [[ "${colors[0]}" == "distro" ]]; then title_color="$(color "$1")" at_color="$reset" underline_color="$reset" subtitle_color="$(color "$2")" colon_color="$reset" info_color="$reset" # If the ascii art uses 8 as a color, make the text the fg. ((${1:-1} == 8)) && title_color="$reset" ((${2:-7} == 8)) && subtitle_color="$reset" # If the second color is white use the first for the subtitle. ((${2:-7} == 7)) && subtitle_color="$(color "$1")" ((${1:-1} == 7)) && title_color="$reset" else title_color="$(color "${colors[0]}")" at_color="$(color "${colors[1]}")" underline_color="$(color "${colors[2]}")" subtitle_color="$(color "${colors[3]}")" colon_color="$(color "${colors[4]}")" info_color="$(color "${colors[5]}")" fi # Bar colors. if [[ "$bar_color_elapsed" == "distro" ]]; then bar_color_elapsed="$(color fg)" else bar_color_elapsed="$(color "$bar_color_elapsed")" fi if [[ "$bar_color_total" == "distro" ]]; then bar_color_total="$(color fg)" else bar_color_total="$(color "$bar_color_total")" fi } color() { case $1 in [0-7]) printf '%b\e[3%sm' "$reset" "$1" ;; "fg") printf '%b' "$reset" ;; "#"*) local rgb="${1//#}" rgb="$((0x$rgb))" printf '\e[38;2;%b;%b;%bm' "$((rgb >> 16))" "$(((rgb >> 8) & 0xff))" "$((rgb & 0xff))" ;; *) printf '\e[38;5;%bm' "$1" ;; esac } # OTHER stdout() { image_backend="off" unset subtitle_color colon_color info_color underline_color bold title_color at_color \ text_padding zws reset color_blocks bar_color_elapsed bar_color_total \ c1 c2 c3 c4 c5 c6 c7 c8 } err() { err+="$(color 1)[!]${reset} $1 " } get_full_path() { # This function finds the absolute path from a relative one. # For example "Pictures/Wallpapers" --> "/home/dylan/Pictures/Wallpapers" # If the file exists in the current directory, stop here. [[ -f "${PWD}/${1}" ]] && { printf '%s\n' "${PWD}/${1}"; return; } ! cd "${1%/*}" && { err "Error: Directory '${1%/*}' doesn't exist or is inaccessible" err " Check that the directory exists or try another directory." exit 1 } local full_dir="${1##*/}" # Iterate down a (possible) chain of symlinks. while [[ -L "$full_dir" ]]; do full_dir="$(readlink "$full_dir")" cd "${full_dir%/*}" || exit full_dir="${full_dir##*/}" done # Final directory. full_dir="$(pwd -P)/${1/*\/}" [[ -e "$full_dir" ]] && printf '%s\n' "$full_dir" } get_user_config() { # --config /path/to/config.conf if [[ -f "$config_file" ]]; then source "$config_file" err "Config: Sourced user config. (${config_file})" return elif [[ -f "${XDG_CONFIG_HOME}/neofetch/config.conf" ]]; then source "${XDG_CONFIG_HOME}/neofetch/config.conf" err "Config: Sourced user config. (${XDG_CONFIG_HOME}/neofetch/config.conf)" elif [[ -f "${XDG_CONFIG_HOME}/neofetch/config" ]]; then source "${XDG_CONFIG_HOME}/neofetch/config" err "Config: Sourced user config. (${XDG_CONFIG_HOME}/neofetch/config)" elif [[ -z "$no_config" ]]; then config_file="${XDG_CONFIG_HOME}/neofetch/config.conf" # The config file doesn't exist, create it. mkdir -p "${XDG_CONFIG_HOME}/neofetch/" printf '%s\n' "$config" > "$config_file" fi } bar() { # Get the values. elapsed="$(($1 * bar_length / $2))" # Create the bar with spaces. printf -v prog "%${elapsed}s" printf -v total "%$((bar_length - elapsed))s" # Set the colors and swap the spaces for $bar_char_. bar+="${bar_color_elapsed}${prog// /${bar_char_elapsed}}" bar+="${bar_color_total}${total// /${bar_char_total}}" # Borders. [[ "$bar_border" == "on" ]] && \ bar="$(color fg)[${bar}$(color fg)]" printf "%b" "${bar}${info_color}" } cache() { if [[ "$2" ]]; then mkdir -p "${cache_dir}/neofetch" printf "%s" "${1/*-}=\"$2\"" > "${cache_dir}/neofetch/${1/*-}" fi } get_cache_dir() { if [[ "$TMPDIR" ]]; then cache_dir="$TMPDIR" else cache_dir="/tmp" fi } kde_config_dir() { # If the user is using KDE get the KDE # configuration directory. if [[ "$kde_config_dir" ]]; then return elif type -p kf5-config &>/dev/null; then kde_config_dir="$(kf5-config --path config)" elif type -p kde4-config &>/dev/null; then kde_config_dir="$(kde4-config --path config)" elif type -p kde-config &>/dev/null; then kde_config_dir="$(kde-config --path config)" elif [[ -d "${HOME}/.kde4" ]]; then kde_config_dir="${HOME}/.kde4/share/config" elif [[ -d "${HOME}/.kde3" ]]; then kde_config_dir="${HOME}/.kde3/share/config" fi kde_config_dir="${kde_config_dir/$'/:'*}" } tde_config_dir() { if [[ "$tde_config_dir" ]]; then return elif type -p tde-config &>/dev/null; then tde_config_dir="$(tde-config --path config)" elif [[ -d "${HOME}/.configtde" ]]; then tde_config_dir="${HOME}/.configtde" fi tde_config_dir="${tde_config_dir/$'/:'*}" } fly_config_file() { # Return main path the fly config file fly_config_file=${HOME}/.fly/theme/current.themerc } term_padding() { # Get terminal padding to properly align cursor. [[ -z "$term" ]] && get_term case $term in urxvt*|rxvt-unicode) [[ $xrdb ]] || xrdb=$(xrdb -query) [[ $xrdb != *internalBorder:* ]] && return padding=${xrdb/*internalBorder:} padding=${padding/$'\n'*} [[ $padding =~ ^[0-9]+$ ]] || padding= ;; esac } dynamic_prompt() { [[ "$image_backend" == "off" ]] && { printf '\n'; return; } [[ "$image_backend" != "ascii" ]] && ((lines=(height + yoffset) / font_height + 1)) [[ "$image_backend" == "w3m" ]] && ((lines=lines + padding / font_height + 1)) # If the ascii art is taller than the info. ((lines=lines>info_height?lines-info_height+1:1)) printf -v nlines "%${lines}s" printf "%b" "${nlines// /\\n}" } cache_uname() { # Cache the output of uname so we don't # have to spawn it multiple times. IFS=" " read -ra uname <<< "$(uname -srm)" kernel_name="${uname[0]}" kernel_version="${uname[1]}" kernel_machine="${uname[2]}" if [[ "$kernel_name" == "Darwin" ]] || [[ "$kernel_name" == "FreeBSD" && -f /System/Library/CoreServices/SystemVersion.plist ]]; then # macOS can report incorrect versions unless this is 0. # https://github.com/dylanaraps/neofetch/issues/1607 export SYSTEM_VERSION_COMPAT=0 IFS=$'\n' read -d "" -ra sw_vers <<< "$(awk -F'<|>' '/key|string/ {print $3}' \ "/System/Library/CoreServices/SystemVersion.plist")" for ((i=0;i<${#sw_vers[@]};i+=2)) { case ${sw_vers[i]} in ProductName) darwin_name=${sw_vers[i+1]} ;; ProductFamily) darwin_family=${sw_vers[i+1]} ;; ProductVersion) osx_version=${sw_vers[i+1]} ;; ProductBuildVersion) osx_build=${sw_vers[i+1]} ;; esac } fi } get_ppid() { # Get parent process ID of PID. case $os in "Windows") ppid="$(ps -p "${1:-$PPID}" | awk '{printf $2}')" ppid="${ppid/PPID}" ;; "Linux") ppid="$(grep -i -F "PPid:" "/proc/${1:-$PPID}/status")" ppid="$(trim "${ppid/PPid:}")" ;; *) ppid="$(ps -p "${1:-$PPID}" -o ppid=)" ;; esac printf "%s" "$ppid" } get_process_name() { # Get PID name. case $os in "Windows") name="$(ps -p "${1:-$PPID}" | awk '{printf $8}')" name="${name/COMMAND}" name="${name/*\/}" ;; "Linux") read -rd $'\00' name < "/proc/${1:-$PPID}/cmdline" ;; *) name="$(ps -p "${1:-$PPID}" -o comm=)" ;; esac printf "%s" "$name" } decode_url() { decode="${1//+/ }" printf "%b" "${decode//%/\\x}" } # FINISH UP usage() { printf "%s" "\ Usage: neofetch func_name --option \"value\" --option \"value\" Neofetch is a CLI system information tool written in BASH. Neofetch displays information about your system next to an image, your OS logo, or any ASCII file of your choice. NOTE: Every launch flag has a config option. Options: INFO: func_name Specify a function name (second part of info() from config) to quickly display only that function's information. Example: neofetch uptime --uptime_shorthand tiny Example: neofetch uptime disk wm memory This can be used in bars and scripts like so: memory=\"\$(neofetch memory)\"; memory=\"\${memory##*: }\" For multiple outputs at once (each line of info in an array): IFS=\$'\\n' read -d \"\" -ra info < <(neofetch memory uptime wm) info=(\"\${info[@]##*: }\") --disable infoname Allows you to disable an info line from appearing in the output. 'infoname' is the function name from the 'print_info()' function inside the config file. For example: 'info \"Memory\" memory' would be '--disable memory' NOTE: You can supply multiple args. eg. 'neofetch --disable cpu gpu' --title_fqdn on/off Hide/Show Fully Qualified Domain Name in title. --package_managers on/off Hide/Show Package Manager names. (on, tiny, off) --package_separate on/off Whether to separate system/user modes for supported package managers --os_arch on/off Hide/Show OS architecture. --speed_type type Change the type of cpu speed to display. Possible values: current, min, max, bios, scaling_current, scaling_min, scaling_max NOTE: This only supports Linux with cpufreq. --speed_shorthand on/off Whether or not to show decimals in CPU speed. NOTE: This flag is not supported in systems with CPU speed less than 1 GHz. --cpu_brand on/off Enable/Disable CPU brand in output. --cpu_cores type Whether or not to display the number of CPU cores Possible values: logical, physical, off NOTE: 'physical' doesn't work on BSD. --cpu_speed on/off Hide/Show cpu speed. --cpu_temp C/F/off Hide/Show cpu temperature. NOTE: This only works on Linux and BSD. NOTE: For FreeBSD and NetBSD-based systems, you need to enable coretemp kernel module. This only supports newer Intel processors. --distro_shorthand on/off Shorten the output of distro (on, tiny, off) NOTE: This option won't work in Windows (Cygwin) --kernel_shorthand on/off Shorten the output of kernel NOTE: This option won't work in BSDs (except PacBSD and PC-BSD) --uptime_shorthand on/off Shorten the output of uptime (on, tiny, off) --refresh_rate on/off Whether to display the refresh rate of each monitor Unsupported on Windows --gpu_brand on/off Enable/Disable GPU brand in output. (AMD/NVIDIA/Intel) --gpu_type type Which GPU to display. (all, dedicated, integrated) NOTE: This only supports Linux. --de_version on/off Show/Hide Desktop Environment version --gtk_shorthand on/off Shorten output of gtk theme/icons --gtk2 on/off Enable/Disable gtk2 theme/font/icons output --gtk3 on/off Enable/Disable gtk3 theme/font/icons output --shell_path on/off Enable/Disable showing \$SHELL path --shell_version on/off Enable/Disable showing \$SHELL version --editor_path on/off Enable/Disable showing \$EDITOR path --editor_version on/off Enable/Disable showing \$EDITOR version --disk_show value Which disks to display. Possible values: '/', '/dev/sdXX', '/path/to/mount point' NOTE: Multiple values can be given. (--disk_show '/' '/dev/sdc1') --disk_subtitle type What information to append to the Disk subtitle. Takes: name, mount, dir, none 'name' shows the disk's name (sda1, sda2, etc) 'mount' shows the disk's mount point (/, /mnt/Local Disk, etc) 'dir' shows the basename of the disks's path. (/, Local Disk, etc) 'none' shows only 'Disk' or the configured title. --disk_percent on/off Hide/Show disk percent. --ip_host url URL to query for public IP --ip_timeout int Public IP timeout (in seconds). --ip_interface value Interface(s) to use for local IP --song_format format Print the song data in a specific format (see config file). --song_shorthand on/off Print the Artist/Album/Title on separate lines. --memory_percent on/off Display memory percentage. --memory_unit (k/m/g/t)ib Memory output unit. --memory_precision integer Change memory output precision. (≥0, default=2) --music_player player-name Manually specify a player to use. Available values are listed in the config file TEXT FORMATTING: --colors x x x x x x Changes the text colors in this order: title, @, underline, subtitle, colon, info --underline on/off Enable/Disable the underline. --underline_char char Character to use when underlining title --bold on/off Enable/Disable bold text --separator string Changes the default ':' separator to the specified string. COLOR BLOCKS: --color_blocks on/off Enable/Disable the color blocks --col_offset auto/num Left-padding of color blocks --block_width num Width of color blocks in spaces --block_height num Height of color blocks in lines --block_range num num Range of colors to print as blocks BARS: --bar_char 'elapsed char' 'total char' Characters to use when drawing bars. --bar_border on/off Whether or not to surround the bar with '[]' --bar_length num Length in spaces to make the bars. --bar_colors num num Colors to make the bar. Set in this order: elapsed, total --memory_display mode Bar mode. Possible values: bar, infobar, barinfo, off --battery_display mode Bar mode. Possible values: bar, infobar, barinfo, off --disk_display mode Bar mode. Possible values: bar, infobar, barinfo, off IMAGE BACKEND: --backend backend Which image backend to use. Possible values: 'ascii', 'caca', 'catimg', 'chafa', 'jp2a', 'iterm2', 'off', 'sixel', 'tycat', 'w3m', 'kitty', 'viu' --source source Which image or ascii file to use. Possible values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/', 'command output' [ascii] --ascii source Shortcut to use 'ascii' backend. NEW: neofetch --ascii \"\$(fortune | cowsay -W 30)\" --caca source Shortcut to use 'caca' backend. --catimg source Shortcut to use 'catimg' backend. --chafa source Shortcut to use 'chafa' backend. --iterm2 source Shortcut to use 'iterm2' backend. --jp2a source Shortcut to use 'jp2a' backend. --kitty source Shortcut to use 'kitty' backend. --pot source Shortcut to use 'pot' backend. --pixterm source Shortcut to use 'pixterm' backend. --sixel source Shortcut to use 'sixel' backend. --termpix source Shortcut to use 'termpix' backend. --tycat source Shortcut to use 'tycat' backend. --w3m source Shortcut to use 'w3m' backend. --ueberzug source Shortcut to use 'ueberzug' backend --viu source Shortcut to use 'viu' backend --off Shortcut to use 'off' backend (Disable ascii art). NOTE: 'source; can be any of the following: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' ASCII: --ascii_colors x x x x x x Colors to print the ascii art --ascii_distro distro Which Distro's ascii art to print NOTE: Adélie, aerOS, Afterglow, AIX, AlmaLinux, Alpine, Alter, Amazon, AmogOS, Anarchy, Android, Antergos, antiX, AOSC OS, Aperio GNU/Linux, Aperture, Apricity, Arch, ArchBox, Archcraft, archcraft_ascii, archcraft_minimal, ARCHlabs, ArchMerge, ArchStrike, ArcoLinux, ArseLinux, Artix, Arya, Asahi, AsteroidOS, astOS, Astra Linux, Athena, azos, Bedrock, BigLinux, Bitrig, BlackArch, blackPanther, BLAG, BlankOn, BlueLight, Bodhi, bonsai, BSD, BunsenLabs, CachyOS, Calculate, CalinixOS, Carbs, CBL-Mariner, CelOS, Center, CentOS, Chakra, ChaletOS, Chapeau, ChonkySealOS, Chrom, Cleanjaro, Clear Linux OS, ClearOS, Clover, Cobalt, Condres, Container Linux by CoreOS, CRUX, Crystal Linux, Cucumber, CutefishOS, CuteOS, CyberOS, dahlia, DarkOs, Darwin, Debian, Deepin, DesaOS, Devuan, DietPi, digital UNIX, DracOS, DragonFly, Drauger, Droidian, Elementary, Elive, EncryptOS, EndeavourOS, Endless, Enso, EuroLinux, EvolutionOS, Exherbo, Exodia Predator OS, Fedora, FemboyOS, Feren, Finnix, Floflis, FreeBSD, FreeMiNT, Frugalware, Funtoo, GalliumOS, Garuda, Gentoo, GhostBSD, glaucus, gNewSense, GNOME, GNU, GoboLinux, GrapheneOS, Grombyang, Guix, Haiku, HamoniKR, HarDClanZ, Hash, Huayra, Hybrid, HydroOS, Hyperbola, iglunix, instantOS, Interix, IRIX, Itc, januslinux, Kaisen, Kali, KaOS, KDE, Kibojoe, Kogaion, Korora, KrassOS, KSLinux, Kubuntu, LainOS, LangitKetujuh, LaxerOS, LEDE, LibreELEC, Linspire, Linux, Linux Lite, Linux Mint, Linux Mint Old, Live Raizo, LMDE, Lubuntu, Lunar, mac, Mageia, MagpieOS, MainsailOS, Mandriva, Manjaro, MassOS, MatuusOS, Maui, Meowix, Mer, Minix, MIRACLE LINUX, MX, Namib, NekOS, Neptune, NetBSD, Netrunner, Nitrux, NixOS, Nobara, NomadBSD, Nurunner, NuTyX, Obarun, OBRevenge, OmniOS, Open Source Media Center, OpenBSD, openEuler, OpenIndiana, openKylin, openmamba, OpenMandriva, OpenStage, openSUSE, openSUSE Leap, openSUSE Tumbleweed, OPNsense, Oracle, orchid, OS Elbrus, PacBSD, Panwah, Parabola, parch, Pardus, Parrot, Parsix, PCBSD, PCLinuxOS, pearOS, Pengwin, Pentoo, Peppermint, Peropesis, phyOS, PikaOS, Pisi, PNM Linux, Pop!_OS, Porteus, PostMarketOS, Profelis SambaBOX, Proxmox, PuffOS, Puppy, PureOS, Q4OS, Qubes, Qubyt, Quibian, Radix, Raspbian, ravynOS, Reborn OS, Red Star, Redcore, Redhat, Refracted Devuan, Regata, Regolith, RhaymOS, rocky, Rosa, Sabayon, sabotage, Sailfish, SalentOS, Salient OS, Salix, Sasanqua, Scientific, semc, Septor, Serene, SharkLinux, ShastraOS, Siduction, SkiffOS, Slackel, Slackware, SliTaz, SmartOS, Soda, Solus, Source Mage, Sparky, Star, SteamOS, Stock Linux, Sulin, SunOS, SwagArch, t2, Tails, TeArch, TorizonCore, Trisquel, Twister, Ubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Sway, Ubuntu Touch, Ubuntu-GNOME, ubuntu_old02, Ultramarine Linux, unicodearch, Univalent, Univention, Uos, UrukOS, uwuntu, Vanilla, Venom, VNux, Void, VzLinux, wii-linux-ngx, Windows, Windows 10, Windows 11, Windows95, Wrt, Xenia, Xenia2, XFerience, Xray_OS, Xubuntu, yiffOS, Zorin have ascii logos. NOTE: arch, dragonfly, Fedora, LangitKetujuh, nixos, redhat, Ubuntu have 'old' logo variants, use {distro}_old to use them. NOTE: alpine, android, arch, arcolinux, artix, CalinixOS, centos, cleanjaro, crux, debian, dragonfly, elementary, endeavouros, fedora, freebsd, garuda, gentoo, guix, haiku, hyperbola, kali, Linux, linuxlite, linuxmint, mac, mageia, MainsailOS, manjaro, mx, netbsd, nixos, openbsd, opensuse, orchid, parabola, popos, postmarketos, pureos, Raspbian, rocky, slackware, sunos, ubuntu, venom, void have 'small' logo variants, use {distro}_small to use them. --ascii_bold on/off Whether or not to bold the ascii logo. -L, --logo Hide the info text and only show the ascii logo. IMAGE: --loop Redraw the image constantly until Ctrl+C is used. This fixes issues in some terminals emulators when using image mode. --size 00px | --size 00% How to size the image. Possible values: auto, 00px, 00%, none --catimg_size 1/2 Change the resolution of catimg. --crop_mode mode Which crop mode to use Takes the values: normal, fit, fill --crop_offset value Change the crop offset for normal mode. Possible values: northwest, north, northeast, west, center, east, southwest, south, southeast --xoffset px How close the image will be to the left edge of the window. This only works with w3m. --yoffset px How close the image will be to the top edge of the window. This only works with w3m. --bg_color color Background color to display behind transparent image. This only works with w3m. --gap num Gap between image and text. NOTE: --gap can take a negative value which will move the text closer to the left side. --clean Delete cached files and thumbnails. OTHER: --config /path/to/config Specify a path to a custom config file --config none Launch the script without a config file --no_config Don't create the user config file. --print_config Print the default config file to stdout. --stdout=on Turn off all colors and disables any ASCII/image backend. --stdout=off Enable the colored output and ASCII/image backend --stdout=auto Let the program decide basing on the output type (default behavior) --stdout Equivalent to '--stdout=on', for backward compatibility --help Print this text and exit --version Show neofetch version -v Display error messages. -vv Display a verbose log for error reporting. DEVELOPER: --gen-man Generate a manpage for Neofetch in your PWD. (Requires GNU help2man) Report bugs to https://github.com/dylanaraps/neofetch/issues " exit 1 } get_args() { # Check the commandline flags early for '--config'. [[ "$*" != *--config* && "$*" != *--no_config* ]] && get_user_config while [[ "$1" ]]; do case $1 in # Info "--title_fqdn") title_fqdn="$2" ;; "--package_managers") package_managers="$2" ;; "--package_separate") package_separate="$2" ;; "--os_arch") os_arch="$2" ;; "--cpu_cores") cpu_cores="$2" ;; "--cpu_speed") cpu_speed="$2" ;; "--speed_type") speed_type="$2" ;; "--speed_shorthand") speed_shorthand="$2" ;; "--distro_shorthand") distro_shorthand="$2" ;; "--kernel_shorthand") kernel_shorthand="$2" ;; "--uptime_shorthand") uptime_shorthand="$2" ;; "--cpu_brand") cpu_brand="$2" ;; "--gpu_brand") gpu_brand="$2" ;; "--gpu_type") gpu_type="$2" ;; "--refresh_rate") refresh_rate="$2" ;; "--de_version") de_version="$2" ;; "--gtk_shorthand") gtk_shorthand="$2" ;; "--gtk2") gtk2="$2" ;; "--gtk3") gtk3="$2" ;; "--qt") qt="$2" ;; "--shell_path") shell_path="$2" ;; "--shell_version") shell_version="$2" ;; "--editor_path") editor_path="$2" ;; "--editor_version") editor_version="$2" ;; "--ip_host") public_ip_host="$2" ;; "--ip_timeout") public_ip_timeout="$2" ;; "--ip_interface") unset local_ip_interface for arg in "$@"; do case "$arg" in "--ip_interface") ;; "-"*) break ;; *) local_ip_interface+=("$arg") ;; esac done ;; "--song_format") song_format="$2" ;; "--song_shorthand") song_shorthand="$2" ;; "--music_player") music_player="$2" ;; "--memory_percent") memory_percent="$2" ;; "--memory_unit") memory_unit="$2" ;; "--memory_precision") mem_precision="$2" ;; "--cpu_temp") cpu_temp="$2" [[ "$cpu_temp" == "on" ]] && cpu_temp="C" ;; "--disk_subtitle") disk_subtitle="$2" ;; "--disk_percent") disk_percent="$2" ;; "--disk_show") unset disk_show for arg in "$@"; do case $arg in "--disk_show") ;; "-"*) break ;; *) disk_show+=("$arg") ;; esac done ;; "--disable") for func in "$@"; do case $func in "--disable") continue ;; "-"*) break ;; *) ((bash_version >= 4)) && func="${func,,}" unset -f "get_$func" ;; esac done ;; # Text Colors "--colors") unset colors for arg in "$2" "$3" "$4" "$5" "$6" "$7"; do case $arg in "-"*) break ;; *) colors+=("$arg") ;; esac done colors+=(7 7 7 7 7 7) ;; # Text Formatting "--underline") underline_enabled="$2" ;; "--underline_char") underline_char="$2" ;; "--bold") bold="$2" ;; "--separator") separator="$2" ;; # Color Blocks "--color_blocks") color_blocks="$2" ;; "--block_range") block_range=("$2" "$3") ;; "--block_width") block_width="$2" ;; "--block_height") block_height="$2" ;; "--col_offset") col_offset="$2" ;; # Bars "--bar_char") bar_char_elapsed="$2" bar_char_total="$3" ;; "--bar_border") bar_border="$2" ;; "--bar_length") bar_length="$2" ;; "--bar_colors") bar_color_elapsed="$2" bar_color_total="$3" ;; "--memory_display") memory_display="$2" ;; "--battery_display") battery_display="$2" ;; "--disk_display") disk_display="$2" ;; # Image backend "--backend") image_backend="$2" ;; "--source") image_source="$2" ;; "--ascii" | "--caca" | "--catimg" | "--chafa" | "--jp2a" | "--iterm2" | "--off" |\ "--pot" | "--pixterm" | "--sixel" | "--termpix" | "--tycat" | "--w3m" | "--kitty" |\ "--ueberzug" | "--viu") image_backend="${1/--}" case $2 in "-"* | "") ;; *) image_source="$2" ;; esac ;; # Image options "--loop") image_loop="on" ;; "--image_size" | "--size") image_size="$2" ;; "--catimg_size") catimg_size="$2" ;; "--crop_mode") crop_mode="$2" ;; "--crop_offset") crop_offset="$2" ;; "--xoffset") xoffset="$2" ;; "--yoffset") yoffset="$2" ;; "--background_color" | "--bg_color") background_color="$2" ;; "--gap") gap="$2" ;; "--clean") [[ -d "$thumbnail_dir" ]] && rm -rf "$thumbnail_dir" rm -rf "$cache_dir/neofetch/" exit ;; "--ascii_colors") unset ascii_colors for arg in "$2" "$3" "$4" "$5" "$6" "$7"; do case $arg in "-"*) break ;; *) ascii_colors+=("$arg") esac done ascii_colors+=(7 7 7 7 7 7) ;; "--ascii_distro") image_backend="ascii" ascii_distro="$2" ;; "--ascii_bold") ascii_bold="$2" ;; "--logo" | "-L") image_backend="ascii" print_info() { printf '\n'; } ;; # Other "--config") case $2 in "none" | "off" | "") ;; *) config_file="$(get_full_path "$2")" get_user_config ;; esac ;; "--no_config") no_config="on" ;; "--stdout") stdout="on" ;; "--stdout=on") stdout="on" ;; "--stdout=off") stdout="off" ;; "--stdout=auto") stdout="auto" ;; "-v") verbose="on" ;; "--print_config") printf '%s\n' "$config"; exit ;; "-vv") set -x; verbose="on" ;; "--help") usage ;; "--version") printf '%s\n' "Neofetch $version" exit 1 ;; "--gen-man") help2man -n "A fast, highly customizable system info script" \ -N ./neofetch -o neofetch.1 exit 1 ;; "--json") json="on" unset -f get_title get_cols get_underline printf '{\n' print_info 2>/dev/null printf ' %s\n' "\"Version\": \"${version}\"" printf '}\n' exit ;; "--travis") print_info() { info title info underline info "OS" distro info "Host" model info "Kernel" kernel info "Uptime" uptime info "Packages" packages info "Shell" shell info "Resolution" resolution info "DE" de info "WM" wm info "WM Theme" wm_theme info "Theme" theme info "Icons" icons info "Terminal" term info "Terminal Font" term_font info "CPU" cpu info "GPU" gpu info "GPU Driver" gpu_driver info "Memory" memory info "Network" network info "Bluetooth" bluetooth info "BIOS" bios info "Disk" disk info "Battery" battery info "Power Adapter" power_adapter info "Font" font info "Song" song info "Local IP" local_ip info "Public IP" public_ip info "Users" users info cols # Testing. prin "prin" prin "prin" "prin" # Testing no subtitles. info uptime info disk } refresh_rate="on" shell_version="on" memory_display="infobar" disk_display="infobar" cpu_temp="C" # Known implicit unused variables. mpc_args=() printf '%s\n' "$kernel $icons $font $cursor $battery $locale ${mpc_args[*]}" ;; esac shift done } get_simple() { while [[ "$1" ]]; do [[ "$(type -t "get_$1")" == "function" ]] && { get_distro stdout simple=1 info "$1" "$1" } shift done ((simple)) && exit } old_functions() { # Removed functions for backwards compatibility. get_line_break() { :; } get_cpu_usage() { :; } } get_distro_ascii() { # This function gets the distro ascii art and colors. # # $ascii_distro is the same as $distro. case $(trim "$ascii_distro") in "Adélie"* | "Adelie"*) set_colors 4 7 6 read -rd '' ascii_data <<'EOF' ${c1} ${c3} ,-^-___ ${c3} /\\\\\\/// ${c2}refined.${c1} /\\\\\\\\// ${c2}reliable.${c1} /\\\\\\/// ${c2}ready.${c1} /\\\\/////\\ __///\\\\\\\\/////\\ ${c3} _//////\\\\\\\\\\\\\\//// ${c1} ///////${c3}\\\\\\\\\\\\\\\\\\\\// //////${c1}\\\\\\\\\\/ /////\\\\\\\\\\/ /////${c3}\\\\\\\\/ /\\\\///\\\\\\/ /\\\\\\/${c1}\\\/ /\\\\\\\\// ////// /// ${c3}\\\\\\\\\\ EOF ;; "AIX"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} `:+ssssossossss+-` .oys///oyhddddhyo///sy+. /yo:+hNNNNNNNNNNNNNNNNh+:oy/ :h/:yNNNNNNNNNNNNNNNNNNNNNNy-+h: `ys.yNNNNNNNNNNNNNNNNNNNNNNNNNNy.ys `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oh h+-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN.oy /d`mNNNNNNN/::mNNNd::m+:/dNNNo::dNNNd`m: h//NNNNNNN: . .NNNh mNo od. -dNNNNN:+y N.sNNNNNN+ -N/ -NNh mNNd. sNNNNNNNo-m N.sNNNNNs +oo /Nh mNNs` ` /mNNNNNNo-m h//NNNNh ossss` +h md- .hm/ `sNNNNN:+y :d`mNNN+/yNNNNNd//y//h//oNNNNy//sNNNd`m- yo-NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNm.ss `h+-mNNNNNNNNNNNNNNNNNNNNNNNNNNNNm-oy sy.yNNNNNNNNNNNNNNNNNNNNNNNNNNs.yo :h+-yNNNNNNNNNNNNNNNNNNNNNNs-oh- :ys:/yNNNNNNNNNNNNNNNmy/:sy: .+ys///osyhhhhys+///sy+. -/osssossossso/- EOF ;; "Aperio GNU/Linux"*) set_colors 255 read -rd '' ascii_data <<'EOF' ${c2} _.._ _ ._.. _ (_][_)(/,[ |(_) | GNU/Linux EOF ;; "Aperture"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} .,-:;//;:=, . :H@@@MM@M#H/.,+%;, ,/X+ +M@@M@MM%=,-%HMMM@X/, -+@MM; $M@@MH+-,;XMMMM@MMMM@+- ;@M@@M- XM@X;. -+XXXXXHHH@M@M#@/. ,%MM@@MH ,@%= .---=-=:=,. =@#@@@MX., -%HX$$%%%:; =-./@M@M$ .;@MMMM@MM: X@/ -$MM/ . +MM@@@M$ ,@M@H: :@: . =X#@@@@- ,@@@MMX, . /H- ;@M@M= .H@@@@M@+, %MM+..%#$. /MMMM@MMH/. XM@MH; =; /%+%$XHH@$= , .H@@@@MX, .=--------. -%H.,@@@@@MX, .%MM@@@HHHXX$$$%+- .:$MMX =M@@MM%. =XMMM@MM@MM#H;,-+HMM@M+ /MMMX= =%@M@M#@$-.=$@MM@@@M; %M%= ,:+$+-,/H#MMMMMMM@= =, =++%%%%+/:-. EOF ;; "Asahi"*) set_colors 3 2 1 8 7 6 4 read -rd '' ascii_data <<'EOF' ${c1} ## ${c2}** ${c1}*####${c2}****. ${c1}###${c2}, ${c3}...,${c1}/#${c3},,,.. ${c3}/*,,,,,,,,${c1}*${c3},........${c4},, ${c3},((((((//*,,,,,,,,${c4},...... ${c3}((((((((((((((${c5}%..${c4}.......... ${c3},(((((((((((((((${c5}@@(${c4}............ ${c3}(((((((((((((((((${c5}@@@@/${c4}............ ${c3},((((((((((((((((((${c5}@@@@@&*${c4}........... ${c3}((((((((((((((((((((${c5}@@@@@@@&${c4},........... ${c3}(((((((((((((((((((((${c5}@@@${c6}&%&${c5}@@@%${c4},.......... ${c3}/(((((((((((((((((((${c5}@@@${c6}&%%&${c5}@@@@(${c4}........ ${c3},((((((((((((((((${c5}@@@${c6}&&${c5}@@&/&@@@/${c4}.. ${c3}/((((((((((((${c5}@@@@@@/${c4}.../&& ${c3}.(((((((((${c5}@@@@(${c4}.... ${c3}/(((((${c5}@@#${c4}... ${c3}.((${c4}&, EOF ;; "Hash"*) set_colors 123 read -rd '' ascii_data <<'EOF' ${c1} + ###### + ### ###### ### ##### ###### ##### ###### ###### ###### ####### '"###### '"######## ####### ###### ######## ####### ###### ######## ###### '"###### '"###### ##### ###### ##### ### ###### ### ~ ###### ~ EOF ;; "HarDClanZ"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} ........::::.... ::################::.. :########################:. :######**###################: :###${c2}&&&&^${c1}############ ${c2}&${c1}#######: :#${c2}&&&&&${c1}.:##############:${c2}^&o${c1}`:###: :#${c2}&&&&${c1}.:#################:.${c2}&&&${c1}`###: :##${c2}&^${c1}:######################:${c2}^&&${c1}::##: :#############################:${c2}&${c1}:##:: :##########${c2}@@${c1}###########${c2}@@${c1}#####:.###: :#########${c2}@@${c3}o${c2}@@${c1}#########${c2}@@${c3}o${c2}@@${c1}########: :#######:${c2}@@${c3}o${c5}0${c3}o${c2}@@@@${c1}###${c2}@@@@${c3}o${c5}0${c3}o${c2}@@${c1}######: : :######:${c2}@@@${c3}o${c2}@@@@@@${c1}V${c2}@@@@@@${c3}o${c2}@@@${c1}######: :#####:${c2}@@@@@@@@@@@@@@@@@@@${c1}:####; :####:.${c2}@@@@@@@@@@@@@@@@${c1}:#####: `:####:.${c2}@@@@@@@@@@@@@@${c1}:#####: ``:##:.${c2}@@@@@@@@@@@@${c1}^## # : : ## ${c2}\@@@;@@@/ ${c1}:: # : ${c2} VVV EOF ;; "AlmaLinux"*) set_colors 1 3 4 2 6 read -rd '' ascii_data <<'EOF' ${c1} 'c:. ${c1} lkkkx, .. ${c2}.. ,cc, ${c1} okkkk:ckkx' ${c2}.lxkkx.okkkkd ${c1} .:llcokkx' ${c2}:kkkxkko:xkkd, ${c1} .xkkkkdood: ${c2};kx, .lkxlll; ${c1} xkkx. ${c2}xk' xkkkkk: ${c1} 'xkx. ${c2}xd .....,. ${c3} .. ${c1}:xkl' ${c2}:c ..''.. ${c3} .dkx' ${c1}.:ldl:'. ${c2}' ${c4}':lollldkkxo; ${c3} .''lkkko' ${c4}ckkkx. ${c3}'xkkkd:kkd. .. ${c5};' ${c4}:kkxo. ${c3},xkkkd;kk' ,d; ${c5}ld. ${c4}':dkd::cc, ${c3} .,,.;xkko'.';lxo. ${c5}dx, ${c4}:kkk'xkkkkc ${c3} 'dkkkkkxo:. ${c5};kx ${c4}.kkk:;xkkd. ${c3} ..... ${c5}.;dk:. ${c5}lkk. ${c4}:;, ${c5}:kkkkkkkdoxkkx ,c,,;;;:xkkd. ;kkkkl... ;kkkkl ,od; EOF ;; "Exodia Predator OS"* | "exodia-predator"* | "Predator"*) set_colors 5 5 read -rd '' ascii_data <<'EOF' ${c1}- : ${c1}+: :+ ${c1}++. .++ ${c1}+++ : . +++ ${c1}+++= .+ + =+++ ${c1}++++- ++ += -++++ ${c1}++++++- -++ ++- -++++++ ${c1}++++++++: .+++ +++. :++++++++ ${c1}++++++++++: ++++ ++++ :++++++++++ ${c1}+++++++++++==++++ ++++=++++++=+++++ ${c1}+++++.:++++++++++ ++++++++++:.+++++ ${c1}+++++. .+++++++++ +++++++++. .+++++ ${c1}+++++: ++++++++ ++++++++ :+++++ ${c1}++++++- =+++++++ +++++++= -++++++ ${c1} :+++++= =+++++++ +++++++= =+++++: ${c1} :+++= =+++++++ +++++++= =+++: ${c1} -+= =+++++++ +++++++= ++- ${c1} : =++++++- -++++++= : ${c1} =++++- -++++= ${c1} =++= =++= ${c1} =++ ++= ${c1} =+. .+= ${c1} =- -= ${c1} : : EOF ;; "alpine_small") set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} /\\ /\\ /${c2}/ ${c1}\\ \\ /${c2}/ ${c1}\\ \\ /${c2}// ${c1}\\ \\ ${c2}// ${c1}\\ \\ \\ EOF ;; "Alpine"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} .hddddddddddddddddddddddh. :dddddddddddddddddddddddddd: /dddddddddddddddddddddddddddd/ +dddddddddddddddddddddddddddddd+ `sdddddddddddddddddddddddddddddddds` `ydddddddddddd++hdddddddddddddddddddy` .hddddddddddd+` `+ddddh:-sdddddddddddh. hdddddddddd+` `+y: .sddddddddddh ddddddddh+` `//` `.` -sddddddddd ddddddh+` `/hddh/` `:s- -sddddddd ddddh+` `/+/dddddh/` `+s- -sddddd ddd+` `/o` :dddddddh/` `oy- .yddd hdddyo+ohddyosdddddddddho+oydddy++ohdddh .hddddddddddddddddddddddddddddddddddddh. `yddddddddddddddddddddddddddddddddddy` `sdddddddddddddddddddddddddddddddds` +dddddddddddddddddddddddddddddd+ /dddddddddddddddddddddddddddd/ :dddddddddddddddddddddddddd: .hddddddddddddddddddddddh. EOF ;; "Alter"*) set_colors 6 6 read -rd '' ascii_data <<'EOF' ${c1} %, ^WWWw 'wwwwww !wwwwwwww #`wwwwwwwww @wwwwwwwwwwww wwwwwwwwwwwwwww wwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwww wwwwwwwwwwwwwwwwwwww, w~1i.wwwwwwwwwwwwwwwww, 3~:~1lli.wwwwwwwwwwwwwwww. :~~:~?ttttzwwwwwwwwwwwwwwww #<~:~~~~?llllltO-.wwwwwwwwwww #~:~~:~:~~?ltlltlttO-.wwwwwwwww @~:~~:~:~:~~(zttlltltlOda.wwwwwww @~:~~: ~:~~:~:(zltlltlO a,wwwwww 8~~:~~:~~~~:~~~~_1ltltu ,www 5~~:~~:~~:~~:~~:~~~_1ltq N,, g~:~~:~~~:~~:~~:~:~~~~1q N, EOF ;; "Amazon"*) set_colors 3 7 read -rd '' ascii_data <<'EOF' ${c1} `-/oydNNdyo:.` `.:+shmMMMMMMMMMMMMMMmhs+:.` -+hNNMMMMMMMMMMMMMMMMMMMMMMNNho- .`` -/+shmNNMMMMMMNNmhs+/- ``. dNmhs+:. `.:/oo/:.` .:+shmNd dMMMMMMMNdhs+:.. ..:+shdNMMMMMMMd dMMMMMMMMMMMMMMNds odNMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd dMMMMMMMMMMMMMMMMh yMMMMMMMMMMMMMMMMd .:+ydNMMMMMMMMMMMh yMMMMMMMMMMMNdy+:. `.:+shNMMMMMh yMMMMMNhs+:`` `-+shy shs+:` EOF ;; "AmogOS"*) set_colors 15 6 read -rd '' ascii_data <<'EOF' ${c1} ___________ / \ / ${c2}______${c1} \ / ${c2}/ \${c1} \ | ${c2}( )${c1} \ / ${c2}\______/${c1} | | | / \ | | | | / | | | | _______ | ____/ / \ | / | | | | / ____/ | \_________/ / | \ __/ \_______/ EOF ;; "Anarchy"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' ${c2}..${c1} ${c2}..${c1} ${c2}:..${c1} ${c2}:+++.${c1} .:::++${c2}++++${c1}+::. .:+######${c2}++++${c1}######+:. .+#########${c2}+++++${c1}##########:. .+##########${c2}+++++++${c1}##${c2}+${c1}#########+. +###########${c2}+++++++++${c1}############: +##########${c2}++++++${c1}#${c2}++++${c1}#${c2}+${c1}###########+ +###########${c2}+++++${c1}###${c2}++++${c1}#${c2}+${c1}###########+ :##########${c2}+${c1}#${c2}++++${c1}####${c2}++++${c1}#${c2}+${c1}############: ###########${c2}+++++${c1}#####${c2}+++++${c1}#${c2}+${c1}###${c2}++${c1}######+ .##########${c2}++++++${c1}#####${c2}++++++++++++${c1}#######. .##########${c2}+++++++++++++++++++${c1}###########. #####${c2}++++++++++++++${c1}###${c2}++++++++${c1}#########+ :###${c2}++++++++++${c1}#########${c2}+++++++${c1}#########: +######${c2}+++++${c1}##########${c2}++++++++${c1}#######+ +####${c2}+++++${c1}###########${c2}+++++++++${c1}#####+ :##${c2}++++++${c1}############${c2}++++++++++${c1}##: .${c2}++++++${c1}#############${c2}++++++++++${c1}+. :${c2}++++${c1}###############${c2}+++++++${c1}:: .${c2}++. .:+${c1}##############${c2}+++++++${c1}.. ${c2}.:.${c1} ..::++++++::..:${c2}++++${c1}+. ${c2}.${c1} ${c2}.:+++${c1}. ${c2}.:${c1}: ${c2}..${c1} ${c2}..${c1} EOF ;; "android_small"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} ;, ,; ';,.-----.,;' ,' ', / O O \\ | | '-----------------' EOF ;; "Android"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} -o o- +hydNNNNdyh+ +mMMMMMMMMMMMMm+ `dMM${c2}m:${c1}NMMMMMMN${c2}:m${c1}MMd` hMMMMMMMMMMMMMMMMMMh .. yyyyyyyyyyyyyyyyyyyy .. .mMMm`MMMMMMMMMMMMMMMMMMMM`mMMm. :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: :MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM: -MMMM-MMMMMMMMMMMMMMMMMMMM-MMMM- +yy+ MMMMMMMMMMMMMMMMMMMM +yy+ mMMMMMMMMMMMMMMMMMMm `/++MMMMh++hMMMM++/` MMMMo oMMMM MMMMo oMMMM oNMm- -mMNs EOF ;; "ArseLinux"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} ⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⣴⣶⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣄⠀⠀⠀⠀⣼⠟⠁⠀⠀⢀⣀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⢀⣤⡀⠀⠀⠀⠉⢻⣷⡄⠀⠀⠁⠀⢀⣤⣾⡿⠟⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣷⣿⠏⠀⠀⠀⠀⠀⠀⠹⣿⡄⠀⠀⠀⠙⠉⠁⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⡄⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠀⠀⠀⠠⣶⣶⣶⡶ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⠀⠀⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⢠⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠂⠀⠀⠀⠀⠀⢀⣾⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠇⠀⠀⠀⠀⠀⣠⣾⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣇⣀⣀⣀⣠⣴⣾⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⠀⠀⠀⠀⠀⣤⣤⣴⣶⣾⠿⠟⣿⡏⠙⠛⠛⠛⠋⠉⢀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣿⡄⠀⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⠇⠀⠀⠀⠀⠀⠀⠘⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ EOF ;; "instantOS"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} 'cx0XWWMMWNKOd:'. .;kNMMMMMMMMMMMMMWNKd' 'kNMMMMMMWNNNWMMMMMMMMXo. ,0MMMMMW0o;'..,:dKWMMMMMWx. OMMMMMXl. .xNMMMMMNo WMMMMNl .kWWMMMMO' MMMMMX; oNWMMMMK, NMMMMWo .OWMMMMMK, kWMMMMNd. ,kWMMMMMMK, 'kWMMMMWXxl:;;:okNMMMMMMMMK, .oXMMMMMMMWWWMMMMMMMMMMMMK, 'oKWMMMMMMMMMMMMMMMMMMMK, .;lxOKXXXXXXXXXXXXXXXO;...... ................,d0000000kd:. .kMMMMMMMMMW0; .kMMMMMMMMMMMX .xMMMMMMMMMMMW cXMMMMMMMMMM0 :0WMMMMMMNx, .o0NMWNOc. EOF ;; "Antergos"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c2} `.-/::/-`` .-/osssssssso/. :osyysssssssyyys+- `.+yyyysssssssssyyyyy+. `/syyyyyssssssssssyyyyys-` `/yhyyyyysss${c1}++${c2}ssosyyyyhhy/` .ohhhyyyys${c1}o++/+o${c2}so${c1}+${c2}syy${c1}+${c2}shhhho. .shhhhys${c1}oo++//+${c2}sss${c1}+++${c2}yyy${c1}+s${c2}hhhhs. -yhhhhs${c1}+++++++o${c2}ssso${c1}+++${c2}yyy${c1}s+o${c2}hhddy: -yddhhy${c1}o+++++o${c2}syyss${c1}++++${c2}yyy${c1}yooy${c2}hdddy- .yddddhs${c1}o++o${c2}syyyyys${c1}+++++${c2}yyhh${c1}sos${c2}hddddy` `odddddhyosyhyyyyyy${c1}++++++${c2}yhhhyosddddddo .dmdddddhhhhhhhyyyo${c1}+++++${c2}shhhhhohddddmmh. ddmmdddddhhhhhhhso${c1}++++++${c2}yhhhhhhdddddmmdy dmmmdddddddhhhyso${c1}++++++${c2}shhhhhddddddmmmmh -dmmmdddddddhhys${c1}o++++o${c2}shhhhdddddddmmmmd- .smmmmddddddddhhhhhhhhhdddddddddmmmms. `+ydmmmdddddddddddddddddddmmmmdy/. `.:+ooyyddddddddddddyyso+:.` EOF ;; "antiX"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} \ , - ~ ^ ~ - \ / , ' \ ' , / , \ '/ , \ / , ,___, \/ , / | _ _ _|_ o /\ , |, | / |/ | | | / \ , \,_/\_/ | |_/|_/|_/_/ \, , / ,\ , / , ' \ ' - , _ _ _ , ' EOF ;; "Afterglow"*) set_colors 5 1 3 4 read -rd '' ascii_data <<'EOF' ${c2} . ${c1}. ${c2}.{! ${c1}.L! ${c2}J@||* ${c1}gJJJJL` ${c2}g@FFS" ${c1},@FFFJF`${c2}_g@@LLP` ${c1}_@FFFFF`${c2}_@@@@@P` ${c4}. ${c1}J@@@LLF ${c2}_@@@@@P` ${c4}.J! ${c1}g@@@@@" ${c2}_@@@@@P`${c3}. ${c4}.L|||* ${c1}g@@@@M" ${c2}"VP`${c3}.L! ${c4}<@JJJJ` ${c1}"@N" ${c3}:||||! ${c4}JFFFFS" ${c3}.{JJ||F`${c4}_gFFFF@' ${c3}.@FJJJF`${c4},@LFFFF` ${c3}_@FFFFF ${c4}VLLLP` ${c3}J@@LL@" ${c4}`" ${c3}V@@" EOF ;; "AOSC OS"*) set_colors 4 0 1 3 read -rd '' ascii_data <<'EOF' ${c2} __ ${c2}gpBBBBBBBBBP ${c2}_gBBBBBBBBBRP ${c2}4BBBBBBBBRP ${c4},_____ ${c2}`"" ${c4}_g@@@@@@@@@@@@@%g> ${c4}__@@@@@@@@@@@@@@@@P" ${c1}___ ${c4}_g@@@@@@@@@@@@@@@N"` ${c1}_gN@@@@@N^ ${c4}_w@@@@@@@@@@@@@@@@P" ${c1}_g@@@@@@@P" ${c4}_g@@@@@@@@@@@@@@@N"` ${c1}VMNN@NNNM^` ${c4}^MMM@@@@@@@@@@@MP" ${c3},ggppww__ ${c4}`""""" ${c3}_wNNNNNNNNNNNNNNNNNNN ${c3}_gBNNNNNNNNNNNNNNNNNP" ${c3}_wNNNNNNNNNNNNNNNNNNMP` ${c3}_gBNNNNNNNNNNNNNNNNNP" ${c3}_wNNNNNNNNNNNNNNNNNNNM^ ${c3}""Y^^MNNNNNNNNNNNNP` ${c3}`""""""" EOF ;; "Apricity"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} ./o- ``...`` `:. -/: `-+ymNMMMMMNmho-` :sdNNm/ `+dMMMMMMMMMMMMMMMmo` sh:.:::- /mMMMMMMMMMMMMMMMMMMMm/`sNd/ oMMMMMMMMMMMMMMMMMMMMMMMs -` :MMMMMMMMMMMMMMMMMMMMMMMMM/ NMMMMMMMMMMMMMMMMMMMMMMMMMd MMMMMMMmdmMMMMMMMMMMMMMMMMd MMMMMMy` .mMMMMMMMMMMMmho:` MMMMMMNo/sMMMMMMMNdy+-.`-/ MMMMMMMMMMMMNdy+:.`.:ohmm: MMMMMMMmhs+-.`.:+ymNMMMy. MMMMMM/`.-/ohmNMMMMMMy- MMMMMMNmNNMMMMMMMMmo. MMMMMMMMMMMMMMMms:` MMMMMMMMMMNds/. dhhyys+/-` EOF ;; "archcraft_ascii"*) set_colors 6 1 2 3 4 5 read -rd '' ascii_data <<'EOF' ${c1} -o\ :ooo: .ooooo. ooooooo. +oooooooo. -oooooooooo. --:-+oooooooo. yooo+=+sooooooo. yoooooosooooooooo. y+ooooooooooooooooo. yoooooooooooooooooooo` yoooooo+oo= :oo++ooooo` :oooooo. +ooooo- -ooooooo. .::. +ooosoo= -oooooo` .oooo` +os-=o= =ooooooo=: `oo+ :=ooo=--`. +ooooooooos. .=sooooooo+- .+osossos+-` `-+osososs+. :sss+=-:` `:-=+ssss: :=-:` `-=+: EOF ;; "archcraft_minimal"*) set_colors 6 1 2 3 4 5 read -rd '' ascii_data <<'EOF' ${c1} ⢰⡆ ⢠⣿⣿⡄ ⢀⣾⣿⣿⣿⡀ ⣼⣿⣿⣿⣿⣷⡀ ⣼⣿⣿⣿⣿⣿⣿⣷ ⢼⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣰⣤⣈⠻⢿⣿⣿⣿⣿⣿⣿⣧ ⣰⣿⣿⣿⣿⣮⣿⣿⣿⣿⣿⣿⣿⣧ ⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧ ⣼⣿⣿⣿⣿⣿⡿⣿⣿⡟ ⠸⣿⣿⡿⣿⣿⣿⣿⣿⣷⡀ ⣼⣿⣿⣿⣿⣿⡏ ⠈⣿⣿⣿⣿⣿⣷⡀ ⢀⣼⣿⣿⣿⣿⣿⣿⡗ ⢀⣠⣤⣀ ⠸⣿⣿⣿⣿⣿⣿⣷⡀ ⢀⣾⣿⣿⣿⣿⣿⡏⠁ ⢠⣿⣿⣿⣿⡇ ⢙⣿⣿⣻⠿⣿⣷⡀ ⢀⣾⣿⣿⣿⣿⣿⣿⣷⣤⡀ ⠻⣿⣿⡿⠃ ⢀⣼⣿⣿⣿⣿⣦⣌⠙ ⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏ ⢿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀ ⢠⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁ ⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⡄ ⣠⣿⣿⣿⣿⠿⠛⠋⠁ ⠉⠙⠻⢿⣿⣿⣿⣿⣆ ⡰⠟⠛⠉⠁ ⠉⠙⠛⠿⢆ EOF ;; "Archcraft"*) set_colors 6 1 2 3 4 5 read -rd '' ascii_data <<'EOF' ${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢰⡆${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢠⣿⣿⡄${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢀⣾⣿⣿⣿⡀${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣷⡀${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⣿⣷${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢼⣿⣿⣿⣿⣿⣿⣿⣿⣧${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣤⣈⠻⢿⣿⣿⣿⣿⣿⣿⣧${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣿⣿⣿⣿⣮⣿⣿⣿⣿⣿⣿⣿⣧${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧${c3}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧${c4}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ ${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⡿⣿⣿⡟${c6}⠄⠄${c1}⠸⣿⣿⡿⣿⣿⣿⣿⣿⣷⡀${c6}⠄⠄⠄⠄⠄⠄⠄⠄ ${c1}⠄⠄⠄⠄⠄⠄⠄⠄${c1}⣼⣿⣿⣿⣿⣿⡏${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠈⣿⣿⣿⣿⣿⣷⡀${c1}⠄⠄⠄⠄⠄⠄⠄ ${c2}⠄⠄⠄⠄⠄⠄${c1}⢀⣼⣿⣿⣿⣿⣿⣿⡗${c2}⠄⠄⠄${c1}⢀⣠⣤⣀⠄⠄⠄${c1}⠸⣿⣿⣿⣿⣿⣿⣷⡀${c2}⠄⠄⠄⠄⠄⠄ ${c3}⠄⠄⠄⠄⠄${c1}⢀⣾⣿⣿⣿⣿⣿⡏⠁${c3}⠄⠄⠄${c1}⢠⣿⣿⣿⣿⡇${c3}⠄⠄⠄⠄${c1}⢙⣿⣿⣻⠿⣿⣷⡀${c3}⠄⠄⠄⠄⠄ ${c4}⠄⠄⠄⠄${c1}⢀⣾⣿⣿⣿⣿⣿⣿⣷⣤⡀${c4}⠄⠄⠄${c1}⠻⣿⣿⡿⠃${c4}⠄⠄⠄${c1}⢀⣼⣿⣿⣿⣿⣦⣌⠙⠄${c4}⠄⠄⠄⠄ ${c5}⠄⠄⠄${c1}⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏${c5}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⢿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀${c5}⠄⠄⠄ ${c6}⠄⠄${c1}⢠⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠁${c6}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⡄${c6}⠄⠄ ${c1}⠄${c1}⣠⣿⣿⣿⣿⠿⠛⠋⠁${c1}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠉⠙⠻⢿⣿⣿⣿⣿⣆${c1}⠄ ${c1}⡰⠟⠛⠉⠁${c2}⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄${c1}⠉⠙⠛⠿⢆ EOF ;; "arcolinux_small"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' ${c2} A ooo ooooo ooooooo ooooooooo ooooo ooooo ooooo ooooo ooooo ooooo ooooo ${c1}${c2} ooooo ${c1}${c2} ooooo ${c1}${c2} EOF ;; "ArcoLinux"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' ${c2} /- ooo: yoooo/ yooooooo yooooooooo yooooooooooo .yooooooooooooo .oooooooooooooooo .oooooooarcoooooooo .ooooooooo-oooooooooo .ooooooooo- oooooooooo :ooooooooo. :ooooooooo :ooooooooo. :ooooooooo :oooarcooo .oooarcooo :ooooooooy .ooooooooo :ooooooooo ${c1}/ooooooooooooooooooo${c2} :ooooooooo ${c1}.-ooooooooooooooooo.${c2} ooooooooo- ${c1}-ooooooooooooo.${c2} ooooooooo- ${c1}.-oooooooooo.${c2} ooooooooo. ${c1}-ooooooooo${c2} EOF ;; "arch_small") set_colors 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} /\\ / \\ /\\ \\ ${c2} / \\ / ,, \\ / | | -\\ /_-'' ''-_\\ EOF ;; "arch_old") set_colors 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} __ _=(SDGJT=_ _GTDJHGGFCVS) ,GTDJGGDTDFBGX0 ${c1} JDJDIJHRORVFSBSVL${c2}-=+=,_ ${c1} IJFDUFHJNXIXCDXDSV,${c2} "DEBL ${c1} [LKDSDJTDU=OUSCSBFLD.${c2} '?ZWX, ${c1} ,LMDSDSWH' `DCBOSI${c2} DRDS], ${c1} SDDFDFH' !YEWD,${c2} )HDROD ${c1} !KMDOCG &GSU|${c2}\_GFHRGO\' ${c1} HKLSGP'${c2} __${c1}\TKM0${c2}\GHRBV)' ${c1}JSNRVW'${c2} __+MNAEC${c1}\IOI,${c2}\BN' ${c1}HELK['${c2} __,=OFFXCBGHC${c1}\FD) ${c1}?KGHE ${c2}\_-#DASDFLSV='${c1} 'EF 'EHTI !H `0F' '! EOF ;; "ArchBox"*) set_colors 2 7 1 read -rd '' ascii_data <<'EOF' ${c1} ...:+oh/:::.. ..-/oshhhhhh` `::::-. .:/ohhhhhhhhhhhh` `-::::. .+shhhhhhhhhhhhhhhhh` `.::-. /`-:+shhhhhhhhhhhhhh` .-/+shh / .:/ohhhhhhhhh` .:/ohhhhhhhh / `-:+shhh` ..:+shhhhhhhhhhhh / .:ohhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / `hhhhhhhhhhhhhhhhhhhh / .+o+ `hhhhhhhhhhhhhhhhhhhh / -hhhhh `hhhhhhhhhhhhhhhhhhhh / ohhhhho `hhhhhhhhhhhhhhhhhhhh /:::+`hhhhoos` `hhhhhhhhhhhhhhhhhs+` `--/:` /: `hhhhhhhhhhhho/- -/:. `hhhhhhs+:-` ::::/ho/-` EOF ;; "ARCHlabs"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} 'c' 'kKk, .dKKKx. .oKXKXKd. .l0XXXXKKo. c0KXXXXKX0l. :0XKKOxxOKX0l. :OXKOc. .c0XX0l. :OK0o. ${c4}...${c1}'dKKX0l. :OX0c ${c4};xOx'${c1}'dKXX0l. :0KKo.${c4}.o0XXKd'.${c1}lKXX0l. c0XKd.${c4}.oKXXXXKd..${c1}oKKX0l. .c0XKk;${c4}.l0K0OO0XKd..${c1}oKXXKo. .l0XXXk:${c4},dKx,.'l0XKo.${c1}.kXXXKo. .o0XXXX0d,${c4}:x; .oKKx'${c1}.dXKXXKd. .oKXXXXKK0c.${c4};. :00c'${c1}cOXXXXXKd. .dKXXXXXXXXk,${c4}. cKx'${c1}'xKXXXXXXKx' 'xKXXXXK0kdl:. ${c4}.ok; ${c1}.cdk0KKXXXKx' 'xKK0koc,.. ${c4}'c, ${c1} ..,cok0KKk, ,xko:'. ${c4}.. ${c1} .':okx; .,'. .',. EOF ;; "ArchStrike"*) set_colors 8 6 read -rd '' ascii_data <<'EOF' ${c1} * **. **** ****** ******* ** ******* **** ******* ${c1}****${c2}_____${c1}***${c2}/${c1}* ***${c2}/${c1}*******${c2}//${c1}*** **${c2}/${c1}********${c2}///${c1}*${c2}/${c1}** **${c2}/${c1}*******${c2}////${c1}***${c2}/${c1}** **${c2}/${c1}****${c2}//////.,${c1}****${c2}/${c1}** ***${c2}/${c1}*****${c2}/////////${c1}**${c2}/${c1}*** ****${c2}/${c1}**** ${c2}/////${c1}***${c2}/${c1}**** ******${c2}/${c1}*** ${c2}//// ${c1}**${c2}/${c1}****** ********${c2}/${c1}* ${c2}/// ${c1}*${c2}/${c1}******** ,****** ${c2}// ______ / ${c1}******, EOF ;; "astOS"*) set_colors 8 read -rd '' ascii_data <<'EOF' ${c1} oQA#$%UMn H 9 G # 6 % ?#M#%KW3" // \\\ // \\\ // \\\ // \\\ n%@$DK&ML .0O3#@&M_ P # 8 W H U G # B N O @ C&&#%HNAR 'WS3QMHB" // \\\ \\\ // \\\ \\\ // \\\ \\\ // \\\ \\\ uURF$##Bv nKWB$%ABc aM@3R@D@b 8 M @ O # % % & G U @ @ & @ # % % # !HGN@MNCf t&$9#%HQr ?@G#6S@QP EOF ;; *"XFerience"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} ``--:::::::-.` .-/+++ooooooooo+++:-` `-/+oooooooooooooooooo++:. -/+oooooo/+ooooooooo+/ooo++:` `/+oo++oo. .+oooooo+.-: +:-o+- `/+o/. -o. :oooooo+ ```:.+oo+- `:+oo- -/` :oooooo+ .`-`+oooo/. .+ooo+. .` `://///+-+..oooooo+:` -+ooo:` ``.-+oooooo+/` -+oo/` :+oooo/. .+oo: ..-/. . -+oo+/` `/++- -:::++::/. -+oo+- ./o: `:///+- `./ooo+:` .++- `` /-` -:/+oooo+:` .:+/:`` `-:ooooooo++- ./+o+//:...../+oooooooo++:` `:/++ooooooooooooo++/-` `.-//++++++//:-.` `````` EOF ;; "Stock Linux"*) set_colors 4 7 read -rd '' ascii_data << 'EOF' ${c1} #G5J5G# &BPYJJJJJJJYPB& &#G5JJJJJJY5YJJJJJJ5G#& #G5YJJJJJY5G#& &#G5YJJJJJY5G# BPYJJJJJJJ5B& &BPYJJJJJJYPB JJJJJJJJJJY5G#& &BPYJJJJJ JJJJJJJJJJJJJJY5G# &JJJJJ PYJJJJJJJJJJJJJJJJYPB& GYJJJ &BPYJJJJJJJJJJJJJJJJ5PB& &BP #G5YJJJJJJJJJJJJJJJY5G# PB& &BP5JJJJJJJJJJJJJJJJYPB& JJJYG &BPYJJJJJJJJJJJJJJJJYP JJJJJ& #G5YJJJJJJJJJJJJJJ JJJJJYPB& &#G5YJJJJJJJJJJ BPYJJJJJJYPB& &B5JJJJJJJYPB #G5YJJJJJY5G#& &#G5YJJJJJY5G# &#G5JJJJJJY5YJJJJJJ5G#& &BPYJJJJJJJYPB& #G5J5G# EOF ;; "ArchMerge"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} y: sMN- +MMMm` /MMMMMd` :NMMMMMMy -NMMMMMMMMs .NMMMMMMMMMM+ .mMMMMMMMMMMMM+ oNMMMMMMMMMMMMM+ `+:-+NMMMMMMMMMMMM+ .sNMNhNMMMMMMMMMMMM/ `hho/sNMMMMMMMMMMMMMMM/ `.`omMMmMMMMMMMMMMMMMMMM+ .mMNdshMMMMd+::oNMMMMMMMMMo .mMMMMMMMMM+ `yMMMMMMMMMs .NMMMMMMMMM/ yMMMMMMMMMy -NMMMMMMMMMh `mNMMMMMMMMd` /NMMMNds+:.` `-/oymMMMm. +Mmy/. `:smN: /+. -o. EOF ;; "aerOS"*) set_colors fg 0 0 0 read -rd '' ascii_data <<'EOF' ${c1} ooo OOO OOO ooo oOO OOo oOO OOo oOO OOo oOO OOo oOO OOo oOO OOo OOo OOo OOo OOo OOo OOo oOO OOo oOO OOo oOO OOo oOO OOo oO OOo oOO OOo oOO OOo ooo OOO OOO ooo EOF ;; "Arch"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} -` .o+` `ooo/ `+oooo: `+oooooo: -+oooooo+: `/:-:++oooo+: `/++++/+++++++: `/++++++++++++++: `/+++o${c2}oooooooo${c1}oooo/` ${c2} ${c1}./${c2}ooosssso++osssssso${c1}+` ${c2} .oossssso-````/ossssss+` -osssssso. :ssssssso. :osssssss/ osssso+++. /ossssssss/ +ssssooo/- `/ossssso+/:- -:/+osssso+- `+sso+:-` `.-/+oso: `++:. `-/+/ .` `/ EOF ;; "unicodearch"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} ▄ ▟█▙ ▟███▙ ▟█████▙ ▟███████▙ ▂▔▀▜██████▙ ▟██▅▂▝▜█████▙ ▟█████████████▙ ▟███████████████▙ ▟█████████████████▙ ▟███████████████████▙ ▟█████████▛▀▀▜████████▙ ▟████████▛ ▜███████▙ ▟█████████ ████████▙ ▟██████████ █████▆▅▄▃▂ ▟██████████▛ ▜█████████▙ ▟██████▀▀▀ ▀▀██████▙ ▟███▀▘ ▝▀███▙ ▟▛▀ ▀▜▙ EOF ;; "artix_small"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} ' 'A' 'ooo' 'ookxo' `ookxxo' '. `ooko' 'ooo`. `oo' 'ooxxxoo`. `' 'ookxxxkooo.` . 'ookxxkoo'` .'oo' 'ooxoo'` .:ooxxo' 'io'` `'oo' '` `' EOF ;; "Artix"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} ' 'o' 'ooo' 'ooxoo' 'ooxxxoo' 'oookkxxoo' 'oiioxkkxxoo' ':;:iiiioxxxoo' `'.;::ioxxoo' '-. `':;jiooo' 'oooio-.. `'i:io' 'ooooxxxxoio:,. `'-;' 'ooooxxxxxkkxoooIi:-. `' 'ooooxxxxxkkkkxoiiiiiji' 'ooooxxxxxkxxoiiii:'` .i' 'ooooxxxxxoi:::'` .;ioxo' 'ooooxooi::'` .:iiixkxxo' 'ooooi:'` `'';ioxxo' 'i:'` '':io' '` `' EOF ;; "Cobalt"*) set_colors 33 33 59 31 8 read -rd '' ascii_data <<'EOF' ${c1} /// ${c1} ,////////////// ${c1} /////////////////////////////// ${c1} ///////////////${c5}***********${c1}////// ////${c5}***********************${c1}///// /////${c5}***********************${c1}//// //////${c5},,,,,,,,,,,,,,,,,,,,,,${c1}/// //////${c5},,,,,,,,,,,,,,,,,,,,,,,,,${c1}///// /////${c5},,,,,,,,,,,,,,,,,,,,,,,,,,,,${c1}///// ${c4} *****${c3},,,,,,,,,,,,,,,,,,,,,,,,,,,,,${c4}***** ******${c3},,,,,,,,,,,,,,,,,,,,,,,,,,,,${c4}***** *******${c3},,,,,,,,,,,,,,,,,,,,,,,,,${c4}****** *******${c3}......................${c4}******* ******${c3}....${c4}*********************** **************************** ***** EOF ;; "Arya"*) set_colors 2 1 read -rd '' ascii_data <<'EOF' ${c1} `oyyy/${c2}-yyyyyy+ ${c1} -syyyy/${c2}-yyyyyy+ ${c1} .syyyyy/${c2}-yyyyyy+ ${c1} :yyyyyy/${c2}-yyyyyy+ ${c1} `/ :yyyyyy/${c2}-yyyyyy+ ${c1} .+s :yyyyyy/${c2}-yyyyyy+ ${c1} .oys :yyyyyy/${c2}-yyyyyy+ ${c1} -oyys :yyyyyy/${c2}-yyyyyy+ ${c1} :syyys :yyyyyy/${c2}-yyyyyy+ ${c1} /syyyys :yyyyyy/${c2}-yyyyyy+ ${c1} +yyyyyys :yyyyyy/${c2}-yyyyyy+ ${c1} .oyyyyyyo. :yyyyyy/${c2}-yyyyyy+ --------- ${c1} .syyyyyy+` :yyyyyy/${c2}-yyyyy+-+syyyyyyyy ${c1} -syyyyyy/ :yyyyyy/${c2}-yyys:.syyyyyyyyyy ${c1}:syyyyyy/ :yyyyyy/${c2}-yyo.:syyyyyyyyyyy EOF ;; "AsteroidOS"*) set_colors 160 208 202 214 read -rd '' ascii_data <<'EOF' ${c1} *** ${c1} ***** ${c1} ********** ${c1} *************** ${c1} *///****////****////. ${c2} (/////// /////// ///////( ${c2} /(((((//* //, //((((((. ${c2} ((((((((((( ((( (((((((( ${c2} *((((((((((((((((((((((( (((((((( ${c3} (((((#(((((((#((((( ((#((((( ${c3} (#(#(#####(#(#, ####(#(# ${c3} ######### ######## ${c3} /######## ######## ${c4} #######%####### ${c4} (#%%%%%%%# ${c4} %%%%% ${c4} %%% EOF ;; "Athena"*) set_colors 7 3 read -rd '' ascii_data <<'EOF' ${c1} . .. ${c1} :####: ####. ${c1} .################ ${c1} :################## ${c1}.###################. ${c1}######## ####### ${c1}####### ${c2}####${c1} ##### ${c1}:#######. #### ${c1} ######### ${c2}#${c1} ## # ${c1} ####### ${c2}##${c1} #### ${c1}######## ${c2}####${c1} ####### ${c1}######## ${c2}#####${c1} ######## ${c1}######## ${c2}#######${c1} ####### ${c1} ####### ${c2}########${c1} ####### ${c1} ######## ${c2}#########${c1} ###### ${c1} ######## ${c2}#########${c1} ##### ${c1} ####### ${c2}#########${c1} #### ${c1} ####### ${c2}#########${c1} ## ${c1} ####### ${c2}########${c1} ## ${c1} ###### ${c2}########${c1} # ${c1} ### ${c2}#######${c1} ${c1} ${c2}######${c1} ${c1} ${c2}####${c1} ${c1} ${c2}##${c1} EOF ;; "azos"*) set_colors 6 1 read -rd '' ascii_data <<'EOF' ${c1} ////. ${c2} ((((( ${c1} //////// ${c2} @(((((((( ${c1} //////// ${c2} @(((((((( ${c1} //////// /////// ${c2} ((((((( @(((((((( ${c1} //////// ///////// ${c2} ((((((((( @(((((((( ${c1} //////// ///////// ${c2} ((((((((( @(((((((( ${c1} //////// ///////// ////// ${c2} (((((( ((((((((( @(((((((( ${c1} //////// ///////// //////// ${c2} (((((((( ((((((((( @(((((((( ${c1} //////// ///////// //////// ${c2} (((((((( ((((((((( @(((((((( ${c1} //////// ///////// //////// ${c2} ((((((( ((((((((( @(((((((( ${c1} //////// ///////// /// ${c2} ( ((((((((( @(((((((( ${c1} //////// ///////// ${c2} ((((((((( @(((((((( ${c1} //////// ///////// ${c2} &(((((((( @(((((((( ${c1} //////// ////// ${c2} @(((( @(((((((( ${c1} //////// ${c2} @(((((((( ${c1} //////// ${c2} @(((((((( ${c1} ///// ${c2} ((((( EOF ;; "Bedrock"*) set_colors 8 7 read -rd '' ascii_data <<'EOF' ${c1}-------------------------------------- -------------------------------------- -------------------------------------- ---${c2}\\\\\\\\\\\\\\\\\\\\\\\\${c1}----------------------- ----${c2}\\\\\\ \\\\\\${c1}---------------------- -----${c2}\\\\\\ \\\\\\${c1}--------------------- ------${c2}\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\${c1}------ -------${c2}\\\\\\ \\\\\\${c1}----- --------${c2}\\\\\\ \\\\\\${c1}---- ---------${c2}\\\\\\ ______ \\\\\\${c1}--- ----------${c2}\\\\\\ ///${c1}--- -----------${c2}\\\\\\ ///${c1}---- ------------${c2}\\\\\\ ///${c1}----- -------------${c2}\\\\\\////////////////${c1}------ -------------------------------------- -------------------------------------- -------------------------------------- EOF ;; "BigLinux"*) set_colors 6 11 4 read -rd '' ascii_data <<'EOF' ${c1} ... :OWMMMNd. :NMMMMMMMMWc okkl. kMMMMMW0xdOWMl : xMMMMMW. kMMMMNc lW. :x NMMMMMO ,MMMM0. 'l Xx "lkk" kMMMX .okx, ${c2}.MX .cc;. .xXKx. KMMM: .OMMMMMl :MM' 'KMMMMWK: 0MMMMk xMMM. lWMMMMMMM' cMMN:;xMMMMk::MMO oMMMMX .XMM. .KMMMWOOMMMd 'MMMMMMMMN, NMMx OMMMMl .kM0OMMMMk. ;MMd xMMMMMMd .MMMW :NMMMd .ckKKx' KMc dWMNd. oMMMN lkNMX, oM. ;. ;MMMMx "MM:. cO ${c3} .X. oMMMMW. l. dMk:..;xWMMMMW, kMMMMMMMMMMX. :XMMMMMMK: ':MM:" Made in Brazil EOF ;; "Bitrig"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} `hMMMMN+ -MMo-dMd` oMN- oMN` yMd /NM: .mMmyyhMMs :NMMMhsmMh +MNhNNoyMm- hMd.-hMNMN: mMmsssmMMMo .MMdyyhNMMMd oMN.`/dMddMN` yMm/hNm+./MM/ .dMMMmo.``.NMo :NMMMNmmmmmMMh /MN/-------oNN: hMd. .dMh sm/ /ms EOF ;; "BlackArch"*) set_colors 1 1 0 1 read -rd '' ascii_data <<'EOF' ${c3} 00 11 ====${c1} .${c3}//${c1} `o${c3}//${c1}: `+o${c3}//${c1}o: `+oo${c3}//${c1}oo: -+oo${c3}//${c1}oo+: `/:-:+${c3}//${c1}ooo+: `/+++++${c3}//${c1}+++++: `/++++++${c3}//${c1}++++++: `/+++o${c2}ooo${c3}//${c2}ooo${c1}oooo/` ${c2} ${c1}./${c2}ooosssso${c3}//${c2}osssssso${c1}+` ${c2} .oossssso-`${c3}//${c1}`/ossssss+` -osssssso. ${c3}//${c1} :ssssssso. :osssssss/ ${c3}//${c1} osssso+++. /ossssssss/ ${c3}//${c1} +ssssooo/- `/ossssso+/:- ${c3}//${c1} -:/+osssso+- `+sso+:-` ${c3}//${c1} `.-/+oso: `++:. ${c3}//${c1} `-/+/ .` ${c3}/${c1} `/ EOF ;; "blackPanther"* | 'blackpanther'*) set_colors 1 11 12 read -rd '' ascii_data <<'EOF' ${c3} ........ .,»╔╗╗╬▄▄╫█▀▓▄▄╬╗╗g≈,. ,j╗╬╣▓▓███████▌;»╙▀▀▀▀█▄▄╗j, .≈╗╬▓██▀▀▀▀▀╠╙░░»»;:`${c2}``>${c1}▄ ${c3}▐ ▓╫╗⌂, .j╬▓█▀▒░░░░░░░░░»»»;:```` ╙▀█▌╬░, ;╗▓█▄▄███████▀░░»»»»;```` ╓▄▄█▄▄φ ██▌Ñ>. .j╣█████▀▀░░░░░░░░»»╓▄▄¿``▄███████/▄████▓╬U. .j╣▓██▀ÜÑ╦╦░░░░░░▐█@▄████⌐▐███████████████▓╬H. «╫▓█▀░ÑÑ╩╦░░░░░░░░▀██████M"▀███████████████▓╫░ :]╣█▌ÑÑÑÑ▄▄██▀░░░░»»██████████████████████████Ñ~ »╫▓█╫ÑÑ▄███▀░░░░░»»▐██████████████████████████▌░ `j╣█▌Ñ╬████░░░░░░░»»▐████████████████████████▌▐█U` `/╫█▌▄███▌░░░░░░░»»»;▀██████████████▀████████w▐█░` ;╟█▌███▌░░░░░░░▄▄»»;:`▀▀████████▀Ü▄████████▌ ▐▌>` `]▓████░░░░░░░░██⌂;:````╓▄▄µp╓▄▄██████████▀ ,█M` "╠╣██▌░░░░░░░»██▌;```` ╙▀██████████████M █▀" "╟╣█░░░░░░░░»███⌂``` ▐▀████████▀░ █▌░` "╩█▄░░░░░░»»▀███ `` └└` ,█▀"` `░▀█▄░░░»»»»████@ .▄█Ü` `╙▀█▄@»»»;`▀███▌¿ ,▄▀Ñ"` `"╨▀█▄▄▄░`▐█████▄, ,▄▄▀▀░` `"╙╩▀▀▀▀████████▓▌▌▌▀▀▀╨"`` ``""░╚╨╝╝╝╝╨╨░""`` EOF ;; "MatuusOS"*) set_colors 9 11 0 read -rd '' ascii_data <<'EOF' ${c2} ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░▒▓▓████▓▒▒░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░▒▓████████████▓░░░░░░░░░░░░░░ ░░░░░░░░░░░░▓████████████████▒░░░░░░░░░░░░ ░░░░░░░░░░░▓██████████████████▒░░░░░░░░░░░ ░░░░░░░░░░▓████▒▓███████▓▓█████░░░░░░░░░░░ ░░░░░░░░░░██████▓░▓████▒░██████▓░░░░░░░░░░ ░░░░░░░░░▒███████▓░▒▓▒░░████████░░░░░░░░░░ ░░░░░░░░░▒█████████▒░░░█████████░░░░░░░░░░ ░░░░░░░░░░██████████▓▒██████████░░░░░░░░░░ ░░░░░░░░░░▓████████████████████▒░░░░░░░░░░ ░░░░░░░░░░░███████████████████▓░░░░░░░░░░░ ░░░░░░░░░░░░█████████████████▓░░░░░░░░░░░░ ░░░░░░░░░░░░░▓██████████████▒░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░▒▓████████▓░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ EOF ;; "BLAG"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} d ,MK: xMMMX: .NMMMMMX; lMMMMMMMM0clodkO0KXWW: KMMMMMMMMMMMMMMMMMMX' .;d0NMMMMMMMMMMMMMMMMMMK. .;dONMMMMMMMMMMMMMMMMMMMMMMx 'dKMMMMMMMMMMMMMMMMMMMMMMMMl .:xKWMMMMMMMMMMMMMMMMMMM0. .:xNMMMMMMMMMMMMMMMMMK. lMMMMMMMMMMMMMMMMMMK. ,MMMMMMMMWkOXWMMMMMM0 .NMMMMMNd. `':ldko OMMMK: oWk, ;: EOF ;; "BlankOn"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c2} `./ohdNMMMMNmho+.` ${c1} .+oo:` ${c2} -smMMMMMMMMMMMMMMMMmy-` ${c1}`yyyyy+ ${c2} `:dMMMMMMMMMMMMMMMMMMMMMMd/` ${c1}`yyyyys ${c2} .hMMMMMMMNmhso/++symNMMMMMMMh- ${c1}`yyyyys ${c2} -mMMMMMMms-` -omMMMMMMN-${c1}.yyyyys ${c2}.mMMMMMMy. .yMMMMMMm:${c1}yyyyys ${c2}sMMMMMMy `sMMMMMMh${c1}yyyyys ${c2}NMMMMMN: .NMMMMMN${c1}yyyyys ${c2}MMMMMMm. NMMMMMN${c1}yyyyys ${c2}hMMMMMM+ /MMMMMMN${c1}yyyyys ${c2}:NMMMMMN: :mMMMMMM+${c1}yyyyys ${c2} oMMMMMMNs- .sNMMMMMMs.${c1}yyyyys ${c2} +MMMMMMMNho:.` `.:ohNMMMMMMNo ${c1}`yyyyys ${c2} -hMMMMMMMMNNNmmNNNMMMMMMMMh- ${c1}`yyyyys ${c2} :yNMMMMMMMMMMMMMMMMMMNy:` ${c1}`yyyyys ${c2} .:sdNMMMMMMMMMMNds/. ${c1}`yyyyyo ${c2} `.:/++++/:.` ${c1}:oys+. EOF ;; "BlueLight"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' ${c1} oMMNMMMMMMMMMMMMMMMMMMMMMM oMMMMMMMMMMMMMMMMMMMMMMMMM oMMMMMMMMMMMMMMMMMMMMMMMMM oMMMMMMMMMMMMMMMMMMMMMMMMM -+++++++++++++++++++++++mM${c2} ```````````````````````..${c1}dM${c2} ```````````````````````....${c1}dM${c2} ```````````````````````......${c1}dM${c2} ```````````````````````........${c1}dM${c2} ```````````````````````..........${c1}dM${c2} ```````````````````````............${c1}dM${c2} .::::::::::::::::::::::-..............${c1}dM${c2} `-+yyyyyyyyyyyyyyyyyyyo............${c1}+mMM${c2} -+yyyyyyyyyyyyyyyyo..........${c1}+mMMMM${c2} ./syyyyyyyyyyyyo........${c1}+mMMMMMM${c2} ./oyyyyyyyyyo......${c1}+mMMMMMMMM${c2} omdyyyyyyo....${c1}+mMMMMMMMMMM${c2} ${c1}oMMM${c2}mdhyyo..${c1}+mMMMMMMMMMMMM oNNNNNNm${c2}dso${c1}mMMMMMMMMMMMMMM EOF ;; "Bodhi"*) set_colors 7 11 2 read -rd '' ascii_data <<'EOF' ${c1}| ${c2},,mmKKKKKKKKWm,, ${c1}' ${c2},aKKP${c1}LL**********|L*${c2}TKp, ${c1}t ${c2}aKP${c1}L**``` ```**L${c2}*Kp IX${c1}EL${c3}L,wwww, ${c1}``*||${c2}Kp ,#P${c1}L|${c3}KKKpPP@IPPTKmw, ${c1}`*||${c2}K ,K${c1}LL*${c3}{KKKKKKPPb$KPhpKKPKp ${c1}`||${c2}K #${c1}PL ${c3}!KKKKKKPhKPPP$KKEhKKKKp ${c1}`||${c2}K !H${c1}L* ${c3}1KKKKKKKphKbPKKKKKK$KKp ${c1}`|I${c2}W $${c1}bL ${c3}KKKKKKKKBQKhKbKKKKKKKK ${c1}|I${c2}N $${c1}bL ${c3}!KKKKKKKKKKNKKKKKKKPP` ${c1}|I${c2}b TH${c1}L* ${c3}TKKKKKK##KKKN@KKKK^ ${c1}|I${c2}M K@${c1}L ${c3}*KKKKKKKKKKKEKE5 ${c1}||${c2}K `NL${c1}L ${c3}`KKKKKKKKKK"```|L ${c1}||${c2}#P `K@${c1}LL ${c3}`"**"` ${c1}'. :||${c2}#P Yp${c1}LL ${c1}' |L${c2}$M` `Tp${c1}pLL, ,|||${c2}p'L "Kpp${c1}LL++,., ,,|||$${c2}#K* ${c1}'. ${c2}`"MKWpppppppp#KM"` ${c1}`h, EOF ;; "bonsai"*) set_colors 6 2 3 read -rd '' ascii_data <<'EOF' ${c2} ,####, ${c2}#######, ${c2},#####, ${c2}#####',# ${c2}'###### ${c2}''###'${c3}';,,,'${c2}###' ${c3} ,; '''' ${c3} ;;; ${c2},#####, ${c3} ;;;' ,,;${c2};;### ${c3} ';;;;''${c2}'####' ${c3} ;;; ${c3} ,.;;';'',,, ${c3} ' ' ${c1} # # O ##, ,##,',##, ,## ,#, , # # # # #''# #,, # # # '#' '##' # # ,,# '##;, # EOF ;; "BSD") set_colors 1 7 4 3 6 read -rd '' ascii_data <<'EOF' ${c1} , , /( )` \ \___ / | /- _ `-/ ' (${c2}/\/ \ ${c1}\ /\ ${c2}/ / | ` ${c1}\ ${c3}O O ${c2}) ${c1}/ | ${c2}`-^--'${c1}`< ' (_.) _ ) / `.___/` / `-----' / ${c4}<----. __ / __ \ ${c4}<----|====${c1}O)))${c4}==${c1}) \) /${c4}====| <----' ${c1}`--' `.__,' \ | | \ / /\ ${c5}______${c1}( (_ / \______/ ${c5},' ,-----' | `--{__________) EOF ;; "BunsenLabs"*) set_colors fg 7 read -rd '' ascii_data <<'EOF' ${c1} `++ -yMMs `yMMMMN` -NMMMMMMm. :MMMMMMMMMN- .NMMMMMMMMMMM/ yMMMMMMMMMMMMM/ `MMMMMMNMMMMMMMN. -MMMMN+ /mMMMMMMy -MMMm` `dMMMMMM `MMN. .NMMMMM. hMy yMMMMM` -Mo +MMMMN /o +MMMMs +MMMN` hMMM: `NMM/ +MN: mh. -/ EOF ;; "CachyOS"*) set_colors 2 8 6 read -rd '' ascii_data <<'EOF' ${c3} ${c2}.${c3}-------------------------: ${c3} .${c1}+=${c3}========================. ${c3} :${c1}++${c3}===${c1}++===${c3}===============- :${c1}++${c3}- ${c3} :${c1}*++${c3}====${c1}+++++==${c3}===========- .==: ${c3} -${c1}*+++${c3}=====${c1}+***++=${c3}=========: ${c3} =${c1}*++++=${c3}=======------------: ${c3} =${c1}*+++++=${c3}====- ${c2}...${c3} ${c3} .${c1}+*+++++${c3}=-===: .${c1}=+++=${c3}: ${c3} :${c1}++++${c3}=====-==: -***${c1}**${c3}+ ${c3} :${c1}++=${c3}=======-=. .=+**+${c2}.${c3} ${c3}.${c1}+${c3}==========-. ${c2}.${c3} ${c3} :${c1}+++++++${c3}====- ${c2}.${c3}--==-${c2}.${c3} ${c3} :${c1}++${c3}==========. ${c2}:${c1}+++++++${c3}${c2}: ${c3} .-===========. =*****+*+ ${c3} .-===========: .+*****+: ${c3} -=======${c1}++++${c3}:::::::::::::::::::::::::-: ${c2}.${c3}---: ${c3} :======${c1}++++${c3}====${c1}+++******************=. ${c3} :=====${c1}+++${c3}==========${c1}++++++++++++++*- ${c3} .====${c1}++${c3}==============${c1}++++++++++*- ${c3} .===${c1}+${c3}==================${c1}+++++++: ${c3} .-=======================${c1}+++: ${c3} ${c2}.......................... EOF ;; "Calculate"*) set_colors 7 3 read -rd '' ascii_data <<'EOF' ${c1} ...... ,,+++++++,. .,,,....,,,${c2}+**+,,.${c1} ............,${c2}++++,,,${c1} ............... ......,,,........ .....+*#####+,,,*+. .....,*###############,..,,,,,,.. ......,*#################*..,,,,,..,,,.. .,,....*####################+***+,,,,...,++, .,,..,..*#####################*, ,+,.+*..*#######################. ,+,,+*+..,########################* .,++++++. ..+##**###################+ ..... ..+##***#################*. .,.*#*****##############*. ..,,*********#####****+. ${c2}.,++*****+++${c1}*****************${c2}+++++,.${c1} ${c2},++++++**+++++${c1}***********${c2}+++++++++,${c1} ${c2}.,,,,++++,.. .,,,,,.....,+++,.,,${c1} EOF ;; "Carbs"*) set_colors 4 5 4 4 4 4 read -rd '' ascii_data <<'EOF' ${c2} .......... ..,;:ccccccc:;'.. ..,clllc:;;;;;:cllc,. .,cllc,... ..';;'. .;lol;.. .. .,lol;. .coo:. .'lol,. .,lol,. .,lol,. 'col;. .:ooc'. .'col:. .'cllc'.. .''. ..:lolc,'.......',cll,. ..;cllllccccclllc;'. ...',;;;;;;,,... ..... EOF ;; "CalinixOS") # set_colors 4 5 4 4 4 4 set_colors 5 4 read -rd '' ascii_data <<'EOF' ${c2} ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⠤⠔⠒⠒⠋⠉⠉⠉⠉⠓⠒⠒⠦⠤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⠒⠉⣁⣠⣤⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣤⣄⣈⠙⠲⢤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠴⠋⢁⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡈⠑⢦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⣠⠞⢁⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠈⠢⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⠞⠁⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠋⠉⠁⠀⠀⠀⠀⠈⠉⠙⠛⠿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠈⢢⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⡰⠃⣠⣾⣿⣿⣿⣿⣿⣿⡿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⡿⠁⠀⠀⠀⠀⠀⠀⠙⣄⠀⠀⠀⠀ ⠀⠀⠀⡼⠁⣴⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢆⠀⠀⠀ ⠀⠀⡼⠀⣼⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣆⠀⠀ ⠀⣰⠁⣸⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠉⠻⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄⠀ ⢀⡇⢠⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢳⠀ ⢸⠀⣸⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄ ⣼⠀⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ ⡇⠀⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢛⣿⣿⣿⣿⣿⣿⣿⡦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ ⢻⠀⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇ ⢸⡀⢹⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠃ ⠀⣇⠘⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡼⠀ ⠀⠸⡄⢹⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠃⠀ ⠀⠀⢳⡀⢻⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠈⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠏⠀⠀ ⠀⠀⠀⠳⡀⠻⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣄⡀⠀⠀⠀⠀⢠⠏⠀⠀⠀ ⠀⠀⠀⠀⠙⣄⠙⢿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣿⣿⣿⣿⣦⡀⠀⡰⠃⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠢⡈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣄⣀⡀⠀⠀⠀⠀⢀⣀⣠⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣠⠞⠁⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠈⠢⡈⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⣡⠞⠁⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠓⢤⡈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⣁⠴⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠑⠢⢄⣉⠙⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠛⠋⣉⡤⠖⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠓⠒⠢⠤⠤⠤⠤⠤⠤⠤⠤⠖⠒⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ EOF ;; "CalinixOS_small"*) # set_colors 4 5 4 4 4 4 set_colors 5 4 read -rd '' ascii_data <<'EOF' ${c2} ⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⠐⣂⣈⣩⣭⣭⣍⣀⣐⠀⠄⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⡀⠔⣨⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣅⠢⡀⠀⠀⠀⠀⠀ ⠀⠀⠀⠠⢊⣴⣾⣿⣿⣿⣿⠿⠟⠛⠛⠛⠛⠻⠿⣿⣿⣿⣿⠃⠀⠠⡀⠀⠀⠀ ⠀⠀⡐⢡⣾⣿⣿⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠁⠀⠀⠀⠈⢆⠀⠀ ⠀⡘⢰⣿⣿⣿⡟⠁⠀⠀⢀⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢂⠀ ⢠⢠⣿⣿⣿⡟⠀⠀⠀⠀⠀⠙⠿⣿⣿⣷⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡀ ⡄⢸⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁ ⡇⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣹⣿⣿⣿⣷⠄⠀⠀⠀⠀⠀⠀⠀⠀ ⠃⢸⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⡿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⡀ ⠘⡘⣿⣿⣿⣧⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠁ ⠀⠡⠸⣿⣿⣿⣧⡀⠀⠀⠀⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⢀⠆⠀ ⠀⠀⠡⡘⢿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣷⣦⡀⢀⠊⠀⠀ ⠀⠀⠀⠈⠊⡻⢿⣿⣿⣿⣿⣶⣤⣤⣤⣤⣤⣤⣶⣿⣿⣿⣿⡿⢟⠕⠁⠀⠀⠀ ⠀⠀⠀⠀⠀⠈⠢⢙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⡩⠐⠁⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠐⠂⠭⠉⠙⣛⣛⠋⠉⠭⠐⠂⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ EOF ;; "CBL-Mariner"*) set_colors 6 read -rd '' ascii_data <<'EOF' ${c1} . :- . :==. .=: :===: -==: :-===: .====: :-====- -=====: -====== :=======: -======. .=========: -======: -==========. -======- -===========. :======- :===========. :=======. .-==========. :=======: -==========. :=======- :==========. :=======- .-========- :--------. :========- ..:::--=========- ..::---================-=- EOF ;; "CelOS"*) set_colors 4 6 0 5 read -rd '' ascii_data <<'EOF' ${c4} .,cmmmmmmmmmmmc,. .,cmMMMMMMMMMMMMMMMMMMMMmc. .cMMMMMMMMMMMMMMMMMMMMMMMMMMMmc. .cMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMc. ,:MMM ${c3}####################################${c4} cMMMMMMmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmc. .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM. .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMc "******************************MMMMMMMMMMMMMc: ${c3}#################################### ${c4}MMMMMMMMMMMMMc "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM: "MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" 'MMMMMMMMM*******************************: \"MMMMMM ${c3}##################################### ${c4}`:MMMMMMmmmmmmmmmmmmmmmmmmmmmmmmmmmmm; `"MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM" `":MMMMMMMMMMMMMMMMMMMMMMMMM;' `":MMMMMMMMMMMMMMMMMMM:" "************" EOF ;; "centos_small"*) set_colors 3 2 4 5 7 read -rd '' ascii_data <<'EOF' ${c2} ____${c1}^${c4}____ ${c2} |\\ ${c1}|${c4} /| ${c2} | \\ ${c1}|${c4} / | ${c4}<---- ${c3}----> ${c3} | / ${c2}|${c1} \\ | ${c3} |/__${c2}|${c1}__\\| ${c2} v EOF ;; "CentOS"*) set_colors 3 2 4 5 7 read -rd '' ascii_data <<'EOF' ${c1} .. .PLTJ. <><><><> ${c2}KKSSV' 4KKK ${c1}LJ${c4} KKKL.'VSSKK ${c2}KKV' 4KKKKK ${c1}LJ${c4} KKKKAL 'VKK ${c2}V' ' 'VKKKK ${c1}LJ${c4} KKKKV' ' 'V ${c2}.4MA.' 'VKK ${c1}LJ${c4} KKV' '.4Mb. ${c4} . ${c2}KKKKKA.' 'V ${c1}LJ${c4} V' '.4KKKKK ${c3}. ${c4} .4D ${c2}KKKKKKKA.'' ${c1}LJ${c4} ''.4KKKKKKK ${c3}FA. ${c4} ${c4} 'VD ${c3}KKKKKKKK'.. ${c2}LJ ${c1}..'KKKKKKKK ${c3}FV ${c4} ' ${c3}VKKKKK'. .4 ${c2}LJ ${c1}K. .'KKKKKV ${c3}' ${c3} 'VK'. .4KK ${c2}LJ ${c1}KKA. .'KV' ${c3}A. . .4KKKK ${c2}LJ ${c1}KKKKA. . .4 ${c3}KKA. 'KKKKK ${c2}LJ ${c1}KKKKK' .4KK ${c3}KKSSA. VKKK ${c2}LJ ${c1}KKKV .4SSKK ${c2} <><><><> 'MKKM' '' EOF ;; "Center"*) set_colors 7 7 read -rd '' ascii_data <<'EOF' ${c2} . o, . d, . ';' ..d;.. .cl' .:; 'oldO,.oo. ..,:,xKXxoo;'. ,;;;;;ldxkONMMMXxkxc;;;;;. .....':oddXWMNOxlcl:...... .:dlxk0c;:. . :d:.,xcld,.,:. ;l, .l; ';' .o; l, EOF ;; "Chakra"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} _ _ _ "kkkkkkkk. ,kkkkkkkk., 'kkkkkkkkk, ,kkkkkkkkkkkk., 'kkkkkkkkk. ,kkkkkkkkkkkkkkkk,'kkkkkkkk, ,kkkkkkkkkkkkkkkkkkk'kkkkkkk. "''"''',;::,,"''kkk''kkkkk; __ ,kkkkkkkkkk, "k''kkkkk' ,kkkk ,kkkkkkk' ., ' .: 'kkkk',kkkkkk ,kkkkkkkk'.k' , ,kkkk;kkkkkkkkk ,kkkkkkkk';kk 'k "'k',kkkkkkkkkkkk .kkkkkkkkk.kkkk.'kkkkkkkkkkkkkkkkkk' ;kkkkkkkk''kkkkkk;'kkkkkkkkkkkkk'' 'kkkkkkk; 'kkkkkkkk.,""''"''"" ''kkkk; 'kkkkkkkkkk., ';' 'kkkkkkkkkkkk., ';kkkkkkkkkk' ';kkkkkk' "''" EOF ;; "ChaletOS"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} `.//+osso+/:`` `/sdNNmhyssssydmNNdo:` :hNmy+-` .-+hNNs- /mMh/` `+:` `+dMd: .hMd- -sNNMNo. /yyy /mMs` -NM+ `/dMd/--omNh::dMM `yMd` .NN+ .sNNs:/dMNy:/hNmo/s yMd` hMs `/hNd+-smMMMMMMd+:omNy- `dMo :NM. .omMy:/hNMMMMMMMMMMNy:/hMd+` :Md` /Md` `sm+.omMMMMMMMMMMMMMMMMd/-sm+ .MN: /Md` MMMMMMMMMMMMMMMMMMMN .MN: :NN. MMMMMMm....--NMMMMMN -Mm. `dMo MMMMMMd mMMMMMN hMs -MN: MMMMMMd mMMMMMN oMm` :NM: MMMMMMd mMMMMMN +Mm- -mMy. mmmmmmh dmmmmmh -hMh. oNNs- :yMm/ .+mMdo:` `:smMd/` -ohNNmhsoo++osshmNNh+. `./+syyhhyys+:`` EOF ;; "Chapeau"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} .-/-. ////////. ////////${c2}y+${c1}//. ////////${c2}mMN${c1}/////. ////////${c2}mMN+${c1}////////. ////////////////////////. /////////+${c2}shhddhyo${c1}+////////. ////////${c2}ymMNmdhhdmNNdo${c1}///////. ///////+${c2}mMms${c1}////////${c2}hNMh${c1}///////. ///////${c2}NMm+${c1}//////////${c2}sMMh${c1}/////// //////${c2}oMMNmmmmmmmmmmmmMMm${c1}/////// //////${c2}+MMmssssssssssssss+${c1}/////// `//////${c2}yMMy${c1}//////////////////// `//////${c2}smMNhso++oydNm${c1}//////// `///////${c2}ohmNMMMNNdy+${c1}/////// `//////////${c2}++${c1}////////// `////////////////. -////////- EOF ;; "ChonkySealOS"*) set_colors 7 read -rd '' ascii_data <<'EOF' ${c1} .-/-. .:-=++****++=-:. .:=+*##%%%%%%%%%%##*+=:. :=*#%%%%%%%%%%%%%%%%%%%%#*=: :=*#%%%%%%%%%%%%%%%%%%%%%%%%#*=. -+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+- =+#%%%%@@@@@@@%%%%%%%@@@@@@@%%%%%#+= =+#@%%%%*+=-==*%%%%%%%#+====*%%%%%@#+= :+*%%%%@* +@%%%@# -@%%%%%*+: =+#%%%%%%#+====*###%%##*=--=+*%%%%%%%#+= +*%%%%%%%@@##%%%%*=::=#%%%##%@%%%%%%%%*+ +*%%%%%%%@**@%%%%%@==@%%%%%@+#%%%%%%%%*+ =+#%%%%%%@#*@%%%%%%**%%%%%@%+%%%%%%%%#+= :+*%%%%%%%@#*####**###*####*%@%%%%%%%*+: =+#@%%%%%%@%%%%%%%@@%%%%%%%%%%%%%%@#+= =+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%#+= -+#%%%%%%%%%%%%%%%%%%%%%%%%%%%%*+- .=*#%%%%%%%%%%%%%%%%%%%%%%%%#*=. :=*##%%%%%%%%%%%%%%%%%%##*=: .:=+*##%%%%%%%%%%##*+=:. .:-=++****++=-:. EOF ;; "Chrom"*) set_colors 2 1 3 4 7 read -rd '' ascii_data <<'EOF' ${c2} .,:loool:,. .,coooooooooooooc,. .,lllllllllllllllllllll,. ;ccccccccccccccccccccccccc; ${c1} '${c2}ccccccccccccccccccccccccccccc. ${c1} ,oo${c2}c::::::::okO${c5}000${c3}0OOkkkkkkkkkkk: ${c1}.ooool${c2};;;;:x${c5}K0${c4}kxxxxxk${c5}0X${c3}K0000000000. ${c1}:oooool${c2};,;O${c5}K${c4}ddddddddddd${c5}KX${c3}000000000d ${c1}lllllool${c2};l${c5}N${c4}dllllllllllld${c5}N${c3}K000000000 ${c1}lllllllll${c2}o${c5}M${c4}dccccccccccco${c5}W${c3}K000000000 ${c1};cllllllllX${c5}X${c4}c:::::::::c${c5}0X${c3}000000000d ${c1}.ccccllllllO${c5}Nk${c4}c;,,,;cx${c5}KK${c3}0000000000. ${c1} .cccccclllllxOO${c5}OOO${c1}Okx${c3}O0000000000; ${c1} .:ccccccccllllllllo${c3}O0000000OOO, ${c1} ,:ccccccccclllcd${c3}0000OOOOOOl. ${c1} '::ccccccccc${c3}dOOOOOOOkx:. ${c1} ..,::cccc${c3}xOOOkkko;. ${c1} ..,:${c3}dOkxl:. EOF ;; "cleanjaro_small"*) set_colors 7 7 read -rd '' ascii_data <<'EOF' ${c1}█████ ██████████ █████ ██████████ █████ █████ █████ ████████████████ ████████████████ EOF ;; "Cleanjaro"*) set_colors 7 7 read -rd '' ascii_data <<'EOF' ${c1}███████▌ ████████████████ ███████▌ ████████████████ ███████▌ ████████████████ ███████▌ ███████▌ ███████▌ ███████▌ ███████▌ █████████████████████████ █████████████████████████ █████████████████████████ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ EOF ;; "ClearOS"*) set_colors 2 read -rd '' ascii_data <<'EOF' ${c1} `.--::::::--.` .-:////////////////:-. `-////////////////////////-` -////////////////////////////- `//////////////-..-//////////////` ./////////////: ://///////////. `//////:..-////: :////-..-//////` ://////` -///:.``.:///-` ://///: `///////:. -////////-` `:///////` .//:--////:. -////-` `:////--://. ./: .////:. --` `:////- :/. `//-` .////:. `:////- `-//` :///-` .////:. `:////- `-///: `/////-` -///: :///- `-/////` `//////- `///: :///` .//////` `:////: `///: :///` -////:` .://: `///: :///` -//:. .:: `///: :///` -:. `///: :///` `... ...` EOF ;; "Clear Linux OS"* | "Clear_Linux"*) set_colors 4 3 7 6 read -rd '' ascii_data <<'EOF' ${c1} BBB BBBBBBBBB BBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBB BBBBBBBBBBB BBB BBBBBBBB${c2}YYYYY ${c1} BBBBBBBB${c2}YYYYYY ${c1} BBBBBBBB${c2}YYYYYYY ${c1} BBBBBBBBB${c2}YYYYY${c3}W ${c4} GG${c1}BBBBBBBY${c2}YYYY${c3}WWW ${c4} GGG${c1}BBBBBBB${c2}YY${c3}WWWWWWWW ${c4} GGGGGG${c1}BBBBBB${c3}WWWWWWWW ${c4} GGGGGGGG${c1}BBBB${c3}WWWWWWWW ${c4}GGGGGGGGGGG${c1}BBB${c3}WWWWWWW ${c4}GGGGGGGGGGGGG${c1}B${c3}WWWWWW ${c4}GGGGGGGG${c3}WWWWWWWWWWW ${c4}GG${c3}WWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWW WWWWWWWWWW WWW EOF ;; "Clover"*) set_colors 2 6 read -rd '' ascii_data <<'EOF' ${c1} `omo``omo` `oNMMMNNMMMNo` `oNMMMMMMMMMMMMNo` oNMMMMMMMMMMMMMMMMNo `sNMMMMMMMMMMMMMMNs` `omo` `sNMMMMMMMMMMNs` `omo` `oNMMMNo` `sNMMMMMMNs` `oNMMMNo` `oNMMMMMMMNo` `oNMMNs` `oNMMMMMMMNo` oNMMMMMMMMMMMNo` `sy` `oNMMMMMMMMMMMNo `sNMMMMMMMMMMMMNo.${c2}oNNs${c1}.oNMMMMMMMMMMMMNs` `oNMMMMMMMMMMMMNs.${c2}oNNs${c1}.oNMMMMMMMMMMMMNo` oNMMMMMMMMMMMNs` `sy` `oNMMMMMMMMMMMNo `oNMMMMMMMNs` `oNMMNo` `oNMMMMMMMNs` `oNMMMNs` `sNMMMMMMNs` `oNMMMNs` `oNs` `sNMMMMMMMMMMNs` `oNs` `sNMMMMMMMMMMMMMMNs` +NMMMMMMMMMMMMMMMMNo `oNMMMMMMMMMMMMNo` `oNMMMNNMMMNs` `omo``oNs` EOF ;; "Condres"*) set_colors 2 3 6 read -rd '' ascii_data <<'EOF' ${c1}syyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+${c3}.+. ${c1}`oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+${c3}:++. ${c2}/o${c1}+oyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/${c3}oo++. ${c2}/y+${c1}syyyyyyyyyyyyyyyyyyyyyyyyyyyyy${c3}+ooo++. ${c2}/hy+${c1}oyyyhhhhhhhhhhhhhhyyyyyyyyy${c3}+oo+++++. ${c2}/hhh+${c1}shhhhhdddddhhhhhhhyyyyyyy${c3}+oo++++++. ${c2}/hhdd+${c1}oddddddddddddhhhhhyyyys${c3}+oo+++++++. ${c2}/hhddd+${c1}odmmmdddddddhhhhyyyy${c3}+ooo++++++++. ${c2}/hhdddmo${c1}odmmmdddddhhhhhyyy${c3}+oooo++++++++. ${c2}/hdddmmms${c1}/dmdddddhhhhyyys${c3}+oooo+++++++++. ${c2}/hddddmmmy${c1}/hdddhhhhyyyyo${c3}+oooo++++++++++: ${c2}/hhdddmmmmy${c1}:yhhhhyyyyy+${c3}+oooo+++++++++++: ${c2}/hhddddddddy${c1}-syyyyyys+${c3}ooooo++++++++++++: ${c2}/hhhddddddddy${c1}-+yyyy+${c3}/ooooo+++++++++++++: ${c2}/hhhhhdddddhhy${c1}./yo:${c3}+oooooo+++++++++++++/ ${c2}/hhhhhhhhhhhhhy${c1}:-.${c3}+sooooo+++++++++++///: ${c2}:sssssssssssso++${c1}${c3}`:/:--------.```````` EOF ;; "Container Linux by CoreOS"* | "Container_Linux"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} ..... .';:cccccccc:;'. ':ccccclc${c3}lllllllll${c1}cc:. .;cccccccc${c3}lllllllllllllll${c1}c, ;clllccccc${c3}llllllllllllllllll${c1}c, .cllclccccc${c3}lllll${c2}lll${c3}llllllllllll${c1}c: ccclclcccc${c3}cllll${c2}kWMMNKk${c3}llllllllll${c1}c: :ccclclcccc${c3}llll${c2}oWMMMMMMWO${c3}lllllllll${c1}c, .ccllllllccc${c3}clll${c2}OMMMMMMMMM0${c3}lllllllll${c1}c .lllllclcccc${c3}llll${c2}KMMMMMMMMMMo${c3}llllllll${c1}c. .lllllllcccc${c3}clll${c2}KMMMMMMMMN0${c3}lllllllll${c1}c. .cclllllcccc${c3}lllld${c2}xkkxxdo${c3}llllllllllc${c1}lc :cccllllllcccc${c3}lllccllllcclccc${c1}cccccc; .ccclllllllcccccccc${c3}lll${c1}ccccclccccccc .cllllllllllclcccclccclccllllcllc :cllllllllccclcllllllllllllcc; .cccccccccccccclcccccccccc:. .;cccclccccccllllllccc,. .';ccccclllccc:;.. ..... EOF ;; "crux_small" | KISS*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} ___ (${c3}.· ${c1}| (${c2}<> ${c1}| / ${c3}__ ${c1}\\ ( ${c3}/ \\ ${c1}/| ${c2}_${c1}/\\ ${c3}__)${c1}/${c2}_${c1}) ${c2}\/${c1}-____${c2}\/ EOF ;; "CRUX"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} odddd oddxkkkxxdoo ddcoddxxxdoool xdclodod olol xoc xdd olol xdc ${c2}k00${c1}Okdlol xxd${c2}kOKKKOkd${c1}ldd xdco${c2}xOkdlo${c1}dldd ddc:cl${c2}lll${c1}oooodo odxxdd${c3}xkO000kx${c1}ooxdo oxdd${c3}x0NMMMMMMWW0od${c1}kkxo oooxd${c3}0WMMMMMMMMMW0o${c1}dxkx docldkXW${c3}MMMMMMMWWN${c1}Odolco xx${c2}dx${c1}kxxOKN${c3}WMMWN${c1}0xdoxo::c ${c2}xOkkO${c1}0oo${c3}odOW${c2}WW${c1}XkdodOxc:l ${c2}dkkkxkkk${c3}OKX${c2}NNNX0Oxx${c1}xc:cd ${c2} odxxdx${c3}xllod${c2}ddooxx${c1}dc:ldo ${c2} lodd${c1}dolccc${c2}ccox${c1}xoloo EOF ;; *"Crystal Linux"*) set_colors 13 5 read -rd '' ascii_data <<'EOF' ${c1} mysssym ${c1} mysssym ${c1} mysssym ${c1} mysssym ${c1} mysssyd ${c1} mysssyd N ${c1} mysssyd mysym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysssyd dysssym ${c1} mysym dysssym ${c1} N dysssym ${c1} dysssym ${c1} dysssym ${c1} dysssym ${c1} dysssym ${c1} dysssym EOF ;; *"Cucumber"*) set_colors 2 3 read -rd '' ascii_data <<'EOF' ${c1} `.-://++++++//:-.` `:/+//${c2}::--------${c1}:://+/:` -++/:${c2}----..........----${c1}:/++- .++:${c2}---...........-......---${c1}:++. /+:${c2}---....-::/:/--//:::-....---${c1}:+/ `++:${c2}--.....:---::/--/::---:.....--${c1}:++` /+:${c2}--.....--.--::::-/::--.--.....--${c1}:+/ -o:${c2}--.......-:::://--/:::::-.......--${c1}:o- /+:${c2}--...-:-::---:::..:::---:--:-...--${c1}:+/ o/:${c2}-...-:.:.-/:::......::/:.--.:-...-${c1}:/o o/${c2}--...::-:/::/:-......-::::::-/-...-${c1}:/o /+:${c2}--..-/:/:::--:::..:::--::////-..--${c1}:+/ -o:${c2}--...----::/:::/--/:::::-----...--${c1}:o- /+:${c2}--....://:::.:/--/:.::://:....--${c1}:+/ `++:${c2}--...-:::.--.:..:.--.:/:-...--${c1}:++` /+:${c2}---....----:-..-:----....---${c1}:+/ .++:${c2}---..................---${c1}:++. -/+/:${c2}----..........----${c1}:/+/- `:/+//${c2}::--------:::${c1}/+/:` `.-://++++++//:-.` EOF ;; "CutefishOS"*) set_colors 6 7 4 read -rd '' ascii_data <<'EOF' ${c1} ___ww___ _ _wwMMM@M^^^^MMMMww_ M0w_ _wMMM~~ ~~MMm_ ~MMy _ww0M~ ~MMy ~MMMM~ o "MM ${c3} jw0M~~MMMw_ _wMM' wMM~ ~~MMmw__ __w0M~ ~ ~~MM0MmwwwwwwwwwMMM~ ~~~~^^~~~ EOF ;; "CuteOS"*) set_colors 33 50 57 read -rd '' ascii_data <<'EOF' ${c2} ${c3}1ua${c2} ${c3}MMM1ua${c2} ${c1}MM${c2}EE ${c3} MMMMM1uazE${c2} ${c1}MM ${c2}EEEE ${c3}M1MM1uazzEn ${c2}EEEE MME EEEEE ${c3}MMM uazEno ${c2}EEEE EEEEE${c1}MMMMMMEno~; ${c2}EE E${c2} EE ${c1}MMMMMMMM~;;E ${c2}MMMMM M ${c2} E ${c1}MMMMMMMMM ${c2} E E ${c2} ${c1}MMMMMMMMMMM ${c1}MMMMMMMMM ${c2}EE ${c1} MM1MMMM ${c2}EEE ${c1} MMMMM MMM M EOF ;; "CyberOS"*) set_colors 50 32 57 read -rd '' ascii_data <<'EOF' ${c3} !M$EEEEEEEEEEEP .MMMMM000000Nr. ${c3}&MMMMMM${c2}MMMMMMMMMMMMM9 ${c3}~MMM${c1}MMMM${c2}MMMMMMMMMMMMC ${c1}" ${c3}M${c1}MMMMMMM${c2}MMMMMMMMMMs ${c1}iM${c2}MMM&&${c1}MMMMMMMM${c2}MMMMMMMM\\ ${c1}BMMM${c2}MMMMM${c1}MMMMMMM${c2}MMMMMM${c3}" ${c1}9MMMMM${c2}MMMMMMM${c1}MMMM${c2}MMMM${c3}MMMf- ${c2}sMMMMMMMM${c1}MM${c2}M${c3}MMMMMMMMM3_ ${c2}+ffffffff${c1}P${c3}MMMMMMMMMMMM0 ${c2}CMMMMMMMMMMM }MMMMMMMMM ~MMMMMMM "RMMMM .PMB EOF ;; "dahlia"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} .#. *%@@@%* .,,,,,(&@@@@@@@&/,,,,,. ,#@@@@@@@@@@@@@@@@@@@@@#. ,#@@@@@@@&#///#&@@@@@@@#. ,/%&@@@@@%/, .,(%@@@@@&#/. *#&@@@@@@#,. .*#@@@@@@&#, .&@@@@@@@@@( .(@@@@@@@@@&&. #@@@@@@@@@@( )@@@@@@@@@@@# °@@@@@@@@@@( .(@@@@@@@@@@@° *%@@@@@@@(. ,#@@@@@@@%* ,(&@@@@@@%*. ./%@@@@@@%(, ,#@@@@@@@&(***(&@@@@@@@#. ,#@@@@@@@@@@@@@@@@@@@@@#. ,*****#&@@@@@@@&(*****, ,/%@@@%/. ,#, EOF ;; "debian_small") set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} _____ / __ \\ | / | | \\___- -_ --_ EOF ;; "Debian"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c2} _,met$$$$$gg. ,g$$$$$$$$$$$$$$$P. ,g$$P" """Y$$.". ,$$P' `$$$. ',$$P ,ggs. `$$b: `d$$' ,$P"' ${c1}.${c2} $$$ $$P d$' ${c1},${c2} $$P $$: $$. ${c1}-${c2} ,d$$' $$; Y$b._ _,d$P' Y$$. ${c1}`.${c2}`"Y$$$$P"' ${c2} `$$b ${c1}"-.__ ${c2} `Y$$ `Y$$. `$$b. `Y$$b. `"Y$b._ `""" EOF ;; "digital UNIX"*) set_colors 1 6 7 read -rd '' ascii_data <<'EOF' ${c1} +-+-+-+-+-+-+-+ |${c3}d${c1}|${c3}i${c1}|${c3}g${c1}|${c3}i${c1}|${c3}t${c1}|${c3}a${c1}|${c3}l${c1}| +-+-+-+-+-+-+-+ ${c2} _ _ _ _ _______ __ | | | | \\ | |_ _\\ \\ / / | | | | \\| | | | \\ V / | | | | . ` | | | > < | |__| | |\\ |_| |_ / . \\ \\____/|_| \\_|_____/_/ \\_\\ EOF ;; "Droidian"*) set_colors 2 10 read -rd '' ascii_data <<'EOF' ${c2} _,met$$$$$gg. ,g$$$$$$$$$$$$$$$$P. ,$$P' `$$$. ',$$P ,ggs. `$$b: `d$$' ,$P"' ${c1}.${c2} $$$ $$P d$' ${c1},${c2} $$P $$: $$. ${c1}-${c2} ,d$$' $$; Y$b._ _,d$P' Y$$. ${c1}`.${c2}`"Y$$$$P"' ${c2} `$$b ${c1}"-.__ ${c2} `Y$$ `Y$$. `$$b. `Y$$b. `"Y$b._ EOF ;; "Deepin"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} ............ .';;;;;. .,;,. .,;;;;;;;. ';;;;;;;. .;::::::::' .,::;;,''''',. ,'.:::::::: .;;'. '; ;' 'cccccc, ,' :: '.. .: ,, :ccccc. ;: .c, '' :. ,; .l. cllll' ., .lc :; .l' l. .c :lllc ;cl: .l' .ll. :' .l 'looc. . ,o: 'oo' c, .o. .:ool::coc' .ooo' o. :: ..... .;dddo ;c l:... .';lddddo. ,o lxxxxxdoolllodxxxxxxxxxc :l ,dxxxxxxxxxxxxxxxxxxl. 'o, ,dkkkkkkkkkkkkko;. .;o; .;okkkkkdl;. .,cl:. .,:cccccccc:,. EOF ;; "openKylin"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} /KKK] KKKKKKK` ]KKKK\ KKKKK/ /KKKKKKKKK\ KKKK/ ,KKKKKKKKKKKK^ ,]KKK =KKK` /KKKKKKOOOOOO` ,KKKKKK =KK /` [\OOOOOOO\ \KKKKK =K ,OOOOOOO` ,KKKKK =^ \OOOOOO ,KKKK ^ OOOOOO^ *KKK^ =OOOOO^ OOKK^ OOOOOO^ \OOOK\ /OOOOOO` OOOOOO] ,OOOOOOO^ ,OOOOOOOO\] ,[OOOOOOOOO/ \OOOOOOOOOOOOOOOOOOOOO` [OOOOOOOOOOOOOOOO/` ,[OOOOOOOOO] EOF ;; "DesaOS") set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1}███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ████████ ███████ ██████████████████████████████ ██████████████████████████████ ████████████████████████ ████████████████████████ ████████████████████████ EOF ;; "Devuan"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} ..,,;;;::;,.. `':ddd;:,. `'dPPd:,. `:b$$b`. 'P$$$d` .$$$$$` ;$$$$$P .:P$$$$$$` .,:b$$$$$$$;' .,:dP$$$$$$$$b:' .,:;db$$$$$$$$$$Pd'` ,db$$$$$$$$$$$$$$b:'` :$$$$$$$$$$$$b:'` `$$$$$bd:''` `'''` EOF ;; "DietPi"*) set_colors 2 0 read -rd '' ascii_data <<'EOF' ${c1} :=+******+- -+******+=: =#-::-::::-=#:-#=-::::-::-#= :%-::--==-::-%%-::-==--::-%: +#-:::::=+++${c2}@@${c1}+++=-::::-#= :#+-::::=%${c2}@@@@@${c1}=::::-+#: =@%##%${c2}@@@@@@@@${c1}%##%@= ${c2} .#@@@@@@@@@@@@@@@@@@@@#. %@@@@@@@@@@@@@@@@@@@@@@% -@@@@@@@@@@@@@@@@@@@@@@@@: .#@@@@@@@@@@%%%%%@@@@@@@@@@@#. #@@@${c1}+-=*#%${c2}%%%%%%%%%${c1}%%#+--#${c2}@@@# %@@%${c1}*. .:${c2}=*%%%%*${c1}=: .#${c2}@@@% :%@@@${c1}#+=-:${c2}:-*%%%%+::${c1}:-=+%${c2}@@@%: :@@@@%@%%%%@${c1}#${c2}#${c1}#${c2}%@%%%%@%@@@@. +@@@@@@@@@${c1}%${c2}=*+${c1}%${c2}@%@@@@@@@@+ #@@@@@@@@@@@@@@@@@@@@@@# -#@@@@@@@@@@@@@@@@@@#- -*%@@@@@@@@@@%*- .+%@@@@%+. EOF ;; "DracOS"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} `-:/- -os: -os/` :sy+-` `/yyyy+. `+yyyyo- `/yyyys: `:osssoooo++- +yyyyyy/` ./yyyyyyo yo`:syyyy+. -oyyy+ +- :yyyyyo- `:sy: `. `/yyyyys: ./o/.` .oyyso+oo:` :+oo+//::::///:-.` `.` EOF ;; "DarkOs") set_colors 1 6 5 3 2 read -rd '' ascii_data <<'EOF' ${c3}⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠢⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⠋⡆⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡆⢀⣤⢛⠛⣠⣿⠀⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c6}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣿⠟⣡⠊⣠⣾⣿⠃⣠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c2}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣯⣿⠀⠊⣤⣿⣿⣿⠃⣴⣧⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⡟⣠⣶⣿⣿⣿⢋⣤⠿⠛⠉⢁⣭⣽⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c4} ⠀⠀⠀⠀⠀⠀ ⠀⣠⠖⡭⢉⣿⣯⣿⣯⣿⣿⣿⣟⣧⠛⢉⣤⣶⣾⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⣴⣫⠓⢱⣯⣿⢿⠋⠛⢛⠟⠯⠶⢟⣿⣯⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c2}⠀⠀⠀⠀⠀⠀⢀⡮⢁⣴⣿⣿⣿⠖⣠⠐⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠛⠛⠛⢿⣶⣄⠀⠀⠀⠀⠀⠀⠀ ${c3}⠀⠀⠀⠀⢀⣤⣷⣿⣿⠿⢛⣭⠒⠉⠀⠀⠀⣀⣀⣄⣤⣤⣴⣶⣶⣶⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀ ${c1}⠀⢀⣶⠏⠟⠝⠉⢀⣤⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⣟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c6}⢴⣯⣤⣶⣿⣿⣿⣿⣿⡿⣿⣯⠉⠉⠉⠉⠀⠀⠀⠈⣿⡀⣟⣿⣿⢿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠉⠛⣿⣧⠀⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠃⣿⣿⣯⣿⣦⡀⠀⠉⠻⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c3}⠀⠀⠀⠀⠀⠀⠉⢿⣮⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠀⣯⠉⠉⠛⢿⣿⣷⣄⠀⠈⢻⣆⠀⠀⠀⠀⠀⠀⠀⠀ ${c2}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠢⠀⠀⠀⠀⠀⠀⠀⢀⢡⠃⣾⣿⣿⣦⠀⠀⠀⠙⢿⣿⣤⠀⠙⣄⠀⠀⠀⠀⠀⠀⠀ ${c6}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢋⡟⢠⣿⣿⣿⠋⢿⣄⠀⠀⠀⠈⡄⠙⣶⣈⡄⠀⠀⠀⠀⠀⠀ ${c1}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠚⢲⣿⠀⣾⣿⣿⠁⠀⠀⠉⢷⡀⠀⠀⣇⠀⠀⠈⠻⡀⠀⠀⠀⠀⠀ ${c4}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⣀⣿⡏⠀⣿⡿⠀⠀⠀⠀⠀⠀⠙⣦⠀⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c3}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠿⣧⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣮⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ${c5}⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ EOF ;; "Itc"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1}....................-==============+... ${c1}....................-==============:... ${c1}...:===========-....-==============:... ${c1}...-===========:....-==============-... ${c1}....*==========+........-::********-... ${c1}....*===========+.:*====**==*+-.-...... ${c1}....:============*+-..--:+**====*---... ${c1}......::--........................::... ${c1}..+-:+-.+::*:+::+:-++::++-.:-.*.:++:++. ${c1}..:-:-++++:-::--:+::-::.:++-++:++--:-:. ⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ EOF ;; "dragonfly_old"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} .-. ${c3} ()${c1}I${c3}() ${c1} "==.__:-:__.==" "==.__/~|~\__.==" "==._( Y )_.==" ${c2}.-'~~""~=--...,__${c1}\/|\/${c2}__,...--=~""~~'-. ( ..=${c1}\\=${c1}/${c2}=.. ) `'-. ,.-"`;${c1}/=\\${c2};"-.,_ .-'` `~"-=-~` .-~` ${c1}|=|${c2} `~-. `~-=-"~` .-~` /${c1}|=|${c2}\ `~-. .~` / ${c1}|=|${c2} \ `~. .-~` .' ${c1}|=|${c2} `. `~-. (` _,.-="` ${c1} |=|${c2} `"=-.,_ `) `~"~"` ${c1} |=|${c2} `"~"~` ${c1} /=\\ \\=/ ^ EOF ;; "dragonfly_small"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c2} ,${c1}_${c2}, ('-_${c1}|${c2}_-') >--${c1}|${c2}--< (_-'${c1}|${c2}'-_) ${c1}| | | EOF ;; "DragonFly"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c2},--, ${c1}| ${c2},--, ${c2}| `-, ${c1},^, ${c2},-' | ${c2} `, `-, ${c3}(/ \) ${c2},-' ,' ${c2} `-, `-,${c1}/ \${c2},-' ,-' ${c2} `------${c1}( )${c2}------' ${c2} ,----------${c1}( )${c2}----------, ${c2} | _,-${c1}( )${c2}-,_ | ${c2} `-,__,-' ${c1}\ /${c2} `-,__,-' ${c1} | | | | | | | | | | | | `|' EOF ;; "Drauger"*) set_colors 1 7 read -rd '' ascii_data <<'EOF' ${c1} -``- `:+``+:` `/++``++/. .++/. ./++. :++/` `/++: `/++: :++/` ./+/- -/+/. -++/. ./++- :++:` `:++: `/++- -++/` ./++. ./+/. -++/` `/++- :++:` `:++: `/++- -++/` .:-.`..............................`.-:. `.-/++++++++++++++++++++++++++++++++/-.` EOF ;; "elementary_small"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} _______ / ____ \\ / | / /\\ |__\\ / / | \\ /__/ / \\_______/ EOF ;; "Elementary"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeee eeeee eeeeeeeeeeee eeeee eeee eeeee eee eeee eeee eeee eee eeee eee eee eee eee eee eee eee eee ee eee eeee eeee ee eee eeeee eeeeee ee eee eeeee eeeee ee eee eeee eeeeee eeeee eee eee eeeeeeeeee eeeeee eee eeeeeeeeeeeeeeeeeeeeeeee eeeee eeeeeeee eeeeeeeeeeee eeee eeeee eeeee eeeeeee eeeeeee eeeeeeeeeeeeeeeee EOF ;; "Elive"*) set_colors 7 6 6 read -rd '' ascii_data <<'EOF' ${c1} *@${c2},,&(%%%..%*. ${c1}(@${c2}&%/##############((/${c1}*, ${c2}@${c1}@&${c2}#########${c1}*..../${c2}########%${c1}*.. ${c2}@${c1}&${c2}#%%%%%. ${c3},.${c1},${c2}%%%%%%. /%${c2}(%%%%. ${c1}(${c2}%%%%#. /${c1}*${c2}%%##,. .,%%###, ,####. ,${c1}*${c2}#%${c1}#${c3}/,(/ ${c2}/${c1}#${c2}###, ((###/ ,,##########${c1}(${c3}/(# ${c2}%####, %#(((${c1}. .${c1}./${c2}((((((((((((((${c1}(${c2}#/${c3}*.. ${c3}*.${c2}(((${c1}/ ${c2}%#///${c1}. ${c3}***${c2}.*///////////// ${c3}#${c2}#////* ${c3}***${c2}.*/////. ${c3}(${c2}(***** ${c3}*** ${c2},*****.. ..${c1}*${c2}*****.. *${c1}%${c2}/****. .,,*******,${c3},,../##(${c2}%&${c1}&${c2}#******${c1},${c2}. ,*${c1},${c2},,,,,,,,,,,,,,,,,,,${c1},${c2}.. *//${c1}/,,${c2},,,,,,,${c1},..${c2} EOF ;; "endeavouros_small"*) set_colors 1 5 4 read -rd '' ascii_data <<'EOF' ${c1} /${c2}o${c3}. ${c1} :${c2}sssso${c3}- ${c1} :${c2}ossssssso${c3}: ${c1} /${c2}ssssssssssso${c3}+ ${c1} -+${c2}ssssssssssssssso${c3}+ ${c1} //${c2}osssssssssssssso${c3}+- `+++++++++++++++-` EOF ;; "EndeavourOS"*) set_colors 1 5 4 read -rd '' ascii_data <<'EOF' ${c1} ./${c2}o${c3}. ${c1} ./${c2}sssso${c3}- ${c1} `:${c2}osssssss+${c3}- ${c1} `:+${c2}sssssssssso${c3}/. ${c1} `-/o${c2}ssssssssssssso${c3}/. ${c1} `-/+${c2}sssssssssssssssso${c3}+:` ${c1} `-:/+${c2}sssssssssssssssssso${c3}+/. ${c1} `.://o${c2}sssssssssssssssssssso${c3}++- ${c1} .://+${c2}ssssssssssssssssssssssso${c3}++: ${c1} .:///o${c2}ssssssssssssssssssssssssso${c3}++: ${c1} `:////${c2}ssssssssssssssssssssssssssso${c3}+++. ${c1}`-////+${c2}ssssssssssssssssssssssssssso${c3}++++- ${c1} `..-+${c2}oosssssssssssssssssssssssso${c3}+++++/` ./++++++++++++++++++++++++++++++/:. `:::::::::::::::::::::::::------`` EOF ;; "EncryptOS"*) set_colors 2 5 6 read -rd '' ascii_data <<'EOF' ${c2} ******* ${c2} *** **. ${c2} ** ** ${c2} ** ** ${c2} ***************** ${c2} ,,,,,,,,,,,,,,,,*** ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,, ,,,,,,, ${c2} ,,,,,,,,,,,,,,,,,,, ${c2} ,,,,,,,,,,,,. EOF ;; "Endless"*) set_colors 1 7 read -rd '' ascii_data <<'EOF' ${c1} `:+yhmNMMMMNmhy+:` -odMMNhso//////oshNMMdo- /dMMh+. .+hMMd/ /mMNo` `oNMm: `yMMo` `oMMy` `dMN- -NMd` hMN. .NMh /MM/ -os` /MM/ dMm `smNmmhs/- `:sNMd+ `` mMd MMy oMd--:+yMMMMMNo.:ohmMMMNy` yMM MMy -NNyyhmMNh+oNMMMMMy:. dMo yMM dMm `/++/-``/yNNh+/sdNMNddMm- mMd /MM/ `dNy: `-::- /MM/ hMN. .NMh `dMN- -NMd` `yMMo` `oMMy` /mMNo` `oNMm/ /dMMh+. .+hMMd/ -odMMNhso//////oshNMMdo- `:+yhmNMMMMNmhy+:` EOF ;; "Enso"*) set_colors 8 7 read -rd '' ascii_data <<'EOF' ${c1} .:--==--:. :=*#%%%%%%%#####*+-. .+%%%%%%%%%%%%###%%#*##*: .*%%%%%%%%%#+==-==++*####*##- =%%%%%%%#=: .-+**#***. *%%%%%%#- ++*#**. +%%%%%%+ -*+#** :%%%%%%* .*+**= *%%%%%%: --#*# %%%%%%% +++#. %%%%%%%. ++=*. *%%%%%%+ .-+*+ :%%%%%%%- -:*+: =%%%%%%%*. :.*+- +%%%%%%%%*- :*=- =%%%%%%%%%%#+=: =+=: .+%%%%%%%%%%%%%. .-==: .=#%%%%%%%%%%= ..:--:. .-+#%%%%%+ EOF ;; "EuroLinux"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} __ -wwwWWWWWWWWWwww- -WWWWWWWWWWWWWWWWWWw- \WWWWWWWWWWWWWWWWWWW- _Ww `WWWWWWWWWWWWWWWWWWWw -W${c2}E${c1}Www -WWWWWWWWW- _WW${c2}U${c1}WWWW- _WWWWWWWW _WW${c2}R${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWW- wWW${c2}O${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWW${c2}L${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWw WWW${c2}I${c1}WWWWWWWWWWWWWWWWWWWWWWWWWWWWww- wWW${c2}N${c1}WWWWw WW${c2}U${c1}WWWWWWw wW${c2}X${c1}WWWWWWWWww wWWWWWWWWWWWWWWWw wWWWWWWWWWWWWWWWw WWWWWWWWWWWWWw wWWWWWWWw EOF ;; "EvolutionOS"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1}\e[1;32m dddddddddddddddddddddddd .dddd''''''''''''''''''''''dddd. dd: dddddddddddddddddddd; dd: dd: ldl:'''''''''''''''' dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: ddddddd; ddddd; dd: dd: ldl: ''''''' ''''' dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: dd: dd: ldl: ddddddddddddddd; dd: dddd:.''' ''''''''''''''' dddd: dddddddddddddddddddddddddd;;' '''''''''''''''''''''''''\e[0m EOF ;; "Exherbo"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} , OXo. NXdX0: .cok0KXNNXXK0ko:. KX '0XdKMMK;.xMMMk, .0MMMMMXx; ... 'NO..xWkMMx kMMM cMMMMMX,NMWOxOXd. cNMk NK .oXM. OMMMMO. 0MMNo kW. lMc o: ., .oKNk; ;NMMWlxW' ;Mc .. .,,' .0M${c1}g;${c2}WMN'dWMMMMMMO XX ,WMMMMW. cM${c1}cfli${c2}WMKlo. .kMk .Mo .WM${c1}GD${c2}MW. XM${c1}WO0${c2}MMk oMl ,M: ,XMMWx::,''oOK0x; NM. 'Ml ,kNKOxxxxxkkO0XXKOd:. oMk NK .0Nxc${c3}:::::::::::::::${c2}fkKNk, .MW ,Mo .NXc${c3}::${c2}qXWXb${c3}::::::::::${c2}oo${c3}::${c2}lNK. .MW ;Wo oMd${c3}:::${c2}oNMNP${c3}::::::::${c2}oWMMMx${c3}:${c2}c0M; lMO 'NO;W0c${c3}:::::::::::::::${c2}dMMMMO${c3}::${c2}lMk .WM' xWONXdc${c3}::::::::::::::${c2}oOOo${c3}::${c2}lXN. ,WMd 'KWWNXXK0Okxxo,${c3}:::::::${c2},lkKNo xMMO :XMNxl,';:lodxkOO000Oxc. .oWMMo 'dXMMXkl;,. .,o0MMNo' ':d0XWMMMMWNNNNMMMNOl' ':okKXWNKkl' EOF ;; "fedora_small") set_colors 12 read -rd '' ascii_data <<'EOF' ${c1} ,'''''. | ,. | | | '_' ,....| |.. .' ,_;| ..' | | | | | ',_,' | '. ,' ''''' EOF ;; "Fedora_old"* | "RFRemix"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} /:-------------:\\ :-------------------:: :-----------${c2}/shhOHbmp${c1}---:\\ /-----------${c2}omMMMNNNMMD ${c1}---: :-----------${c2}sMMMMNMNMP${c1}. ---: :-----------${c2}:MMMdP${c1}------- ---\\ ,------------${c2}:MMMd${c1}-------- ---: :------------${c2}:MMMd${c1}------- .---: :---- ${c2}oNMMMMMMMMMNho${c1} .----: :-- .${c2}+shhhMMMmhhy++${c1} .------/ :- -------${c2}:MMMd${c1}--------------: :- --------${c2}/MMMd${c1}-------------; :- ------${c2}/hMMMy${c1}------------: :--${c2} :dMNdhhdNMMNo${c1}------------; :---${c2}:sdNMMMMNds:${c1}------------: :------${c2}:://:${c1}-------------:: :---------------------:// EOF ;; "Fedora"*) set_colors 12 7 read -rd '' ascii_data <<'EOF' ${c1} .',;::::;,'. .';:cccccccccccc:;,. .;cccccccccccccccccccccc;. .:cccccccccccccccccccccccccc:. .;ccccccccccccc;${c2}.:dddl:.${c1};ccccccc;. .:ccccccccccccc;${c2}OWMKOOXMWd${c1};ccccccc:. .:ccccccccccccc;${c2}KMMc${c1};cc;${c2}xMMc${c1};ccccccc:. ,cccccccccccccc;${c2}MMM.${c1};cc;${c2};WW:${c1};cccccccc, :cccccccccccccc;${c2}MMM.${c1};cccccccccccccccc: :ccccccc;${c2}oxOOOo${c1};${c2}MMM0OOk.${c1};cccccccccccc: cccccc;${c2}0MMKxdd:${c1};${c2}MMMkddc.${c1};cccccccccccc; ccccc;${c2}XM0'${c1};cccc;${c2}MMM.${c1};cccccccccccccccc' ccccc;${c2}MMo${c1};ccccc;${c2}MMW.${c1};ccccccccccccccc; ccccc;${c2}0MNc.${c1}ccc${c2}.xMMd${c1};ccccccccccccccc; cccccc;${c2}dNMWXXXWM0:${c1};cccccccccccccc:, cccccccc;${c2}.:odl:.${c1};cccccccccccccc:,. :cccccccccccccccccccccccccccc:'. .:cccccccccccccccccccccc:;,.. '::cccccccccccccc::;,. EOF ;; "Feren"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} `----------` :+ooooooooo+. -o+oooooooooo+- ..`/+++++++++++/...````````````````` .++++++++++++++++++++++++++/////- ++++++++++++++++++++++++++++++++//:` -++++++++++++++++++++++++++++++/-` ++++++++++++++++++++++++++++:. -++++++++++++++++++++++++/. +++++++++++++++++++++/-` -++++++++++++++++++//-` .:+++++++++++++//////- .:++++++++//////////- `-++++++---:::://///. `.:///+++. ` `......... EOF ;; "FemboyOS"*) set_colors 4 read -rd '' ascii_data <<'EOF' ${c1}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMWKkxkKWMMMMMMMMMMMMMMMMMMMMWKkxkKWMM MMMMXo. .;xKWMMMMMMMMMMMMMMMMMMXo. .oXMM MMWXx,..'..oXMMMMMMMMMMMMMMMMWKx, .lXMM MMNo. .cOc.,xKWMMMMMMMMMMMMWXx;.....cXMM MMXl..;kKl. .oXMMMMMMMMMMWKx;..,ok:.'o0W WKx,.cKWNk;..lXMMMMMMMMWKx;..,o0NXl. .oN No. .lXMMWKc.,dKWMMMMMMNo..;d0NWMNx,..lX Nk:,:kNMMMNk:,ckNMMMMMMNxcxXWMMMMMN0ockN MWNNNWMMMMMWNNNWMMMMMMMMWWWMMMMMMMMMWWWM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMNXKXNWMMMMMMMMMMMWNKOKWMMMMMMMMMM MMMMMMWKdccxXMMMMMMMMMMW0o'.oXMMMMMMMMMM MMMMMMMNO:.'o0NKkkkkkOXXo. .lXMMMMMMMMMM MMMMMMMMNx,..;o;. .:o,..;kNMMMMMMMMMM MMMMMMMMMNO: ... .cKWMMMMMMMMMMM MMMMMMMMMMNx,. .;dk:. .;kNMMMMMMMMMMMM MMMMMMMMMMMN0ocxXWNkl:,:xXWMMMMMMMMMMMMM MMMMMMMMMMMMMWNWMMMWWNNNWMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM EOF ;; "Finnix"*) set_colors 4 7 7 read -rd '' ascii_data <<'EOF' ${c1} ,,:;;;;:,, ,;*%S########S%*;, ;?#################S?: :%######################?: +##########################; +############################; :#############.**,#############, *###########+ +###########+ ?########## ${c3}Finnix${c1} ##########* *###########, ,###########+ :#############%..%#############, *############################+ *##########################+ ;S######################%: ,+%##################%; :+?S##########S?+: ,:;++++;:, EOF ;; "freebsd_small") set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1}/\\,-'''''-,/\\ \\_) (_/ | | | | ; ; '-_____-' EOF ;; FreeBSD*|HardenedBSD*) set_colors 1 7 3 [[ $ascii_distro == *HardenedBSD* ]] && set_colors 4 7 3 read -rd '' ascii_data <<'EOF' ${c2}``` ${c1}` ${c2}` `.....---...${c1}....--.``` -/ ${c2}+o .--` ${c1}/y:` +. ${c2} yo`:. ${c1}:o `+- ${c2}y/ ${c1}-/` -o/ ${c2}.- ${c1}::/sy+:. ${c2}/ ${c1}`-- / ${c2}`: ${c1}:` ${c2}`: ${c1}:` ${c2}/ ${c1}/ ${c2}.- ${c1}-. ${c2}-- ${c1}-. ${c2}`:` ${c1}`:` .-- `--. .---.....----. EOF ;; "FreeMiNT"*) set_colors 7 read -rd '' ascii_data <<'EOF' ${c1} ## ## ######### #### ## #### #### ## #### #### ## ## #### #### ## ## #### #### ## ## ## #### ###### ###### ## ## #### #### ################ #### ## #### ## #### ###### ## ## #### #### ## ## ## ## ## #### #### ## ## ## EOF ;; "Frugalware"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} `++/::-.` /o+++++++++/::-.` `o+++++++++++++++o++/::-.` /+++++++++++++++++++++++oo++/:-.`` .o+ooooooooooooooooooosssssssso++oo++/:-` ++osoooooooooooosssssssssssssyyo+++++++o: -o+ssoooooooooooosssssssssssssyyo+++++++s` o++ssoooooo++++++++++++++sssyyyyo++++++o: :o++ssoooooo${c2}/-------------${c1}+syyyyyo+++++oo `o+++ssoooooo${c2}/-----${c1}+++++ooosyyyyyyo++++os: /o+++ssoooooo${c2}/-----${c1}ooooooosyyyyyyyo+oooss .o++++ssooooos${c2}/------------${c1}syyyyyyhsosssy- ++++++ssooooss${c2}/-----${c1}+++++ooyyhhhhhdssssso -s+++++syssssss${c2}/-----${c1}yyhhhhhhhhhhhddssssy. sooooooyhyyyyyh${c2}/-----${c1}hhhhhhhhhhhddddyssy+ :yooooooyhyyyhhhyyyyyyhhhhhhhhhhdddddyssy` yoooooooyhyyhhhhhhhhhhhhhhhhhhhddddddysy/ -ysooooooydhhhhhhhhhhhddddddddddddddddssy .-:/+osssyyyysyyyyyyyyyyyyyyyyyyyyyyssy: ``.-/+oosysssssssssssssssssssssss ``.:/+osyysssssssssssssh. `-:/+osyyssssyo .-:+++` EOF ;; "Funtoo"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} .dKXXd . :XXl;:. .OXo .'OXO'' .''''''''''''''''''''':XNd..'oco.lco, xXXXXXX, cXXXNNNXXXXNNXXXXXXXXNNNNKOOK; d0O .k kXX xXo KNNN0 KNN. 'xXNo :c; 'cc. kXX xNo KNNN0 KNN. :xxxx. 'NNo kXX xNo loooc KNN. oNNNN. 'NNo kXX xN0:. KNN' oNNNX' ,XNk kXX xNNXNNNNNNNNXNNNNNNNNXNNOxXNX0Xl ... ......................... .;cc;. EOF ;; "GalliumOS"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1}sooooooooooooooooooooooooooooooooooooo+: yyooooooooooooooooooooooooooooooooo+/::: yyysoooooooooooooooooooooooooooo+/:::::: yyyyyoooooooooooooooooooooooo+/::::::::: yyyyyysoooooooooooooooooo++/:::::::::::: yyyyyyysoooooooooooooo++/::::::::::::::: yyyyyyyyysoooooo${c2}sydddys${c1}+/::::::::::::::: yyyyyyyyyysooo${c2}smMMMMMMMNd${c1}+:::::::::::::: yyyyyyyyyyyyo${c2}sMMMMMMMMMMMN${c1}/::::::::::::: yyyyyyyyyyyyy${c2}dMMMMMMMMMMMM${c1}o//::::::::::: yyyyyyyyyyyyy${c2}hMMMMMMMMMMMm${c1}--//:::::::::: yyyyyyyyyyyyyy${c2}hmMMMMMMMNy${c1}:..-://:::::::: yyyyyyyyyyyyyyy${c2}yyhhyys+:${c1}......://::::::: yyyyyyyyyyyyyyys+:--...........-///::::: yyyyyyyyyyyys+:--................://:::: yyyyyyyyyo+:-.....................-//::: yyyyyyo+:-..........................://: yyyo+:-..............................-// o/:-...................................: EOF ;; "garuda_small") set_colors 7 7 3 7 2 4 read -rd '' ascii_data <<'EOF' ${c3} .----. .' ${c6},${c3} '. ${c4} .' ${c6}'${c3}-----| '${c5}. -----, '.____.' EOF ;; "Garuda"*) set_colors 7 7 3 7 2 4 read -rd '' ascii_data <<'EOF' ${c3} .%;888:8898898: x;XxXB%89b8:b8%b88: .8Xxd 8X:. .8Xx; 8x:. .tt8x ${c6}.d${c3} x88; .@8x8; ${c6}.db:${c3} xx@; ${c4},tSXX° .bbbbbbbbbbbbbbbbbbbB8x@; .SXxx bBBBBBBBBBBBBBBBBBBBbSBX8; ,888S pd! 8X88/ q GBB. ${c5}x%88 d888@8@X@X@X88X@@XX@@X@8@X. dxXd dB8b8b8B8B08bB88b998888b88x. dxx8o .@@;. dx88 .t@x. d:SS@8ba89aa67a853Sxxad. .d988999889889899dd. EOF ;; "gentoo_small") set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} _-----_ ( \\ \ 0 \\ ${c2} \ ) / _/ ( _- \____- EOF ;; "Gentoo"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} -/oyddmdhs+:. -o${c2}dNMMMMMMMMNNmhy+${c1}-` -y${c2}NMMMMMMMMMMMNNNmmdhy${c1}+- `o${c2}mMMMMMMMMMMMMNmdmmmmddhhy${c1}/` om${c2}MMMMMMMMMMMN${c1}hhyyyo${c2}hmdddhhhd${c1}o` .y${c2}dMMMMMMMMMMd${c1}hs++so/s${c2}mdddhhhhdm${c1}+` oy${c2}hdmNMMMMMMMN${c1}dyooy${c2}dmddddhhhhyhN${c1}d. :o${c2}yhhdNNMMMMMMMNNNmmdddhhhhhyym${c1}Mh .:${c2}+sydNMMMMMNNNmmmdddhhhhhhmM${c1}my /m${c2}MMMMMMNNNmmmdddhhhhhmMNh${c1}s: `o${c2}NMMMMMMMNNNmmmddddhhdmMNhs${c1}+` `s${c2}NMMMMMMMMNNNmmmdddddmNMmhs${c1}/. /N${c2}MMMMMMMMNNNNmmmdddmNMNdso${c1}:` +M${c2}MMMMMMNNNNNmmmmdmNMNdso${c1}/- yM${c2}MNNNNNNNmmmmmNNMmhs+/${c1}-` /h${c2}MMNNNNNNNNMNdhs++/${c1}-` `/${c2}ohdmmddhys+++/:${c1}.` `-//////:--. EOF ;; "Pentoo"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c2} `:oydNNMMMMNNdyo:` :yNMMMMMMMMMMMMMMMMNy: :dMMMMMMMMMMMMMMMMMMMMMMd: oMMMMMMMho/-....-/ohMMMMMMMo oMMMMMMy. .yMMMMMMo .MMMMMMo oMMMMMM. +MMMMMm mMMMMM+ oMMMMMh hMMMMMo //hMMMMMm//${c1}`${c2} ${c1}`${c2}////mMMMMMh// MMMMMMMMMMM${c1}/${c2} ${c1}/o/`${c2} ${c1}.${c2}smMMMMMMMMMMM MMMMMMMMMMm ${c1}`NMN:${c2} ${c1}.${c2}yMMMMMMMMMM MMMMMMMMMMMh${c1}:.${c2} dMMMMMMMMM MMMMMMMMMMMMMy${c1}.${c2} ${c1}-${c2}NMMMMMMMMM MMMMMMMMMMMd:${c1}`${c2} ${c1}-${c2}yNMMMMMMMMMM MMMMMMMMMMh${c1}`${c2} ${c1}./${c2}hNMMMMMMMMMMMM MMMMMMMMMM${c1}s${c2} ${c1}.:${c2}ymMMMMMMMMMMMMMMM MMMMMMMMMMN${c1}s:..-/${c2}ohNMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM EOF ;; "glaucus"*) set_colors 5 read -rd '' ascii_data <<'EOF' ${c1} ,, ,d88P ,d8P ,ad8888* ,888P d88888* ,,ad8888P* d d888P a88888P* ,ad8888888* .d8 d8888: d888888* ,d888888P* .888; 88888b d8888888b8888888P d8888J888888a88888888888888P* ,d 88888888888888888888888888P ,,d8* 888888888888888888888888888888888* *8888888888888888888888888888888* Y888888888P* `*``*888888888888* *^888^* *Y888P** EOF ;; "gNewSense"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} ..,,,,.. .oocchhhhhhhhhhccoo. .ochhlllllllc hhhhhh ollllllhhco. ochlllllllllll hhhllllllhhh lllllllllllhco .cllllllllllllll hlllllo +hllh llllllllllllllc. ollllllllllhco'' hlllllo +hllh ``ochllllllllllo hllllllllc' hllllllllllllh `cllllllllh ollllllh +llllllllllll+ hllllllo `cllllh. ohllllllho .hllllc' ochllc. ++++ .cllhco `+occooo+. .+ooocco+' `+oo++++ ++++oo+' EOF ;; "GNOME"*) set_colors 4 read -rd '' ascii_data <<'EOF' ${c1} ,@@@@@@@@, @@@@@@ @@@@@@@@@@@@ ,@@. @@@@@@@ *@@@@@@@@@@@@ @@@@@% @@@@@@( @@@@@@@@@@@& @@@@@@ @@@@* @@@@@@@@@# @@@@* @@@@, *@@@@@% @@@@@. @@@@# @@@@@@@@@@@@@@@@ ,@@@@@@@@@@@@@@@@@@@@@@@, ,@@@@@@@@@@@@@@@@@@@@@@@@@@& .@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@( @@@@@@@@@@@@@@@@@@@@% @@@@@@@@@@@@@@@@ @@@@@@@@@@@@* @@@@@@@@/ &@@@@@@@@@@ @@@@@@@@@* @@@@@@@@@@@, @@@@@@@@@* ,@@@@@@@@@@@@@@@@@@@@& &@@@@@@@@@@@@@@ ... EOF ;; "GNU") set_colors fg 7 read -rd '' ascii_data <<'EOF' ${c1} _-`````-, ,- '- . .' .- - | | - -. `. /.' / `. \ :/ : _... ..._ `` : :: : /._ .`:'_.._\. || : :: `._ ./ ,` : \ . _.'' . `:. / | -. \-. \\_ / \:._ _/ .' .@) \@) ` `\ ,.' _/,--' .- .\,-.`--`. ,'/'' (( \ ` ) /'/' \ `-' ( '/'' `._,-----' ''/' .,---' ''/' ;: ''/'' ''/ ''/''/'' '/'/' `; EOF ;; "GoboLinux"*) set_colors 5 4 6 2 read -rd '' ascii_data <<'EOF' ${c1} _____ _ / ____| | | | | __ ___ | |__ ___ | | |_ |/ _ \| '_ \ / _ \ | |__| | (_) | |_) | (_) | \_____|\___/|_.__/ \___/ EOF ;; "GrapheneOS"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' ${c1} B? G~ G~& G!^:^?# &^.:::.J &PG& #G5JJ7~^~?JY5B& #PG B5JJPGJ77YG5JYP# && &B5JYPGJ7?YG5JYP# &Y..::.:P& &?..::.:G #!::::? B~::::J B~J# B!?# !P 75 !P 75 !5 7Y &Y~:^!P &J~:^!P P..::.:B Y..::.:# #PYJJ~^^!JJYP# &B5YJ?~^^!JJYG# &YYG# && #PYJ5G5??JGGYJ5G& && #PYP B^.::..7& J::::^G #Y^G& B~ G! # EOF ;; "Grombyang"*) set_colors 4 2 1 read -rd '' ascii_data <<'EOF' ${c1} eeeeeeeeeeee eeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeeeeeeeee eeeee ${c2}.o+ ${c1}eeee eeee ${c2}`ooo/ ${c1}eeee eeee ${c2}`+oooo: ${c1}eeee eee ${c2}`+oooooo: ${c1}eee eee ${c2}-+oooooo+: ${c1}eee ee ${c2}`/:oooooooo+: ${c1}ee ee ${c2}`/+ +++ +: ${c1}ee ee ${c2}+o+\ ${c1}ee eee ${c2}+o+\ ${c1}eee eee ${c2}// \\ooo/ \\\ ${c1}eee eee ${c2}//++++oooo++++\\\ ${c1}eee eeee ${c2}::::++oooo+::::: ${c1}eeee eeeee ${c3}Grombyang OS ${c1} eeee eeeeeeeeeeeeeeeeeeeeeee eeeeeeeeeeeeeeeee EOF ;; "guix_small"*) set_colors 3 7 6 1 8 read -rd '' ascii_data <<'EOF' ${c1}|.__ __.| |__ \\ / __| \\ \\ / / \\ \\ / / \\ \\ / / \\ \\/ / \\__/ EOF ;; "Guix"*) set_colors 3 7 6 1 8 read -rd '' ascii_data <<'EOF' ${c1} .. `. `--..```..` `..```..--` .-:///-:::. `-:::///:-. ````.:::` `:::.```` -//:` -::- ://: -::- `///- .:::` -+++-:::. :+/:::- `-....` EOF ;; "haiku_small"*) set_colors 2 8 read -rd '' ascii_data <<'EOF' ${c1} ,^, / \\ *--_ ; ; _--* \\ '" "' / '. .' .-'" "'-. '-.__. .__.-' |_| EOF ;; "Haiku"*) set_colors 1 3 7 2 read -rd '' ascii_data <<'EOF' ${c3} MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM MMMM${c4} .ciO| /YMMMMM*" ${c3} MMMM${c4} .cOMMMMM|/MMMMM/` , ,iMM|/MMMMMMMMMMMMMMM* `*.__,-cMMMMMMMMMMMMMMMMM/`${c3}.MMM MM${c4}MMMMMMM/`:MMM/ ${c3}MMMM MMMM MMMM MMMM MMMM """" """" EOF ;; "HamoniKR"*) set_colors 4 7 99 1 3 7 read -rd '' ascii_data <<'EOF' ${c1} cO0Ox. .ldddddddo. .lddddddddddo 'lddddddddddddc ,oddddddddddddd; 'ldddddddddddddo. .oddddddddddddddc. ,dddddddddddddddo. ,ccoooooooocoddooo: ,cooooooooooooooooop ${c3} c000x. ${c1}.cooooooooooooooopcllll${c3} .cddddddo. ${c1}coooooooooooooop' .qlll.${c3} .ddoooooooo; ${c1}cooooooooooc; ${c3}'qlllp. .ddoooooooooo; ${c1}.cooooooc; ${c3}'lllbc...coooooooooooo; ${c1} .cooc' ${c3}.llllcoooooooooooooo. .coooooooooooooop: .coooooooooooooop' .cooooooooooooop. .cooooooooooooop. .coooooooooooop. .cooooooooooop. .cooooooooop. .cooooop' EOF ;; "Huayra"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c2} ` . . ` `` - . . `.` -` `. - `` .` ..`-`-` + - / .` ``` .--.+--`+:- :/.` .-``.` -+/so::h:.d-`./:`.` :hNhyMomy:os-...-. ```` .dhsshNmNhoo+:-``.``` ${c1}`ohy:-${c2}NMds+::-.`` ````${c1}.hNN+`${c2}mMNho/:-....```` ````` `../dmNhoo+/:..`` ```` .dh++o/:....` .+s/` `/s-.-.:.`` ```` ::` `::`..` .` `.. `` EOF ;; "HydroOS"*) set_colors 1 2 3 4 5 read -rd '' ascii_data <<'EOF' ${c1} _ _ _ ____ _____ | | | | | | / __ \ / ____| | |__| |_ _ __| |_ __ ___ | | | | (___ | __ | | | |/ _` | '__/ _ \| | | |\___ \ | | | | |_| | (_| | | | (_) | |__| |____) | |_| |_|\__, |\__,_|_| \___/ \____/|_____/ __/ | |___/ EOF ;; "hyperbola_small"*) set_colors 8 read -rd '' ascii_data <<'EOF' ${c1} |`__.`/ \____/ .--. / \\ / ___ \\ / .` `.\\ /.` `.\\ EOF ;; "Hyperbola"*) set_colors 8 read -rd '' ascii_data <<'EOF' ${c1} WW KX W WO0W NX0O NOO0NW WNXK0OOKW W0OOOOOOOOOOOOKN N0OOOOOOO0KXW WNXXXNW NXK00000KN WNK0OOOOOOOOOO0W NK0OOOOOOOOOOOOOO0W X0OOOOOOO00KK00OOOOOK X0OOOO0KNWW WX0OO0W X0OO0XNW KOOW N00KNW KOW NKXN W0W WW W EOF ;; "Hybrid"*) set_colors 4 12 read -rd '' ascii_data <<'EOF' ${c1} / ${c2}# ${c1}////& ${c2}##### ${c1}///// ${c2}###### ${c1}///// ////////// ${c2}###### ${c1}///// //////////////////// ${c2}###### ${c1}////////////////////////// ${c2}###### ${c1}///////// /// ${c2}###### ${c1}/////// / ${c2}###### ${c1}////// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}###### ${c1}///// ${c2}######### ${c1}////& ${c2}######## EOF ;; "iglunix"*|"iglu"*) set_colors 8 read -rd '' ascii_data <<'EOF' ${c1} | | | | | ________ | /\ | \ / \ | \ | / \ \ | / \________\ \ / / \ / / \ / / \/________/ EOF ;; "Interix"*) set_colors 1 7 4 0 3 read -rd '' ascii_data <<'EOF' ${c1} .${c3}. ${c1} 75${c3}G! ${c1} ^?PG${c3}&&J. ${c1} :!5GPP${c3}&&&B! ${c1} :YPPPPP${c3}&&&&&Y: ${c1} !5PPPPPP${c3}&&&&&&B! ${c1} :?PPPPPPPP${c3}&&&&&&&&Y~ ${c1} !5PPPPPPPPP${c3}###&&&&&&B7 ${c1} :?PPPP5555555${c3}B####&&&&&&5: ${c1} ~5PPPP555YJ${c5}7!~7?${c3}5B###&&&&&B?. ${c1} .:JPPPP5555Y${c5}?^....:^?${c3}G####&&&&&5: ${c1} 75PPP555555Y${c5}7:....:^!${c3}5#####&&&&&B7. ${c1} :JPPPP${c2}555555YY?${c5}~::::^~${c2}7YPGBB###${c3}&&&&&5^ ${c1}75${c2}GGPPPPPP555555YJ?77??YYYYYY55PPGGB#${c3}&B? ${c2}~!!7JY5PGGBBBBBBBBGGGGGGGBGGGGGP5YJ?7~~~ .::^~7?JYPGBB#BGPYJ?7!7^:. ..:^... EOF ;; "januslinux"*|"janus"*|"Ataraxia Linux"*|"Ataraxia"*) set_colors 4 5 6 2 read -rd '' ascii_data <<'EOF' ${c1} 'l: loooooo loooo coooool looooooooooooooooooool looooooooooooooooo lool cooo coooooooloooooooo clooooo ;lood cloooo :loooocooo cloo loooo loooo :ooooool loooo looo cooooo cooooo looooooooooooo ;loooooo ${c2}looooooc ${c1}looooooooo loo cloooooool ${c2}looooc ${c1} cooo cooooooooooo ${c2}looolooooool ${c1} cooo: ${c2}coooooooooooooooooool loooooooooooolc: loooc; cooo: loooooooooooc ;oool looooooo: coool olc, looooc ,, coooooc loc :oooool, coool:, looool:, looool: ooooooooooooooo: cooolc .ooooooooooool EOF ;; "Kaisen"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} ` `:+oyyho. `+:`sdddddd/ `+` :ho oyo++ohds-` .ho :dd. .: `sddddddhhyso+/- ody.ddd-:yd- +hysssyhddddddddho` yddddddhddd` ` `--` -+hddddddh. hddy-+dddddy+ohh/..+sddddy/:::+ys :ddd/sdddddddddd- oddddddd ` `yddddddddddddddd/ /ddddddd/ :. :ydddddddddddddddddo..sddddddy/` odhdddddddo- `ddddh+-``....-+hdddddds. -ddddddhd: /dddo -ydddddddhdddddddd- /hdy:o - `:sddds .`./hdddddddddddddo `/- `+hddyosy+ :dddddddy-.-od/ :sydds -hddddddd` / .+shd- `:ohddddddddd` `:+ooooooooooooo: EOF ;; "kali_small" | "kalilinux_small" | "kali_linux_small") set_colors 4 8 read -rd '' ascii_data <<'EOF' ${c1} -#. # @### -###### @######### =##. .##### ## ## ## ## ## # ## @### ##. ### ##% ##- -##% -* :*##+ :*#* -# @ : EOF ;; "Kali"*) set_colors 4 8 read -rd '' ascii_data <<'EOF' ${c1}.............. ..,;:ccc,. ......''';lxO. .....''''..........,:ld; .';;;:::;,,.x, ..'''. 0Xxoc:,. ... .... ,ONkc;,;cokOdc',. . OMo ':${c2}dd${c1}o. dMc :OO; 0M. .:o. ;Wd ;XO, ,d0Odlc;,.. ..',;:cdOOd::,. .:d;.':;. 'd, .' ;l .. .o c .' . EOF ;; "KaOS"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} .. ..... ..OSSAAAAAAA.. .KKKKSS. .SSAAAAAAAAAAA. .KKKKKSO. .SAAAAAAAAAA... KKKKKKS. .OAAAAAAAA. KKKKKKS. .OAAAAAA. KKKKKKS. .SSAA.. .KKKKKS..OAAAAAAAAAAAA........ DKKKKO.=AA=========A===AASSSO.. AKKKS.==========AASSSSAAAAAASS. .=KKO..========ASS.....SSSSASSSS. .KK. .ASS..O.. =SSSSAOSS: .OK. .ASSSSSSSO...=A.SSA. .K ..SSSASSSS.. ..SSA. .SSS.AAKAKSSKA. .SSS....S.. EOF ;; "KDE"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} `..---+/---..` `---.`` `` `.---.` .--.` `` `-:-. `:/: `.----//----.` :/- .:. `---` `--.` .:` .:` `--` .:- `:. `/ `:. `.-::-.` -:` `/` /. /. `:++++++++:` .: .: `/ .: `+++++++++++/ /` `+` /+` -- .++++++++++++` :. .+: `/ .: `+++++++++++/ /` `+` /` /. `:++++++++:` .: .: ./ `:. `.:::-.` -:` `/` .:` `--` .:- `:. .:. `---` `--.` .:` `:/: `.----//----.` :/- .-:.` `` `-:-. `---.`` `` `.---.` `..---+/---..` EOF ;; "Kibojoe"*) set_colors 2 7 4 read -rd '' ascii_data <<'EOF' ${c3} ./+oooooo+/. -/+ooooo+/:.` ${c1}`${c3}yyyo${c2}+++/++${c3}osss${c1}. ${c1}+NMN${c3}yssssssssssss${c1}. ${c1}.dMMMMN${c3}sssssssssssy${c1}Ns` +MMMMMMMm${c3}sssssssssssh${c1}MNo` `hMMMMMNNNMd${c3}sssssssssssd${c1}MMN/ .${c3}syyyssssssy${c1}NNmmmmd${c3}sssss${c1}hMMMMd: -NMmh${c3}yssssssssyhhhhyssyh${c1}mMMMMMMMy` -NMMMMMNN${c3}mdhyyyyyyyhdm${c1}NMMMMMMMMMMMN+ `NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd. ods+/:-----://+oyydmNMMMMMMMMMMMMMMMMMN- ` .-:+osyhhdmmNNNmdo EOF ;; "Kogaion"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} ;; ,; ;;; ,;; ,;;;; ;;;; ,;;;;;;;; ;;;; ;;;;;;;;;;; ;;;;; ,;;;;;;;;;;;; ';;;;;, ;;;;;;;;;;;;;;, ';;;;;;; ;;;;;;;;;;;;;;;;;, ';;;;; ; ';;;;;;;;;;;;;;;;;;, ;;; ;;;, ';;;;;;;;;;;;;;;;;;;,;; ;;;;;, ';;;;;;;;;;;;;;;;;;, ;;;;;;;;, ';;;;;;;;;;;;;;;;, ;;;;;;;;;;;;, ';;;;;;;;;;;;;; ';;;;;;;;;;;;; ';;;;;;;;;;;;; ';;;;;;;;;;;;;, ';;;;;;;;;;; ';;;;;;;;;;;;; ;;;;;;;;;; ';;;;;;;;;;;; ;;;;;;;; ';;;;;;;; ;;;;;; ';;;;; ;;;; ';;; ;; EOF ;; "Korora"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} ____________ _add55555555554${c1}: _w?'${c1}``````````'${c2})k${c1}: _Z'${c1}`${c2} ]k${c1}: m(${c1}`${c2} )k${c1}: _.ss${c1}`${c2}m[${c1}`${c2}, ]e${c1}: .uY"^`${c1}`${c2}Xc${c1}`${c2}?Ss. d(${c1}` jF'${c1}`${c2} `@. ${c1}`${c2}Sc .jr${c1}` jr${c1}`${c2} `?n_ ${c1}`${c2}$; _a2"${c1}` .m${c1}:${c2} `~M${c1}`${c2}1k${c1}`${c2}5?!`${c1}` :#${c1}:${c2} ${c1}`${c2})e${c1}``` :m${c1}:${c2} ,#'${c1}` :#${c1}:${c2} .s2'${c1}` :m,________.aa7^${c1}` :#baaaaaaas!J'${c1}` ``````````` EOF ;; "KSLinux"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} K K U U RRRR ooo K K U U R R o o KKK U U RRRR o o K K U U R R o o K K UUU R R ooo ${c2} SSS AAA W W AAA S A A W W A A SSS AAAAA W W W AAAAA S A A WW WW A A SSS A A W W A A EOF ;; "Kubuntu"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} `.:/ossyyyysso/:. .:oyyyyyyyyyyyyyyyyyyo:` -oyyyyyyyo${c2}dMMy${c1}yyyyyyysyyyyo- -syyyyyyyyyy${c2}dMMy${c1}oyyyy${c2}dmMMy${c1}yyyys- oyyys${c2}dMy${c1}syyyy${c2}dMMMMMMMMMMMMMy${c1}yyyyyyo `oyyyy${c2}dMMMMy${c1}syysoooooo${c2}dMMMMy${c1}yyyyyyyyo` oyyyyyy${c2}dMMMMy${c1}yyyyyyyyyyys${c2}dMMy${c1}sssssyyyo -yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy- oyyyysoo${c2}dMy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyysosyyyyyyyy yyys${c2}dMMMMMy${c1}yyyyyyyyyyyyyyyyyyyyyyyyyyyyy oyyyyysos${c2}dy${c1}yyyyyyyyyyyyyyyyyy${c2}dMMMMy${c1}syyyo -yyyyyyyy${c2}dMy${c1}syyyyyyyyyyyyyys${c2}dMMMMMy${c1}syyy- oyyyyyy${c2}dMMMy${c1}syyyyyyyyyyys${c2}dMMy${c1}oyyyoyyyo `oyyyy${c2}dMMMy${c1}syyyoooooo${c2}dMMMMy${c1}oyyyyyyyyo oyyysyyoyyyys${c2}dMMMMMMMMMMMy${c1}yyyyyyyo -syyyyyyyyy${c2}dMMMy${c1}syyy${c2}dMMMy${c1}syyyys- -oyyyyyyy${c2}dMMy${c1}yyyyyysosyyyyo- ./oyyyyyyyyyyyyyyyyyyo/. `.:/oosyyyysso/:.` EOF ;; "LainOS"*) set_colors 4 14 7 2 3 5 read -rd '' ascii_data <<'EOF' ${c2} /==\\ \\==/ ${c1} · · · · · · · · · · · · · · · · · · · · ${c2}.-======-.${c1}· · · · ${c2} .::.${c1} ·${c2}.-============-.${c1}· ${c2}.::. .:==:${c1}· ${c2}.:===:'${c1}. ·· .${c2}':===:.${c1} ·${c2}:==:. .:===:${c1} · ${c2}:===.${c1} · ${c3}.--.${c1} · ${c2}.===:${c1} · ${c2}:===:. :===:${c1}· · ${c2}:===.${c1} · ${c3}.:====:.${c1} · ${c2}.===:${c1} · ·${c2}:===: (===:${c1}· · ${c2}:===-${c1} · ${c3}:======:${c1} · ${c2}-===:${c1} · ·${c2}:===) :===:${c1}· · ${c2}:===.${c1} · ${c3}':====:'${c1} · ${c2}.===:${c1} · ·${c2}:===: ':===:${c1} · ${c2}:===.${c1} · ${c3}'--'${c1} · ${c2}.===:${c1} · ${c2}:===:' ':==:${c1}· ${c2}':===:.${c1}' ·· '${c2}.:===:'${c1} ·${c2}:==:' '::'${c1} · ${c2}'===-. .-==='${c1} · ${c2}'::' ${c2}/==\\${c1} · · · ${c2}:=== ===:${c1} · · · ${c2}/==\\ \\==/${c1} · · ·${c2}:===${c1} ·${c2}===:${c1}· · · ${c2}\\==/${c2} .-. ${c1}· ${c2}:===${c1}· ${c2}===:${c1} ·${c2} ${c2}.-. .===. .=== ===. .===. .======== ========. ''''' ''''' EOF ;; "LEDE"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} _________ / /\ / LE / \ / DE / \ /________/ LE \ \ \ DE / \ LE \ / \ DE \ / \________\/ EOF ;; "LangitKetujuh_old") set_colors 7 4 read -rd '' ascii_data <<'EOF' ${c1} L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L 'L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L L7L. 'L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L7L7L7L7L7L7L7L7L L7L7L7L 'L7L7L7L7L7L7L7L7L7L L7L7L7L 'L7L7L7L7L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L. 'L7L L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L. L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L7L ${c2} EOF ;; "LangitKetujuh"*) set_colors 4 2 read -rd '' ascii_data <<'EOF' ${c1} . 'MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMML7 MM. 'MMMMMMMMMMMMMMMMMMMMMMMMMMML7L7 MMMMMM MMMMMMML7L7L7L7L7L7L7L7L7L7 L7MMMM L7L7L7 L7L7MM 'L7L7L7L7L7L7L7L7L7L: L7L7L7 'L7L7L7L7L7L7L::: L7L7L7 'L7L7L7:::::: :7L7L7 :::::: ::L7L7L7L7L7L7L7L7L7L::::::. :::::: :::::7L7L7L7L7L7:::::::::::::::. ':: :::::::::::::::::::::::::::::::::::. ' ${c2} EOF ;; "LaxerOS"*) set_colors 7 4 read -rd '' ascii_data <<'EOF' ${c2} /. `://:- `//////: .////////:` -//////////:` -/////////////` :///////////////. `://////.```-//////- `://///:` .//////- `//////: `//////: .//////- `://///:` -//////- `://///:` -//////. ://////` ://////` -//////. `/////:` ./////: .-::-` .:::-` .:://////////////////////////////////::. //////////////////////////////////////// .:////////////////////////////////////:. EOF ;; "LibreELEC"*) set_colors 2 3 7 14 13 read -rd '' ascii_data <<'EOF' ${c1} :+ooo/. ${c2}./ooo+: ${c1} :+ooooooo/. ${c2}./ooooooo+: ${c1} :+ooooooooooo:${c2}:ooooooooooo+: ${c1} :+ooooooooooo+- ${c2}-+ooooooooooo+: ${c1} :+ooooooooooo+- ${c3}-- ${c2}-+ooooooooooo+: ${c1}.+ooooooooooo+- ${c3}:+oo+: ${c2}-+ooooooooooo+- ${c1}-+ooooooooo+- ${c3}:+oooooo+: ${c2}-+oooooooooo- ${c1} :+ooooo+- ${c3}:+oooooooooo+: ${c2}-+oooooo: ${c1} :+o+- ${c3}:+oooooooooooooo+: ${c2}-+oo: ${c4} ./ ${c3}:oooooooooooooooooo: ${c5}/. ${c4} ./oo+: ${c3}-+oooooooooooooo+- ${c5}:+oo/. ${c4} ./oooooo+: ${c3}-+oooooooooo+- ${c5}:+oooooo/. ${c4}-oooooooooo+: ${c3}-+oooooo+- ${c5}:+oooooooooo- ${c4}.+ooooooooooo+: ${c3}-+oo+- ${c5}:+ooooooooooo+. ${c4} -+ooooooooooo+: ${c3}.. ${c5}:+ooooooooooo+- ${c4} -+ooooooooooo+: ${c5}:+ooooooooooo+- ${c4} -+oooooooooo+:${c5}:+oooooooooo+- ${c4} -+oooooo+: ${c5}:+oooooo+- ${c4} -+oo+: ${c5}:+oo+- ${c4} .. ${c5}.. EOF ;; "Linux") set_colors fg 8 3 read -rd '' ascii_data <<'EOF' ${c2} ##### ${c2} ####### ${c2} ##${c1}O${c2}#${c1}O${c2}## ${c2} #${c3}#####${c2}# ${c2} ##${c1}##${c3}###${c1}##${c2}## ${c2} #${c1}##########${c2}## ${c2} #${c1}############${c2}## ${c2} #${c1}############${c2}### ${c3} ##${c2}#${c1}###########${c2}##${c3}# ${c3}######${c2}#${c1}#######${c2}#${c3}###### ${c3}#######${c2}#${c1}#####${c2}#${c3}####### ${c3} #####${c2}#######${c3}##### EOF ;; "Linux_small") set_colors fg 8 3 read -rd '' ascii_data << 'EOF' ${c2} ___ ${c2} (${c1}.. ${c2}| ${c2} (${c3}<> ${c2}| ${c2} / ${c1}__ ${c2}\\ ${c2} ( ${c1}/ \\ ${c2}/| ${c3}_${c2}/\\ ${c1}__)${c2}/${c3}_${c2}) ${c3}\/${c2}-____${c3}\/ EOF ;; "linuxlite_small"*) set_colors 3 7 read -rd '' ascii_data <<'EOF' ${c1} /\\ / \\ / ${c2}/ ${c1}/ > ${c2}/ ${c1}/ \\ ${c2}\\ ${c1}\\ \\_${c2}\\${c1}_\\ ${c2} \\ EOF ;; "Linux Lite"* | "Linux_Lite"*) set_colors 3 7 read -rd '' ascii_data <<'EOF' ${c1} ,xXc .l0MMMMMO .kNMMMMMWMMMN, KMMMMMMKMMMMMMo 'MMMMMMNKMMMMMM: kMMMMMMOMMMMMMO .MMMMMMX0MMMMMW. oMMMMMMxWMMMMM: WMMMMMNkMMMMMO :MMMMMMOXMMMMW .0MMMMMxMMMMM; :;cKMMWxMMMMO 'MMWMMXOMMMMl kMMMMKOMMMMMX: .WMMMMKOWMMM0c lMMMMMWO0MNd:' oollXMKXoxl;. ':. .: .' .. . EOF ;; "LMDE"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c2} `.-::---.. ${c1} .:++++ooooosssoo:. .+o++::. `.:oos+. ${c1} :oo:.` -+oo${c2}: ${c1} ${c2}`${c1}+o/` .${c2}::::::${c1}-. .++-${c2}` ${c1}${c2}`${c1}/s/ .yyyyyyyyyyo: +o-${c2}` ${c1}${c2}`${c1}so .ss ohyo` :s-${c2}: ${c1}${c2}`${c1}s/ .ss h m myy/ /s`${c2}` ${c1}`s: `oo s m Myy+-o:` `oo :+sdoohyoydyso/. :o. .:////////++: ${c1} `/++ ${c2}-:::::- ${c1} ${c2}`${c1}++- ${c1} ${c2}`${c1}/+- ${c1} ${c2}.${c1}+/. ${c1} ${c2}.${c1}:+-. `--.`` EOF ;; "Lubuntu"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} `.:/ossyyyysso/:. `.:yyyyyyyyyyyyyyyyyy:.` .:yyyyyyyyyyyyyyyyyyyyyyyy:. .:yyyyyyyyyyyyyyyyyyyyyyyyyyyy:. -yyyyyyyyyyyyyy${c2}+hNMMMNh+${c1}yyyyyyyyy- :yy${c2}mNy+${c1}yyyyyyyy${c2}+Nmso++smMdhyysoo+${c1}yy: -yy${c2}+MMMmmy${c1}yyyyyy${c2}hh${c1}yyyyyyyyyyyyyyyyyyy- .yyyy${c2}NMN${c1}yy${c2}shhs${c1}yyy${c2}+o${c1}yyyyyyyyyyyyyyyyyyyy. :yyyy${c2}oNM+${c1}yyyy${c2}+sso${c1}yyyyyyy${c2}ss${c1}yyyyyyyyyyyyy: :yyyyy${c2}+dNs${c1}yyyyyyy${c2}++${c1}yyyyy${c2}oN+${c1}yyyyyyyyyyyy: :yyyyy${c2}oMMmhysso${c1}yyyyyyyyyy${c2}mN+${c1}yyyyyyyyyyy: :yyyyyy${c2}hMm${c1}yyyyy${c2}+++${c1}yyyyyyy${c2}+MN${c1}yyyyyyyyyyy: .yyyyyyy${c2}ohmy+${c1}yyyyyyyyyyyyy${c2}NMh${c1}yyyyyyyyyy. -yyyyyyyyyy${c2}++${c1}yyyyyyyyyyyy${c2}MMh${c1}yyyyyyyyy- :yyyyyyyyyyyyyyyyyyyyy${c2}+mMN+${c1}yyyyyyyy: -yyyyyyyyyyyyyyyyy${c2}+sdMMd+${c1}yyyyyyyy- .:yyyyyyyyy${c2}hmdmmNMNdy+${c1}yyyyyyyy:. .:yyyyyyy${c2}my${c1}yyyyyyyyyyyyyyy:. `.:yyyy${c2}s${c1}yyyyyyyyyyyyy:.` `.:/oosyyyysso/:.` EOF ;; "Lunar"*) set_colors 4 7 3 read -rd '' ascii_data <<'EOF' ${c1}`-. `-. -ohys/-` `:+shy/` -omNNdyo/` :+shmNNy/` ${c3} - /mMmo hMMMN` .NMMs ${c1} -:+oooo+//: ${c3}/MN${c1}. -///oooo+/-` /:.` ${c3}/${c1} `.:/` ${c3} __ | | _ _ ___ ___ ___ | |__| | | | .'| _| |_____|___|_|_|__,|_| EOF ;; "mac"*"_small") set_colors 2 3 1 5 4 read -rd '' ascii_data <<'EOF' ${c1} .:' _ :'_ ${c2} .'`_`-'_``. :________.-' ${c3}:_______: :_______: ${c4} :_______`-; ${c5} `._.-._.' EOF ;; "mac"* | "Darwin") set_colors 2 3 1 1 5 4 read -rd '' ascii_data <<'EOF' ${c1} c.' ,xNMM. .OMMMMo lMM" .;loddo:. .olloddol;. cKMMMMMMMMMMNWMMMMMMMMMM0: ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd. XMMMMMMMMMMMMMMMMMMMMMMMX. ${c3};MMMMMMMMMMMMMMMMMMMMMMMM: :MMMMMMMMMMMMMMMMMMMMMMMM: ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX. kMMMMMMMMMMMMMMMMMMMMMMMMWd. ${c5}'XMMMMMMMMMMMMMMMMMMMMMMMMMMk 'XMMMMMMMMMMMMMMMMMMMMMMMMK. ${c6}kMMMMMMMMMMMMMMMMMMMMMMd ;KMMMMMMMWXXWMMMMMMMk. "cooc*" "*coo'" EOF ;; "mageia_small"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} * * ** ${c2} /\\__/\\ / \\ \\ / \\____/ EOF ;; "Mageia"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} .°°. °° .°°. .°°°. °° . . °°° .°°°. .°°°. '___' ${c2} .${c1}'___' ${c2} . :dkxc;'. ..,cxkd; .dkk. kkkkkkkkkk .kkd. .dkk. ';cloolc;. .kkd ckk. .kk; xO: cOd xO: lOd lOO. .OO: .k00. .00x .k00; ;00O. .lO0Kc;,,,,,,;c0KOc. ;d00KKKKKK00d; .,KKKK,. EOF ;; "MagpieOS"*) set_colors 2 1 3 5 read -rd '' ascii_data <<'EOF' ${c1} ;00000 :000Ol .x00kk00: O0kk00k; l00: :00. o0k :O0k. .k0k. x${c2}d$dddd${c1}k' .d00; k0k. ${c2}.dddddl ${c1}o00, o00. ${c2}':cc:. ${c1}d0O .00l ,00. l00. d0x k0O .:k0o O0k ;dO0000d. k0O .O0O${c2}xxxxk${c1}00: o00. k0O${c2}dddddd${c1}occ '00l x0O${c2}dddddo${c3};..${c1} x00. .x00${c2}kxxd${c3}:..${c1} .O0x .:oxxx${c4}Okl.${c1} .x0d ${c4},xx,${c1} .:o. ${c4}.xd ckd${c1} .. ${c4}dxl .xx; :xxolldxd' ;oxdl. EOF ;; "MainsailOS_small"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} -: +%* .#%%+ -%%%: += +%%#..#%%- .#%%+ -%%%- += -%%%- +%%#..#%%+ EOF ;; "MainsailOS"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} - *%: :%%%# =%%%%%- *%%%%%%# :#%%%%%%%#. -%%%%%%%%+ *%%%%%%%%- : .#%%%%%%%#. *%= -%%%%%%%%+ :#%%%* +%%%%%%%%- =%%%%%%#. .#%%%%%%%#. *%%%%%%%%: -%%%%%%%%* :#%%%%%%%#. +%%%%%%%%- =%%%%%%%%+ :%*. .#%%%%%%%#: *%%%%%%%%- +%%%%*: :%%%%%%%%* :#%%%%%%%#. .*%%%%%%%* +%%%%%%%%= -%%%%%%%%+ :%%%%%%%%* .#%%%%%%%%: *%%%%%%%%- =%%%%%%%%= EOF ;; "Mandriva"* | "Mandrake"*) set_colors 4 3 read -rd '' ascii_data <<'EOF' ${c2} `` `-. ${c1} ` ${c2}.--- ${c1} -/ ${c2}-::--` ${c1} `++ ${c2}`----...```-:::::. ${c1} `os. ${c2}.::::::::::::::-``` ` ` ${c1} +s+ ${c2}.::::::::::::::::---...--` ${c1}-ss: ${c2}`-::::::::::::::::-.``.`` ${c1}/ss- ${c2}.::::::::::::-.`` ` ${c1}+ss: ${c2}.::::::::::::- ${c1}/sso ${c2}.::::::-::::::- ${c1}.sss/ ${c2}-:::-.` .::::: ${c1} /sss+. ${c2}..`${c1} `--` ${c2}.::: ${c1} -ossso+/:://+/-` ${c2}.:` ${c1} -/+ooo+/-. ${c2}` EOF ;; "manjaro_small"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1}||||||||| |||| ||||||||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| |||| EOF ;; "Manjaro"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1}██████████████████ ████████ ██████████████████ ████████ ██████████████████ ████████ ██████████████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ ████████ EOF ;; "MassOS"*) set_colors 7 read -rd '' ascii_data <<'EOF' ${c1} -+++/+++osyyhdmNNMMMMNdy/ /MMMMMMMMMMMMMMMMMMMMMMMMm. /MMMMMMMMMMMMMMMMMMMMMMMMMm /MMMMMMMMMMMMMMMMMMMMMMMMMM: :ddddddddhddddddddhdddddddd/ /NNNNNNNm:NNNNNNNN-NNNNNNNNo /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs /MMMMMMMN:MMMMMMMM-MMMMMMMMs :MMMMMMMN:MMMMMMMM-MMMMMMMMs dMMMMMMN:MMMMMMMM-MMMMMMMMs `yNMMMMN:MMMMMMMM-MMMMMMMMs `:+oss.ssssssss.ssssssss/ EOF ;; "TeArch"*) set_colors 39 7 1 read -rd '' ascii_data <<'EOF' ${c1} @@@@@@@@@@@@@@ @@@@@@@@@ @@@@@@ @@@@@ @@@@@ @@ @@ @% @@ @ @ @@@@@@@@@@@@@@@@@@@@@@@@ @@ .@@@@@@@@@@@@/@@@@@@@@@@@@ @@@@@@@@@@@@///@@@@@@@@@@@@ @@@@@@@@@@@@@((((@@@@@@@@@@@@ @@@@@@@@@@@#(((((((#@@@@@@@@@@@ @@@@@@@@@@@#//////////@@@@@@@@@@& @@@@@@@@@@////@@@@@////@@@@@@@@@@ @@@@@@@@//////@@@@@/////@@@@@@@@@ @@@@@@@//@@@@@@@@@@@@@@@//@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@ .@@@@@@@@@@@@@@@@@@@@@@@@@ @ @@@@@@ @@@. @@@@@@@ @@@@@@@&@@@@@@@# #@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@ EOF ;; "Maui"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} `.-://////:--` .:/oooooooooooooooo+:. `:+ooooooooooooooooooooooo:` `:oooooooooooooooooooooooooooo/` ..```-oooooo/-`` `:oooooo+:.` `-- :. +oo+-` /ooo/` -/ -o. `o+- +o/` -o: `oo` ::` :o/ `+. .+o` /oo. /o+ . -+oo- ` /oo/ `ooo/ +o- /ooo+` .+ooo. :ooo+ ++ .+oooo: -oooo+ `oooo+ :. .oooooo` :ooooo- :oooo: ` .oooooo: :ooooo+ `ooo+-` .+oooooo` -oooooo: `o/- +oooooo: .ooooooo. /ooooooo` /ooooooo/ .. `:oooooooo/:::/ooooooooo+:--:/:` `:+oooooooooooooooooooooo+:` .:+oooooooooooooooo+:. `.-://////:-.` EOF ;; "Meowix"*) set_colors 1 3 3 4 read -rd '' ascii_data <<'EOF' ${c1} #${c2}% ${c3}&${c4}* ${c1} ##${c2}%% ${c3}&&${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%% ${c3}&& ${c4}** ${c1} ## ${c2}%%${c3}&& ${c4}** ${c1} ## ${c2}%% ${c4}** ${c1} ## ${c4}** ${c1}## ${c4}** EOF ;; "Mer"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} dMs .-` `y`-o+` ``NMMy .--`:++. .hNNNNs /MMMMMN `ommmd/ +/ ```` +/ `:+sssso/-` .-::. `-::-` `smNMNmdmNMNd/ .://-` .ymNMNNdmNMMNm+` -dMMh:.....+dMMs `sNNMMNo dMN+::NMMy::hMM+ mMMo `ohhy/ `dMM+ yMMy::- MMm yMM- :MMs NMN` `:::::--sMMh dMM` MMm yMM- -MMs mMM+ `ymmdsymMMMs dMM` NNd sNN- -NNs -mMNs-.--..:dMMh` dNN --- .--` `--. .smMMmdddmMNdo` .-- ./ohddds+:` +h- `.:-. ./`.dMMMN+ +MMMMMd `+dmmy- ``` .+` .dMNo-y. `hmm/ .:` dMs EOF ;; "Minix"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c2} -sdhyo+:-` -/syymm: sdyooymmNNy. `` .smNmmdysNd odyoso+syNNmysoyhhdhsoomNmm+/osdm/ :hhy+-/syNNmddhddddddmNMNo:sdNd: `smNNdNmmNmddddddddddmmmmmmmy` `ohhhhdddddmmNNdmddNmNNmdddddmdh- odNNNmdyo/:/-/hNddNy-`..-+ydNNNmd: `+mNho:` smmd/ sNNh :dmms` -+ymmo. -od/ -m${c1}mm${c2}mo -NN+ +m${c1}mm${c2}m- yms: +sms -.` :so: .NN+ :os/ .-`mNh: .-hyh+:////- -sNNd:` .--://ohNs- `:hNNNNNNNMMd/sNMmhsdMMh/ymmNNNmmNNy/ -+sNNNNMMNNNsmNMo: :NNmymNNNNMMMms: //oydNMMMMydMMNysNMMmsMMMMMNyo/` ../-yNMMy--/::/-.sMMmos+.` -+oyhNsooo+omy/``` `::ohdmds-` EOF ;; "MIRACLE LINUX"* | "MIRACLE_LINUX"*) set_colors 29 read -rd '' ascii_data <<'EOF' ${c1} ,A .### .#' .#### .#. r##: :#### ####. +###; :#### ######C :####: #### ,######".#. .# :####. :### #####'.#####. ##: `####. ### ###'.########+. #### `####::## ##'.#######+' ####+.`###i## #',####:' `+###MI`##### 'l###:' `+####+`### ;#E' `+###:## #' `:### ' '## '; EOF ;; "Linspire"* | "Freespire"* | "Lindows"*) set_colors 4 2 read -rd '' ascii_data <<'EOF' ${c2} __^ ${c2} __/ \\ ${c2} MMy dMy __/ \\ ${c2} dMMy MMy ${c1}MM${c2} \\ ${c2} MMMy ,, ${c1}dMMMMn ${c2}\\ ${c2} dMMy dMM dMMMMMMy ${c1}dMM MM dMMMMMy dMM MM.nMMM dMMMMMM ${c1}MMM ${c2}MMy MMy MMy ${c1}dMM MMy MMy MMy MMy dy dMy ${c1}MMM ${c2}dMM dMM MMy ${c1}dMMMMy dMM dMM dMM dMM dMMMMMMM ${c2} dMMy MMy MMy MMy ${c1}dMMy MM MMy MMy MMy dMM ${c2}dMMy dMM dMM dMM ${c1}dMM MMy dMMMMMy dMM dMM MMy MM ${c2}MMMMMMMMMM MMy MMy MMy ${c1}dMMMyyy MMy MMy MMy dMMMMMMy ${c2} ${c1}dy EOF ;; "linuxmint_small"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} ___________ |_ \\ | ${c2}| _____ ${c1}| | ${c2}| | | | ${c1}| | ${c2}| | | | ${c1}| | ${c2}\\__${c2}___/ ${c1}| \\_________/ EOF ;; "Linux Mint Old"* | "LinuxMintOld"* | "mint_old"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1}MMMMMMMMMMMMMMMMMMMMMMMMMmds+. MMm----::-://////////////oymNMd+` MMd ${c2}/++ ${c1}-sNMd: MMNso/` ${c2}dMM `.::-. .-::.` ${c1}.hMN: ddddMMh ${c2}dMM :hNMNMNhNMNMNh: ${c1}`NMm NMm ${c2}dMM .NMN/-+MMM+-/NMN` ${c1}dMM NMm ${c2}dMM -MMm `MMM dMM. ${c1}dMM NMm ${c2}dMM -MMm `MMM dMM. ${c1}dMM NMm ${c2}dMM .mmd `mmm yMM. ${c1}dMM NMm ${c2}dMM` ..` ... ydm. ${c1}dMM hMM- ${c2}+MMd/-------...-:sdds ${c1}dMM -NMm- ${c2}:hNMNNNmdddddddddy/` ${c1}dMM -dMNs-${c2}``-::::-------.`` ${c1}dMM `/dMNmy+/:-------------:/yMMM ./ydNMMMMMMMMMMMMMMMMMMMMM .MMMMMMMMMMMMMMMMMMM EOF ;; "Linux Mint"* | "LinuxMint"* | "mint"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c2} ...-:::::-... ${c2} .-MMMMMMMMMMMMMMM-. .-MMMM${c1}`..-:::::::-..`${c2}MMMM-. .:MMMM${c1}.:MMMMMMMMMMMMMMM:.${c2}MMMM:. -MMM${c1}-M---MMMMMMMMMMMMMMMMMMM.${c2}MMM- `:MMM${c1}:MM` :MMMM:....::-...-MMMM:${c2}MMM:` :MMM${c1}:MMM` :MM:` `` `` `:MMM:${c2}MMM: .MMM${c1}.MMMM` :MM. -MM. .MM- `MMMM.${c2}MMM. :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM-${c2}MMM: :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM:${c2}MMM: :MMM${c1}:MMMM` :MM. -MM- .MM: `MMMM-${c2}MMM: .MMM${c1}.MMMM` :MM:--:MM:--:MM: `MMMM.${c2}MMM. :MMM${c1}:MMM- `-MMMMMMMMMMMM-` -MMM-${c2}MMM: :MMM${c1}:MMM:` `:MMM:${c2}MMM: .MMM${c1}.MMMM:--------------:MMMM.${c2}MMM. '-MMMM${c1}.-MMMMMMMMMMMMMMM-.${c2}MMMM-' '.-MMMM${c1}``--:::::--``${c2}MMMM-.' ${c2} '-MMMMMMMMMMMMM-' ${c2} ``-:::::-`` EOF ;; "Live Raizo"* | "Live_Raizo"*) set_colors 3 read -rd '' ascii_data <<'EOF' ${c1} `......` -+shmNMMMMMMNmhs/. :smMMMMMmmhyyhmmMMMMMmo- -hMMMMd+:. `----` .:odMMMMh- `hMMMN+. .odNMMMMMMNdo. .yMMMMs` hMMMd. -dMMMMmdhhdNMMMNh` .mMMMh oMMMm` :MMMNs.:sddy:-sMMMN- `NMMM+ mMMMs dMMMo sMMMMMMd yMMMd sMMMm ----` .---` oNMMMMMh `---. .---- .sMMy: /MM/ +dMMms. hMMMMMMN `dMMMMMMm: .+ss+sMNysMMoomMd+ss+. +MMMMMMN` +MM/ hMMMMMNs sMMMMMMm-hNMMMd-hMMMMMMd :yddh+`hMMMMMMN :yddy/` .hMMMMd: `..` EOF ;; "mx_small"*) set_colors 4 6 7 read -rd '' ascii_data <<'EOF' ${c3} \\\\ / \\\\/ \\\\ /\\/ \\\\ / \\ /\\ / \\/ \\ /__________\\ EOF ;; "MX"*) set_colors 4 6 7 read -rd '' ascii_data <<'EOF' ${c3}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMM MMMMMMMMMMNs..yMMMMMMMMMMMMMm: +NMMMMMMM MMMMMMMMMN+ :mMMMMMMMMMNo` -dMMMMMMMM MMMMMMMMMMMs. `oNMMMMMMh- `sNMMMMMMMMM MMMMMMMMMMMMN/ -hMMMN+ :dMMMMMMMMMMM MMMMMMMMMMMMMMh- +ms. .sMMMMMMMMMMMMM MMMMMMMMMMMMMMMN+` ` +NMMMMMMMMMMMMMM MMMMMMMMMMMMMMNMMd: .dMMMMMMMMMMMMMMM MMMMMMMMMMMMm/-hMd- `sNMMMMMMMMMMMMM MMMMMMMMMMNo` -` :h/ -dMMMMMMMMMMMM MMMMMMMMMd: /NMMh- `+NMMMMMMMMMM MMMMMMMNo` :mMMN+` `-hMMMMMMMM MMMMMMh. `oNMMd: `/mMMMMMM MMMMm/ -hMd- `sNMMMM MMNs` - :dMMM Mm: `oMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM EOF ;; "Namib"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} .:+shysyhhhhysyhs+:. -/yyys syyy/- -shy yhs- -yhs shy- +hy yh+ +ds sd+ /ys so sy/ sh smMMNdyo hs yo ymMMMMNNMMNho oy N ydMMMNNMMMMMMMMMmy N N shmMMMMNNMMMMMMMMMMMMMNy N yo ooshmNMMMNNNNMMMMMMMMMMMMMMMMMms oy sd yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy ds /ys sy/ +ds sd+ +hy yh+ -yhs shy- -shy yhs- -/yyys syyy/- .:+shysyhyhhysyhs+:. EOF ;; "NekOS"*) set_colors 3 7 1 read -rd '' ascii_data <<'EOF' ${c1} @@@@@ @@@@@@@@@. @@@@@@@@ @@@ @@@@@@@@@@@ @@. @@@@@@@@@@@@@ . @@@@@@@@@@@@@@@@@ , @@@@@@@@@@@@@@@@@@@ @@@@@${c2}///${c1}@@@@@@@${c2}///${c1}@@@ @@@@${c2}/***${c1}@@@@@@@${c2}**//${c1}@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@ @@@/ /@@@@@@@@@/ /@@@ @@@@@@ @@@${c3}██${c1}@@@@ @@@@@@ @@@@@@/ /@${c2}██${c3}██${c2}██${c1}@@/ /@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@ ##########%%%% ##########%% %% @ @@@#######@@%%% @@@ @@@@####@@@@ % @@@ @@@@@@@#@@@@@@@ @@@ @@@@@@@@@@@@@@@ @@@@ @@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@ EOF ;; "Neptune"*) set_colors 7 read -rd '' ascii_data <<'EOF' ${c1} ./+sydddddddys/-. .+ymNNdyooo/:+oooymNNmy/` `/hNNh/.` `-+dNNy:` /mMd/. .++.:oy/ .+mMd- `sMN/ oMMmdy+. `oNNo `hMd. `/ymy/. :NMo oMN- `/dMd: /MM- `mMy -dMN+` mMs .MMo -NMM/ yMs dMh mMMMo:` `NMo /MM/ /ymMMMm- sMN. +Mm: .hMMd` oMN/ +mNs. `yNd/` -dMm- .yMNs: `/.` `/yNNo` .odNNy+-` .:ohNNd/. -+ymNNmdyyyyyyydmNNmy+. `-//sssssss//. EOF ;; "netbsd_small"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c2}\\\\${c1}\`-______,----__ ${c2} \\\\ ${c1}__,---\`_ ${c2} \\\\ ${c1}\`.____ ${c2} \\\\${c1}-______,----\`- ${c2} \\\\ \\\\ \\\\ EOF ;; "NetBSD"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} `-/oshdmNMNdhyo+:-` ${c2}y${c1}/s+:-`` `.-:+oydNMMMMNhs/-`` ${c2}-m+${c1}NMMMMMMMMMMMMMMMMMMMNdhmNMMMmdhs+/-` ${c2}-m+${c1}NMMMMMMMMMMMMMMMMMMMMmy+:` ${c2}-N/${c1}dMMMMMMMMMMMMMMMds:` ${c2}-N/${c1}hMMMMMMMMMmho:` ${c2}-N/${c1}-:/++/:.` ${c2} :M+ :Mo :Ms :Ms :Ms :Ms :Ms :Ms :Ms :Ms EOF ;; "Netrunner"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} .:oydmMMMMMMmdyo:` -smMMMMMMMMMMMMMMMMMMds- +mMMMMMMMMMMMMMMMMMMMMMMMMd+ /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMm/ `hMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMy` .mMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMd` dMMMMMMMMMMMMMMMMMMMMMMNdhmMMMMMMMMMMh +MMMMMMMMMMMMMNmhyo+/-. -MMMMMMMMMMMM/ mMMMMMMMMd+:.` `mMMMMMMMMMMMMd MMMMMMMMMMMdy/. yMMMMMMMMMMMMMM MMMMMMMMMMMMMMMNh+` +MMMMMMMMMMMMMMM mMMMMMMMMMMMMMMMMMs -NMMMMMMMMMMMMMMd +MMMMMMMMMMMMMMMMMN. `mMMMMMMMMMMMMMMM/ dMMMMMMMMMMMMMMMMMy hMMMMMMMMMMMMMMMh `dMMMMMMMMMMMMMMMMM-+MMMMMMMMMMMMMMMd` `hMMMMMMMMMMMMMMMMmMMMMMMMMMMMMMMMy /mMMMMMMMMMMMMMMMMMMMMMMMMMMMMm: +dMMMMMMMMMMMMMMMMMMMMMMMMd/ -odMMMMMMMMMMMMMMMMMMdo- `:+ydmNMMMMNmhy+-` EOF ;; "Nitrux"*) set_colors 4 read -rd '' ascii_data <<'EOF' ${c1}`:/. `/yo `/yo `/yo .+:. `/yo .sys+:.` `/yo `-/sys+:.` `/yo ./sss+:.` `/yo .:oss+:-` `/yo ./o///:-` `/yo `.-:///////:` `/yo `.://///++//-`` `/yo `.-:////++++/-` `/yo `-://///++o+/-` `/yo `-/+o+++ooo+/-` `/s+:+oooossso/.` `//+sssssso:. `+syyyy+:` :+s+- EOF ;; "nixos_small") set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} \\\\ \\\\ // ==\\\\__\\\\/ // // \\\\// ==// //== //\\\\___// // /\\\\ \\\\== // \\\\ \\\\ EOF ;; "nixos_old"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} ____ ${c2}_______ ____ ${c1} /####\ ${c2}\######\ /####\ ${c1} ######\ ${c2}\######\ /#####/ ${c1} \######\ ${c2}\######\ /#####/ ${c1} \######\ ${c2}\######\/#####/ ${c1}/\ ${c1} \######\ ${c2}\###########/ ${c1}/##\ ${c1} ________\######\______${c2}\#########/ ${c1}/####\ ${c1} /#######################${c2}\#######/ ${c1}/###### ${c1} /#########################${c2}\######\ ${c1}/######/ ${c1} /###########################${c2}\######\ ${c1}/######/ ${c1} ¯¯¯¯¯¯¯¯¯¯¯¯${c2}/######/${c1}¯¯¯¯¯¯¯¯¯${c2}\######${c1}/######/ ${c2} /######/ ${c2}\####${c1}/######/________ ${c2} _____________/######/ ${c2}\##${c1}/################\ ${c2} /###################/ ${c2}\${c1}/##################\ ${c2} \##################/${c1}\ /###################/ ${c2} \################/${c1}##\ /######/¯¯¯¯¯¯¯¯¯¯¯¯¯ ${c2} ¯¯¯¯¯¯¯¯/######/${c1}####\ /######/ ${c2} /######/${c1}######\${c2}_________${c1}/######/${c2}____________ ${c2} /######/ ${c1}\######\${c2}###########################/ ${c2} /######/ ${c1}\######\${c2}#########################/ ${c2} ######/ ${c1}/#######\${c2}#######################/ ${c2} \####/ ${c1}/#########\${c2}¯¯¯¯¯¯\######\¯¯¯¯¯¯¯¯ ${c2} \##/ ${c1}/###########\${c2} \######\ ${c2} \/ ${c1}/#####/\######\${c2} \######\ ${c1} ${c1}/#####/ \######\${c2} \######\ ${c1} ${c1}/#####/ \######\${c2} \###### ${c1} ${c1}\####/ \######\${c2} \####/ ${c1} ${c1}¯¯¯¯ ¯¯¯¯¯¯¯${c2} ¯¯¯¯ EOF ;; "NixOS"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} ▗▄▄▄ ${c2}▗▄▄▄▄ ▄▄▄▖ ${c1} ▜███▙ ${c2}▜███▙ ▟███▛ ${c1} ▜███▙ ${c2}▜███▙▟███▛ ${c1} ▜███▙ ${c2}▜██████▛ ${c1} ▟█████████████████▙ ${c2}▜████▛ ${c1}▟▙ ${c1} ▟███████████████████▙ ${c2}▜███▙ ${c1}▟██▙ ${c2} ▄▄▄▄▖ ▜███▙ ${c1}▟███▛ ${c2} ▟███▛ ▜██▛ ${c1}▟███▛ ${c2} ▟███▛ ▜▛ ${c1}▟███▛ ${c2}▟███████████▛ ${c1}▟██████████▙ ${c2}▜██████████▛ ${c1}▟███████████▛ ${c2} ▟███▛ ${c1}▟▙ ▟███▛ ${c2} ▟███▛ ${c1}▟██▙ ▟███▛ ${c2} ▟███▛ ${c1}▜███▙ ▝▀▀▀▀ ${c2} ▜██▛ ${c1}▜███▙ ${c2}▜██████████████████▛ ${c2} ▜▛ ${c1}▟████▙ ${c2}▜████████████████▛ ${c1} ▟██████▙ ${c2}▜███▙ ${c1} ▟███▛▜███▙ ${c2}▜███▙ ${c1} ▟███▛ ▜███▙ ${c2}▜███▙ ${c1} ▝▀▀▀ ▀▀▀▀▘ ${c2}▀▀▀▘ EOF ;; "Nobara"*) set_colors "#999999" "#d80a0a" "#e5b90b" read -rd '' ascii_data <<'EOF' ${c1} ⢀⣤⣴⣶⣶⣶⣦⣤⡀⠀⣀⣠⣤⣴⣶⣶⣶⣶⣶⣶⣶⣶⣤⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠉⠁⠀⠀⠉⠉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀${c3}⢀⣀⣀⡀${c1}⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀${c3}⢠⣾⣿⣿⣿⣿⣷⡄${c1}⠀⠀⠀⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀${c3}⣿⣿⣿⣿⣿⣿⣿⡇${c1}⠀⠀⠀⠀⠀⣀⣀⣬⣽⣿⣿⣿⣿⣿⣿⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀${c3}⠈⠻⢿⣿⣿⡿⠟⠁${c1}⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀ ${c2} ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⠉⠉⠛⠛⢿⣿⣿⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀ ${c2} ⠘⢿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀ ${c2} ⠈⠙⠛⠛⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠛⠉⠁ EOF ;; "NomadBSD"*) set_colors 4 read -rd '' ascii_data <<'EOF' ${c1} _======__ (===============\\ (===================\\ _ _---__ (= ====- (= ====== (== ====== (== ====== (==\\ \\=-_ _=/ /====/ (==\\ \\========/ /====/ /====-_ (==\\ \\=====/ /==/ /===-- /================/ /===- \\===========/ EOF ;; "GhostBSD"*) set_colors 4 read -rd '' ascii_data <<'EOF' ${c1} ,gggggg. ,agg9* .g) .agg* ._.,gg* ,gga* (ggg*' ,ga* ,ga* ,ga' .ag* ,ga' .agga' 9g' .agg'g*,a 'gggg*',gga' .gg*' .gga* .gga* (ga* EOF ;; "Nurunner"*) set_colors 4 read -rd '' ascii_data <<'EOF' ${c1} ,xc ;00cxXl ;K0, .xNo. :KO' .lXx. cXk. ;xl cXk. cXk. ;k:.,xo. cXk. .lXx. :x::0MNl,dd. :KO, .xNx. cx;:KMMMMMNo'dx. ;KK; .dNl. cd,cXMMMMMMMMMWd,ox' 'OK: ;WK. 'K,.KMMMMMMMMMMMMMWc.Kx lMO 'OK: 'dl'xWMMMMMMMMMM0::x: 'OK: .kNo .xo'xWMMMMMM0;:O: ;KK; .dXd. .do,oNMMO;ck: ;00, oNd. .dx,;'cO; ;K0, oNx. okk; ;K0, lXx. :KO' cKk' cXk. ;00:lXx. ,kd. EOF ;; "NuTyX"*) set_colors 4 1 read -rd '' ascii_data <<'EOF' ${c1} . . ... ... .... .........--. ..-++-----....--++++++---. .-++++++-. .-++++++++++++-----.. .--... .++..-+++--.....-++++++++++--.. . .-+-. .**- .... ..-+----.. .+++. .*+. + -++-----. .+++++- ++. .*+. .....-+++-----. -+++-++. .+. .-+***++***++--++++. . -+-. -- -. -*- ...... ..--. .-. .+- . -+. . .+- +. -- -- -+----. .- -++-.+. . .++. -- +. ----. . .+. .. - . . EOF ;; "OBRevenge"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} __ __ _@@@@ @@@g_ _@@@@@@ @@@@@@ _@@@@@@M W@@@@@@_ j@@@@P ^W@@@@ @@@@L____ _____Q@@@@ Q@@@@@@@@@@j@@@@@@@@@@ @@@@@ T@j@ T@@@@@ @@@@@ ___Q@J@ _@@@@@ @@@@@fMMM@@j@jggg@@@@@@ @@@@@ j@j@^MW@P @@@@ Q@@@@@ggg@@f@ @@@@@@L ^@@@@WWMMP ^ Q@@@@ @@@@@_ _@@@@l W@@@@@g_____g@@@@@P @@@@@@@@@@@@@@@@l ^W@@@@@@@@@@@P ^TMMMMTll EOF ;; "OmniOS"*) set_colors 15 3 8 read -rd '' ascii_data <<'EOF' ${c1} ____ __ __ _ _ _ / __ \ | \/ || \ | || | | | | || || \| || | | |__| || |\/| || , `${c2}_${c1}||${c2}_${c1}| ${c2}____${c1} \____/ |_| |_||_|\${c2}/ __ \ / ___| | | | ||(__ ${c3}community${c2} | |__| | ___)| ${c3}edition${c2} \____/ |____/ EOF ;; "openbsd_small") set_colors 3 7 6 1 8 read -rd '' ascii_data <<'EOF' ${c1} _____ \\- -/ \\_/ \\ | ${c2}O O${c1} | |_ < ) 3 ) / \\ / /-_____-\\ EOF ;; "OpenBSD"*) set_colors 3 7 6 1 8 read -rd '' ascii_data <<'EOF' ${c3} _ (_) ${c1} | . ${c1} . |L /| . ${c3} _ ${c1} _ . |\ _| \--+._/| . ${c3}(_) ${c1} / ||\| Y J ) / |/| ./ J |)'( | ` F`.'/ ${c3} _ ${c1} -<| F __ .-< ${c3}(_) ${c1} | / .-'${c3}. ${c1}`. /${c3}-. ${c1}L___ J \\ < ${c3}\ ${c1} | | ${c5}O${c3}\\${c1}|.-' ${c3} _ ${c1} _J \\ .- \\${c3}/ ${c5}O ${c3}| ${c1}| \\ |${c1}F ${c3}(_) ${c1} '-F -<_. \\ .-' `-' L__ __J _ _. >-' ${c1})${c4}._. ${c1}|-' ${c1} `-|.' /_. ${c4}\_| ${c1} F /.- . _.< /' /.' .' `\\ /L /' |/ _.-'-\\ /'J ___.---'\| |\ .--' V | `. ` |/`. `-. `._) / .-.\\ \\ ( `\\ `.\\ EOF ;; "openEuler"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} `.cc.` ``.cccccccc..` `.cccccccccccccccc.` ``.cccccccccccccccccccccc.`` `..cccccccccccccccccccccccccccc..` `.ccccccccccccccc${c2}/++/${c1}ccccccccccccccccc.` .ccccccccccccccc${c2}mNMMNdo+oso+${c1}ccccccccccc. .cccccccccc${c2}/++odms+//+mMMMMm/:+syso/${c1}cccc .ccccccccc${c2}yNNMMMs:::/::+o+/:${c1}c${c2}dMMMMMm${c1}cccc .ccccccc${c2}:+NmdyyhNNmNNNd:${c1}ccccc${c1}${c2}:oyyyo:${c1}cccc .ccc${c2}:ohdmMs:${c1}cccc${c2}+mNMNmy${c1}ccccccccccccccccc .cc${c2}/NMMMMMo////:${c1}c${c2}:///:${c1}cccccccccccccccccc .cc${c2}:syysyNMNNNMNy${c1}ccccccccccccccccccccccc .cccccccc${c2}+MMMMMNy${c1}c${c2}:/+++/${c1}cccccccccccccccc .ccccccccc${c2}ohhhs/${c1}c${c2}omMMMMNh${c1}ccccccccccccccc .ccccccccccccccc${c2}:MMMMMMMM/${c1}cccccccccccccc .cccccccccccccccc${c2}sNNNNNd+${c1}cccccccccccccc. `..cccccccccccccccc${c2}/+/:${c1}cccccccccccccc..` ``.cccccccccccccccccccccccccccc.`` `.cccccccccccccccccccccc.` ``.cccccccccccccc.`` `.cccccccc.` `....` EOF ;; "OpenIndiana"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} .sy/ .yh+ ${c1}-+syyyo+- ${c2} /+. ${c1}+ddo/---/sdh/ ${c2} ym- ${c1}`hm+ `sms${c2} ym-```````.-. ${c1}sm+ sm/ ${c2} ym- +s ${c1}hm. /mo ${c2} ym- /h ${c1}omo ym: ${c2} ym- `os` ${c1}smo` .ym+ ${c2} ym- .os- `` ${c1}:ymy+///oyms- ${c2} ym- .+s+. ..` ${c1}`:+oo+/-` ${c2} -//oyo- -:` .:oys/. +- `./oyys/. h+` `.-:+oyyyo/-` `/ossssysso+/-.` EOF ;; "openmamba"*) set_colors 7 2 read -rd '' ascii_data <<'EOF' ${c1} ````` .-/+ooooooooo+/:-` ./ooooooooooooooooooo+:. -+oooooooooooooooooooooooo+- .+ooooooooo+/:---::/+ooooooooo+. :oooooooo/-` `-/oo${c2}s´${c1}oooo.${c2}s´${c1} :ooooooo/` `${c2}sNds${c1}ooo${c2}sNds${c1} -ooooooo- ${c2}:dmy${c1}ooo${c2}:dmy${c1} +oooooo: :oooooo- .ooooooo .://:` :oooooo+ ./+o+:` -ooooooo` `oooooo+ `ooooooo: /oooooo+ -ooooooo: :ooooooo. :ooooooo+. .+ooooooo: :oooooooo+-` `-+oooooooo: .+ooooooooo+/::::://oooooooooo+. -+oooooooooooooooooooooooo+- .:ooooooooooooooooooo+:. `-:/ooooooooo+/:.` `````` EOF ;; "OpenMandriva"*) set_colors 4 read -rd '' ascii_data <<'EOF' ${c1} `````` `-:/+++++++//:-.` .:+++oooo+/:.`` `` `:+ooooooo+:. `-:/++++++/:.` -+oooooooo:` `-++o+/::::://+o+/- `/ooooooooo- -+oo/.` `-/oo+. `+ooooooooo. :os/` .+so: +sssssssss/ :ss/ `+ss- :ssssssssss` sss` .sso ossssssssss `yyo sys `sssssssssss` `yys `yys `sssssssssss: +yy/ +yy: oyyyyyyyyyys. `oyy/` `+yy+ :yyyyyyyyyyyo. `+yhs:. `./shy/ oyyyyyyyyyyys:` .oyhys+:----/+syhy+. ` `syyyyyyyyyyyyo-` .:osyhhhhhyys+:``.:` `oyyyyyyyyyyyyys+-`` `.----.```./oo. /yhhhhhhhhhhhhhhyso+//://+osyhy/` `/yhhhhhhhhhhhhhhhhhhhhhhhhy/` `:oyhhhhhhhhhhhhhhhhhhyo:` .:+syhhhhhhhhys+:-` ``....`` EOF ;; "OpenStage"*) set_colors 2 read -rd '' ascii_data <<'EOF' ${c1} /(/ .(((((((, /(((((((((/ .(((((/,/(((((, *(((((* ,(((((/ (((((* .*/(( *((((/ (//(/* /((((* ((((((((((, . /((((* (((((((((((((. ((. *((((/ ,(((((((( ,(((/ (((((/ ** ,((((((* /(((((. .(((((/ //(((* *(((((/ .(((((, ((/ .(((((/. .(((((, /((((* ,(((((((/ ,((((( /(((((((((((((((((((/. /(((((((((/ /(((((((((((((((((, /(((((((((((/ */(((((//*. */((/(/(/* EOF ;; *"Wrt"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} _______ | |.-----.-----.-----. | - || _ | -__| | |_______|| __|_____|__|__| |__| ________ __ | | | |.----.| |_ | | | || _|| _| |________||__| |____| EOF ;; "Open Source Media Center"* | "osmc") set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} -+shdmNNNNmdhs+- .+hMNho/:..``..:/ohNMh+. :hMdo. .odMh: -dMy- -yMd- sMd- -dMs hMy +. .+ yMh yMy dMs. .sMd yMy :Mm dMNMs` `sMNMd `mM: yM+ dM//mNs``sNm//Md +My mM- dM: +NNNN+ :Md -Mm mM- dM: `oNN+ :Md -Mm yM+ dM/+NNo` :Md +My :Mm` dMMNs` :Md `mM: yMy dMs` -ms yMy hMy +. yMh sMd- -dMs -dMy- -yMd- :hMdo. .odMh: .+hMNho/:..``..:/ohNMh+. -+shdmNNNNmdhs+- EOF ;; "OPNsense"*) set_colors 7 202 read -rd '' ascii_data <<'EOF' ${c1} .''''''''''''''''''''''''''''''''''' oocc:::::::::::::::::::::::::::::::cox ;00; o0O .,:' .;;;;;;;;;;;;;;;;;;;;;;;;;; ;:, .',;;cxOOOOOOOOOOOOOOOOOOOOOOOkd:;;,.. .,cll:' ':llc,. ,;;:okxdxd: :dxdxko:;;, .xxxx0XNNK0O. .O0KNNX0xxxx. ,${c2}cc:${c1},. .,${c2}:cc${c1}, ........;${c2}ccc:${c1};. .;${c2}:ccc${c1};........ ${c2}ccccccccccccccc ccccccccccccccc${c1} ........;${c2}ccc:${c1};. .;${c2}:ccc${c1};........ ,${c2}cc:${c1},. .,${c2}:cc${c1}, .xxxx0XNNK0O. .O0KNNX0xxxx. ,;;:okxdxd: :dxdxko:;;, .,cll:' ':llc,. .,,;,ckOOOOOOOOOOOOOOOOOOOOOOOOx;,;,'. .:l' ........................... ;:; lOk' cdd ;lccccccccccccccccccccccccccccccccccc:. EOF ;; "Oracle"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} `-/+++++++++++++++++/-.` `/syyyyyyyyyyyyyyyyyyyyyyys/. :yyyyo/-...............-/oyyyy/ /yyys- .oyyy+ .yyyy` `syyy- :yyyo /yyy/ .yyyy` `syyy- /yyys. .oyyyo /yyyyo:-...............-:oyyyy/` `/syyyyyyyyyyyyyyyyyyyyyyys+. `.:/+ooooooooooooooo+/:.` EOF ;; "orchid_small"*) set_colors 255 127 read -rd '' ascii_data <<'EOF' ${c2} :##: -#${c1}@@@@${c2}#- #${c1}@@${c2}=..=${c1}@@${c2}# +${c1}@@${c2}- -${c1}@@${c2}+ -#${c1}@@${c2}*..*${c1}@${c2}..${c1}@${c2}*..*${c1}@@${c2}#- :#${c1}@@${c2}*+%${c1}@${c2}= . . =${c1}@${c2}%+*${c1}@@${c2}#: +${c1}@@@${c2}: :-. .-: :${c1}@@@${c2}+ :#${c1}@@${c2}*+%${c1}@${c2}= . . =${c1}@${c2}%+*${c1}@@${c2}#: -#${c1}@@${c2}*..*${c1}@${c2}..${c1}@${c2}*..*${c1}@@${c2}#- +${c1}@@${c2}- -${c1}@@${c2}+ #${c1}@@${c2}=..=${c1}@@${c2}# -#${c1}@@@@${c2}#- :##: EOF ;; "orchid"*) set_colors 255 127 127 read -rd '' ascii_data <<'EOF' ${c2} .==. .-${c3}#${c1}@@${c3}#${c2}-. .-${c3}##${c1}@@@@${c3}##${c2}-. .-${c3}##${c1}@@@@@@@@${c3}##${c2}-. :*${c1}@@@@@${c3}####${c1}@@@@@${c2}*: ..:*${c1}@@@@${c2}==--==${c1}@@@@${c2}*:.. .-*${c1}%%${c3}#${c2}==${c3}#${c1}@@${c3}#${c2}====${c3}#${c1}@@${c3}#${c2}==${c3}#${c1}%%${c2}*-. .-${c3}#${c1}@@@@@${c3}##${c2}==${c3}#${c1}@@${c2}++${c1}@@${c3}##${c2}==${c3}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c2}#${c1}@@@${c3}#${c2}++#====${c3}#${c2}++#${c1}@@@${c2}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c3}#${c2}-==**${c3}###${c2}+:--:+${c3}###${c2}**==-${c3}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c3}#${c2}-==**${c3}###${c2}+:--:+${c3}###${c2}**==-${c3}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c2}#${c1}@@@${c3}#${c2}++#====${c3}#${c2}++#${c1}@@@${c2}#${c1}@@@@@${c3}#${c2}-. .-${c3}#${c1}@@@@@${c3}##${c2}==${c3}#${c1}@@${c2}++${c1}@@${c3}##${c2}==${c3}#${c1}@@@@@${c3}#${c2}-. .-*${c1}%%${c3}#${c2}==${c3}#${c1}@@${c3}#${c2}====${c3}#${c1}@@${c3}#${c2}==${c3}#${c1}%%${c2}*-. ..:*${c1}@@@@${c2}==--==${c1}@@@@${c2}*:.. :*${c1}@@@@@${c3}####${c1}@@@@@${c2}*: .-${c3}##${c1}@@@@@@@@${c3}##${c2}-. .-${c3}##${c1}@@@@${c3}##${c2}-. .-${c3}#${c1}@@${c3}#${c2}-. .==. EOF ;; "OS Elbrus"*) set_colors 4 7 3 read -rd '' ascii_data <<'EOF' ${c1} ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ██▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██ ██ ██ ██ ███████ ███████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███████ ███████ ██ ██ ██ ██ ██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄██ ██ ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀██ ██ ██ ███████████████████████████ EOF ;; "PacBSD"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} :+sMs. `:ddNMd- -o--` -sMMMMh: `+N+`` yMMMMMs` .....-/-... `mNh/ yMMMMMmh+-`:sdmmmmmmMmmmmddy+-``./ddNMMm yNMMNMMMMNdyyNNMMMMMMMMMMMMMMMhyshNmMMMm :yMMMMMMMMMNdooNMMMMMMMMMMMMMMMMNmy:mMMd +MMMMMMMMMmy:sNMMMMMMMMMMMMMMMMMMMmshs- :hNMMMMMMN+-+MMMMMMMMMMMMMMMMMMMMMMMs. .omysmNNhy/+yNMMMMMMMMMMNMMMMMMMMMNdNNy- /hMM:::::/hNMMMMMMMMMMMm/-yNMMMMMMN.mMNh` .hMMMMdhdMMMMMMMMMMMMMMmo `sMMMMMMN mMMm- :dMMMMMMMMMMMMMMMMMMMMMdo+ oMMMMMMN`smMNo` /dMMMMMMMMMMMMMMMMMMMMMNd/` :yMMMMMN:-hMMM. :dMMMMMMMMMMMMMMMMMMMMMNh` oMMMMMMNo/dMNN` :hMMMMMMMMMMMMMMMMMMMMMMNs--sMMMMMMMNNmy++` sNMMMMMMMMMMMMMMMMMMMMMMMmmNMMMMMMNho::o. :yMMMMMMMMMMMMMNho+sydNNNNNNNmysso/` -// /dMMMMMMMMMMMMMs- ````````..`` .oMMMMMMMMMMMMNs` ./y:` +dNMMNMMMMMMMmy` ``./ys. `/hMMMMMMMMMMMNo-`` `.+yy+-` `-/hmNMNMMMMMMmmddddhhy/-` `-+oooyMMMdsoo+/:. EOF ;; "Panwah"*) set_colors 7 1 0 read -rd '' ascii_data <<'EOF' ${c1} HHH HAAAH HHH HAAAAH HAAAH HAAAAAAH HAAAAH HAAAAAAH HAAAAAH HAAAAAAAAH${c2}WWWWWWWWWWWWWWWW ${c1}HAAAAAH$ HAAAAAAAAH${c2}WWWWWWWWWWWWWWWWWWWW${c1} HAAAAAH HAA${c2}WWWWWWWWWWWWWWWWWWWWWWWWWWWWW${c1}AAAAAH${c2} WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW${c1}WAH${c2} WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW WWWWWWW${c1}AAA${c2}WWWW WWWWWWWWWWWWWWWWWWWWWWWWWWW WWWW${c1}AAA${c2}WWWWW WWWWWWW WWWWWWWWWWWWWWW WW${c1}AAA${c2}WWWWWWWWWWWWWWWWW WWWWW${c1}AAA${c2}WWWWWWWW ${c1}AAA${c2}WWWWW${c1}OOOOOOOOOOO${C2}WWWWWWWWWWW${c1}AAA${c2}WWWWWW ${c1}OOOO${c3}GGGGGGG${c1}OOOO${c2}WWWWWWWWWW${c1}AAA${c2}WWWW ${c1}OOO${c3}GGGGGGG${c1}OOO${c2}WWWWWWWWWWWW${c1}AAA${c2}W ${c1}OOOOOOOOO EOF ;; "parabola_small"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} __ __ __ _ .`_//_//_/ / `. / .` / .` /.` /` EOF ;; "Parabola"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} `.-. `. `.` `:++. `-+o+. `` `:+/. `:+/. `-+oooo+ ``-::-.:+/. `:+/. `-+oooooo+ `.-:///- ..` .-. `-+oooooooo- `..-..` `+ooooooooo: `` :oooooooo/ `ooooooo: `oooooo: -oooo+. +ooo/` -ooo- `+o/. /+- //` -. EOF ;; "Pardus"*) set_colors 3 7 6 1 8 read -rd '' ascii_data <<'EOF' ${c1} .smNdy+- `.:/osyyso+:.` -+ydmNs. /Md- -/ymMdmNNdhso/::/oshdNNmdMmy/. :dM/ mN. oMdyy- -y `-dMo .Nm .mN+` sMy hN+ -: yMs `+Nm. `yMMddMs.dy `+` sMddMMy` +MMMo .` . oMMM+ `NM/ `````.` `.````` +MN` yM+ `.-:yhomy ymohy:-.` +My yM: yo oy :My +Ms .N` `N. +h sM+ `MN - -::::::- : :o:+`NM` yM/ sh -dMMMMd- ho +y+My .dNhsohMh-//: /mm/ ://-yMyoshNd` `-ommNMm+:/. oo ./:+mMNmmo:` `/o+.-somNh- :yy: -hNmos-.+o/` ./` .s/`s+sMdd+``+ddMs+s`/s. `/. : -y. -hNmddmNy. .y- : -+ `..` +- EOF ;; "Parrot"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} `:oho/-` `mMMMMMMMMMMMNmmdhy- dMMMMMMMMMMMMMMMMMMs` +MMsohNMMMMMMMMMMMMMm/ .My .+dMMMMMMMMMMMMMh. + :NMMMMMMMMMMMMNo `yMMMMMMMMMMMMMm: /NMMMMMMMMMMMMMy` .hMMMMMMMMMMMMMN+ ``-NMMMMMMMMMd- /MMMMMMMMMMMs` mMMMMMMMsyNMN/ +MMMMMMMo :sNh. `NMMMMMMm -o/ oMMMMMMM. `NMMMMMM+ +MMd/NMh mMm -mN` /MM `h: dM` . :M- d: -+ - EOF ;; "Parsix"*) set_colors 3 1 7 8 read -rd '' ascii_data <<'EOF' ${c2}-/+/:. ${c2}.syssssys. ${c1}.--. ${c2}ssssssssso${c1} ..--. :++++++: ${c2}+ssssssss+${c1} ./++/+++: /+++++++++.${c2}.yssooooy`${c1}-+///////o- /++++++++++.${c2}+soooos:${c1}:+////////+- :+++++////o-${c2}oooooo-${c1}+/////////- `-/++//++-${c4}.-----.-${c1}:+/////:- ${c3}-://::--${c1}-:/:${c4}.--.````.--.${c1}:::-${c3}--::::::. ${c3}-/:::::::://:${c4}.:-` `-:${c3}`:/:::::::--/- ${c3}/::::::::::/-${c4}--. .-.${c3}-/://///::::/ ${c3}-/:::::::::/:${c4}`:-. .-:${c3}`:///////////- `${c3}-::::--${c1}.-://.${c4}---....---${c1}`:+/:-${c3}--::::-` ${c1}-/+///+o/-${c4}.----.${c1}.:oo+++o+. ${c1}-+/////+++o:${c2}syyyyy.${c1}o+++++++++: ${c1}.+////+++++-${c2}+sssssy+${c1}.++++++++++\ ${c1}.+:/++++++.${c2}.yssssssy-${c1}`+++++++++: ${c1}:/+++++- ${c2}+sssssssss ${c1}-++++++- ${c1}`--` ${c2}+sssssssso ${c1}`--` ${c2}+sssssy+` ${c2}`.::-` EOF ;; "PCBSD"* | "TrueOS"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} .. s. +y yN -MN `. :NMs `m .yMMm` `No `-/+++sdMMMNs+-`+Ms `:oo+-` .yMMMMy` `-+oNMh -oo- +NMMMM/ oMMh- .s+` ` oMMMMM/ - oMMMhy. +s`- :: :MMMMMd -o `mMMMy`s+ y+ h .Ny+oNMMMMMN/ sh+NMMMMo +y s+ .ds -NMMMMMMMMMMNdhdNMMMMMMh` +s -h .NM` `hMMMMMMMMMMMMMMNMMNy: h- y- hMN` hMMmMMMMMMMMMNsdMNs. -y m` mMMy` oMMNoNMMMMMMo` sMMMo `m m` :NMMMdyydMMMMo+MdMMMs sMMMd` `m h- `+ymMMMMMMMM--M+hMMN/ +MMMMy -h :y `.sMMMMM/ oMM+.yMMNddNMMMMMm y: y: `s dMMN- .MMMM/ :MMMMMMMMMMh :y `h: `mdmMMM/ yMMMMs sMMMMMMMMN- :h` so -NMMMN /mmd+ `dMMMMMMMm- os :y: `yMMM` `+NMMMMMMNo`:y: /s+`.omy /NMMMMMNh/.+s: .+oo:-. /mdhs+::oo+. -/o+++++++++++/- EOF ;; "PCLinuxOS"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} mhhhyyyyhhhdN dyssyhhhhhhhhhhhssyhN Nysyhhyo/:-.....-/oyhhhssd Nsshhy+. `/shhysm dohhy/ -shhsy dohhs` /hhys N+hho ${c2}+ssssss+- .+syhys+ ${c1}/hhsy ohhh` ${c2}ymmo++hmm+`smmy/::+y` ${c1}shh+ +hho ${c2}ymm- /mmy+mms ${c1}:hhod /hh+ ${c2}ymmhhdmmh.smm/ ${c1}.hhsh +hhs ${c2}ymm+::-` /mmy` ` ${c1}/hh+m yyhh- ${c2}ymm- /dmdyosyd` ${c1}`yhh+ ohhy` ${c2}://` -/+++/- ${c1}ohhom N+hhy- `shhoh sshho. `+hhyom dsyhhs/. `:ohhhoy dysyhhhso///://+syhhhssh dhyssyhhhhhhyssyyhN mddhdhdmN EOF ;; "pearOS"*) set_colors 2 3 1 1 5 4 read -rd '' ascii_data <<'EOF' \e[0;32m .+yh sMMMo sMMN+ +o: \e[0m \e[93m ./oyyys+. :dMMMMMMMMMm/ :MMMMMMMMMMMMMy yMMMMMMMMMMMMMN \e[0m \e[31m mMMMMMMMMMMMMs` yMMMMMMMMMMMMo -mMMMMMMMMMMMMM` oMMMMMMMMMMMMMMM` \e[0m \e[95m oMMMMMMMMMMMMMMMMy .MMMMMMMMMMMMMMMMMMy` +MMMMMMMMMMMMMMMMMMMMy/` /MMMMMMMMMMMMMMMMMMMMMMMNds \e[0m \e[34m `mMMMMMMMMMMMMMMMMMMMMMMMM/ .mMMMMMMMMMMMMMMMMMMMMMM+ `oNMMMMMMMMMMMMMMMMMMd- `+hMMMMMMMMMMMMMms- -/osyhhyso:. \e[0m EOF ;; "Pengwin"*) set_colors 5 5 13 read -rd '' ascii_data <<'EOF' ${c3} ...` ${c3} `-///:-` ${c3} .+${c2}ssys${c3}/ ${c3} +${c2}yyyyy${c3}o ${c2} ${c2} -yyyyyy: ${c2} `.:/+ooo+/:` -yyyyyy+ ${c2} `:oyyyyyys+:-.`syyyyyy: ${c2} .syyyyyyo-` .oyyyyyyo ${c2} `syyyyyy `-+yyyyyyy/` ${c2} /yyyyyy+ -/osyyyyyyo/. ${c2} +yyyyyy- `.-:::-.` ${c2} .yyyyyy- ${c3} :${c2}yyyyy${c3}o ${c3} .+${c2}ooo${c3}+ ${c3} `.::/:. EOF ;; "Peppermint"*) set_colors 1 15 3 read -rd '' ascii_data <<'EOF' ${c1} PPPPPPPPPPPPPP ${c1} PPPP${c2}MMMMMMM${c1}PPPPPPPPPPP ${c1} PPPP${c2}MMMMMMMMMM${c1}PPPPPPPP${c2}MM${c1}PP ${c1} PPPPPPPP${c2}MMMMMMM${c1}PPPPPPPP${c2}MMMMM${c1}PP ${c1} PPPPPPPPPPPP${c2}MMMMMM${c1}PPPPPPP${c2}MMMMMMM${c1}PP ${c1} PPPPPPPPPPPP${c2}MMMMMMM${c1}PPPP${c2}M${c1}P${c2}MMMMMMMMM${c1}PP ${c1} PP${c2}MMMM${c1}PPPPPPPPPP${c2}MMM${c1}PPPPP${c2}MMMMMMM${c1}P${c2}MM${c1}PPPP ${c1} P${c2}MMMMMMMMMM${c1}PPPPPP${c2}MM${c1}PPPPP${c2}MMMMMM${c1}PPPPPPPP ${c1} P${c2}MMMMMMMMMMMM${c1}PPPPP${c2}MM${c1}PP${c2}M${c1}P${c2}MM${c1}P${c2}MM${c1}PPPPPPPPPPP ${c1} P${c2}MMMMMMMMMMMMMMMM${c1}PP${c2}M${c1}P${c2}MMM${c1}PPPPPPPPPPPPPPPP ${c1} P${c2}MMM${c1}PPPPPPPPPPPPPPPPPPPPPPPPPPPPPP${c2}MMMMM${c1}P ${c1} PPPPPPPPPPPPPPPP${c2}MMM${c1}P${c2}M${c1}P${c2}MMMMMMMMMMMMMMMM${c1}PP ${c1} PPPPPPPPPPP${c2}MM${c1}P${c2}MM${c1}PPPP${c2}MM${c1}PPPPP${c2}MMMMMMMMMMM${c1}PP ${c1} PPPPPPPP${c2}MMMMMM${c1}PPPPP${c2}MM${c1}PPPPPP${c2}MMMMMMMMM${c1}PP ${c1} PPPP${c2}MM${c1}P${c2}MMMMMMM${c1}PPPPPP${c2}MM${c1}PPPPPPPPPP${c2}MMMM${c1}PP ${c1} PP${c2}MMMMMMMMM${c1}P${c2}M${c1}PPPP${c2}MMMMMM${c1}PPPPPPPPPPPPP ${c1} PP${c2}MMMMMMM${c1}PPPPPPP${c2}MMMMMM${c1}PPPPPPPPPPPP ${c1} PP${c2}MMMM${c1}PPPPPPPPP${c2}MMMMMMM${c1}PPPPPPPP ${c1} PP${c2}MM${c1}PPPPPPPP${c2}MMMMMMMMMM${c1}PPPP ${c1} PPPPPPPPPP${c2}MMMMMMMM${c1}PPPP ${c1} PPPPPPPPPPPPPP EOF ;; "Pisi"*) set_colors 12 7 6 1 8 read -rd '' ascii_data <<'EOF' ${c1} \Fv/!- `:?lzC ${c1} Q!::=zFx! ${c2}`;v6WBCicl;` ${c1},vCC\!::#. ${c1} ,%:::,'` ${c2}+#%@@FQ@@. ,cF%i${c1}``-',::a? ${c1} +m:,'```${c2}}3,/@@Q\@@ "af-${c1} `-'"7f =o'.` ${c2}/m' :Q@:Qg ,kl${c1} `.|o :k` '${c2}$+ 'Narm >d,${c1} ii #`${c2}!p. `C , 'd+${c1} %' ${c2} !0m `6Kv =a m+ !A !\L|: :|L\! $: .8` Q''%Q#' '#Q%''Q `0- :6 E|.6QQu uQQ6.|E p: i{ \jts9? ?9stj\ u\ |a` -''. `e> ,m+ ${c1}'^ !`${c2}s@@@@a${c1}'"`+`${c2} >e' !3|${c1}`|=>>r- ${c2}'U%:${c1} '>>>=:`\3! 'xopE| ${c2}`'${c1} `ledoz- `;=>>+`${c2}`^llci/|==|/iclc;`${c1}'>>>>: `^`+~ ${c2}````${c1} !!-^ EOF ;; "PikaOS"*) set_colors 11 read -rd '' ascii_data <<'EOF' ${c1} /🐦🐦🐦$ /🐦/🐦 /🐦🐦🐦 /🐦🐦🐦 | 🐦__ $|__| 🐦 /🐦__ 🐦/🐦__ 🐦 | 🐦 \ 🐦/$| 🐦 /🐦 /🐦🐦🐦| 🐦 \ $| 🐦 \__/ | 🐦🐦🐦$| $| 🐦 /🐦/|____ $| 🐦 | $| 🐦🐦🐦 | 🐦____/| $| 🐦🐦🐦/ /🐦🐦🐦| 🐦 | 🐦\____ 🐦 | 🐦 | $| 🐦_ 🐦 /🐦__ $| 🐦 | 🐦/🐦 \ 🐦 | 🐦 | $| 🐦 \ $| 🐦🐦🐦| 🐦🐦🐦| 🐦🐦🐦/ |__/ |__|__/ \__/\_______/\______/ \______/ . EOF ;; "phyOS"*) set_colors 33 33 7 1 read -rd '' ascii_data <<'EOF' ${c1}.^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^.^^^^^. :777777777777777777777777777777^~7777: .~~~~~~~~~~~~~~~~~~~~~^~7777!:!777!. ~7!!!!!!!!!!!!!!!!!^:!777~^!777~ ^77777!!!!!!!!!7!^^7777^^7777^ ^7777~.~~~~^. .~7777^~7777: :!777~^!777~. !777!:~777!: .!777!:~777!:~77~:!777!. ~777!^~7777:^~^!777~ ^7777^^7777^^7777^ :7777~^!7777777: .!777!:!7777!. .~777!:~77~. ~7777^~~ ^7777. :77: .. EOF ;; "PNM Linux"* | "WHPNM Linux"*) set_colors 33 9 15 202 read -rd '' ascii_data <<'EOF' ${c1} ``.---..` `--` ``.---........-:.${c2}-::`${c1} ${c2}./::-${c1}........${c2}--::.````${c1} ${c2}.:://:::${c1}----${c2}::::-..${c1} ..${c2}--:::::--::::++-${c1}.` ${c2}`-:-`${c1} .-ohy+::${c2}-:::${c1}/sdmdd:.${c2} `-:- .-:::${c1}...${c3}sNNmds$y${c1}o/+${c3}sy+NN$m${c1}d+.`${c2}-:::-. `.-:-${c1}./${c3}dN${c1}()${c3}yyooosd${c1}()${c3}$m${c1}dy${c2}-.::-.`${c1} ${c2}`.${c1}-...-${c3}+hNdyyyyyydmy${c1}:......${c2}`${c1} ``..--.....-${c3}yNNm${c4}hssssh${c3}mmdo${c1}.........``` `-:://:.....${c3}hNNNNN${c4}mddm${c3}NNNmds${c1}.....//::--` ```.:-...${c3}oNNNNNNNNNNNNNNmd/${c1}...:-.``` .....${c3}hNNNNNNNNNNNNNNmds${c1}....` --...${c3}hNNNNNNNNNNNNNNmdo${c1}..... .:...${c3}/NNNNNNNNNNNNNNdd${c1}:....` `-...${c3}+mNNNNNNNNNNNmh${c1}:...-. ${c4}.:+o+/:-${c1}:+oo+///++o+/:-${c4}:/+ooo/:. ${c4}+oo/:o- +oooooso.` ${c4}.` ` `/ .-//- EOF ;; "popos_small"* | "pop_os_small"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1}______ \\ _ \\ __ \\ \\ \\ \\ / / \\ \\_\\ \\ / / \\ ___\\ /_/ \\ \\ _ __\\_\\__(_)_ (___________)` EOF ;; "Pop!_OS"* | "popos"* | "pop_os"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} ///////////// ///////////////////// ///////${c2}*767${c1}//////////////// //////${c2}7676767676*${c1}////////////// /////${c2}76767${c1}//${c2}7676767${c1}////////////// /////${c2}767676${c1}///${c2}*76767${c1}/////////////// ///////${c2}767676${c1}///${c2}76767${c1}.///${c2}7676*${c1}/////// /////////${c2}767676${c1}//${c2}76767${c1}///${c2}767676${c1}//////// //////////${c2}76767676767${c1}////${c2}76767${c1}///////// ///////////${c2}76767676${c1}//////${c2}7676${c1}////////// ////////////,${c2}7676${c1},///////${c2}767${c1}/////////// /////////////*${c2}7676${c1}///////${c2}76${c1}//////////// ///////////////${c2}7676${c1}//////////////////// ///////////////${c2}7676${c1}///${c2}767${c1}//////////// //////////////////////${c2}'${c1}//////////// //////${c2}.7676767676767676767,${c1}////// /////${c2}767676767676767676767${c1}///// /////////////////////////// ///////////////////// ///////////// EOF ;; "Porteus"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} `.-:::-.` -+ydmNNNNNNNmdy+- .+dNmdhs+//////+shdmdo. .smmy+-` ./sdy: `omdo. `.-/+osssso+/-` `+dy. `yms. `:shmNmdhsoo++osyyo-``oh. hm/ .odNmds/.` ``.....:::-+s /m: `+dNmy:` `./oyhhhhyyooo++so ys `yNmy- .+hmmho:-.` ``` s: yNm+` .smNd+. `` /Nm: +dNd+` yN+ `smNy. dm oNNy` hy -mNm. +y oNNo `y` sNN: `: +NN: ` .mNo /mm` /my` .sy` .+: ` EOF ;; "postmarketos_small") set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} /\\ / \\ / \\ \\__ \\ /\\__ \\ _\\ / / \\/ __ / / ____/ \\ / \\ \\ \\ /_____/ /________\\ EOF ;; "PostMarketOS"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} /\\ / \\ / \\ / \\ / \\ / \\ \\ \\ /\\ \\____ \\ / \\____ \\ \\ / / \\ \\ / / \\ ___\\ / / \\ / ____ / / \\/ / \\ / / __________/ \\ / \\ \\ \\ / \\ \\ \\ / / / \\ /___________/ /____________________\\ EOF ;; "PuffOS"*) set_colors 3 read -rd '' ascii_data <<'EOF' ${c1} _,..._,m, ,/' '""; / ". ,'mmmMMMMmm. \ _/-"^^^^^"""%#%mm, ; ,m,_,' "###) ;, (###% \#/ ;##mm. ^#/ __ ___ ; (######) ; //.\\ //.\\ ; \####/ _; (#\"// \\"/#) ; ,/ @##\ \##/ = `"=" ,;mm/ `\##>.____,...,____,<####@ EOF ;; "Proxmox"*) set_colors 7 202 read -rd '' ascii_data <<'EOF' ${c1} .://:` `://:. `hMMMMMMd/ /dMMMMMMh` `sMMMMMMMd: :mMMMMMMMs` ${c2}`-/+oo+/:${c1}`.yMMMMMMMh- -hMMMMMMMy.`${c2}:/+oo+/-` `:oooooooo/${c1}`-hMMMMMMMyyMMMMMMMh-`${c2}/oooooooo:` `/oooooooo:${c1}`:mMMMMMMMMMMMMm:`${c2}:oooooooo/` ./ooooooo+-${c1} +NMMMMMMMMN+ ${c2}-+ooooooo/. .+ooooooo+-${c1}`oNMMMMNo`${c2}-+ooooooo+. -+ooooooo/.${c1}`sMMs`${c2}./ooooooo+- :oooooooo/${c1}`..`${c2}/oooooooo: :oooooooo/`${c1}..${c2}`/oooooooo: -+ooooooo/.`${c1}sMMs${c2}`./ooooooo+- .+ooooooo+-`${c1}oNMMMMNo${c2}`-+ooooooo+. ./ooooooo+-${c1} +NMMMMMMMMN+ ${c2}-+ooooooo/. `/oooooooo:`${c1}:mMMMMMMMMMMMMm:${c2}`:oooooooo/` `:oooooooo/`${c1}-hMMMMMMMyyMMMMMMMh-${c2}`/oooooooo:` `-/+oo+/:`${c1}.yMMMMMMMh- -hMMMMMMMy.${c2}`:/+oo+/-` ${c1} `sMMMMMMMm: :dMMMMMMMs` `hMMMMMMd/ /dMMMMMMh` `://:` `://:` EOF ;; "Puppy"* | "Quirky Werewolf"* | "Precise Puppy"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} `-/osyyyysosyhhhhhyys+- -ohmNNmh+/hMMMMMMMMNNNNd+dMMMMNM+ yMMMMNNmmddo/NMMMNNNNNNNNNo+NNNNNy .NNNNNNmmmddds:MMNNNNNNNNNNNh:mNNN/ -NNNdyyyhdmmmd`dNNNNNmmmmNNmdd/os/ .Nm+shddyooo+/smNNNNmmmmNh. :mmd. NNNNy:` ./hmmmmmmmNNNN: hNMh NMN- -++- +NNNNNNNNNNm+..-sMMMM- .MMo oNNNNo hNNNNNNNNmhdNNNMMMMM+ .MMs /NNNN/ dNmhs+:-` yMMMMMMMM+ mMM+ .. `sNN+. hMMMMhhMMM- +MMMmo:...:sNMMMMMms:` hMMMMm.hMMy yMMMMMMMMMMMNdMMMMMM::/+o+//dMMd` sMMMMMMMMMMN+:oyyo:sMMMNNMMMNy` :mMMMMMMMMMMMmddNMMMMMMMMmh/ /dMMMMMMMMMMMMMMMMMMNdy/` .+hNMMMMMMMMMNmdhs/. .:/+ooo+/:-. EOF ;; "pureos_small"*) set_colors 2 7 7 read -rd '' ascii_data <<'EOF' ${c1} _____________ | _________ | | | | | | | | | | |_________| | |_____________| EOF ;; "PureOS"*) set_colors 2 7 7 read -rd '' ascii_data <<'EOF' ${c1}dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd dNm//////////////////////////////////mNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNd dNm//////////////////////////////////mNd dmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmd EOF ;; "Peropesis"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1}#### #### #### ### #### #### #### # #### # # # # # # # # # # # # # #### ### #### # # #### ### # # # # # # # # # # # # # # # #### # # ### # #### #### # #### EOF ;; "Q4OS"*) set_colors 4 1 read -rd '' ascii_data <<'EOF' ${c1} .:***** :=====. ${c1}.:******** :========. ${c1} .*********** :===========. ${c1}.:************ :============- ${c1} .************** :============== ${c1} :*************** :=============== ${c1}:**************. :=============== ${c1}.*************: .=============. ${c1}*************. .============: ${c1}:############. ${c2}:==: ${c1}:##############. ${c2}:======: ${c1}:################ ${c2}.==========: ${c1}:############### ${c2}.===========: ${c1}:############## ${c2}.===========: ${c1}:############# ${c2}.=========: ${c1}:########### ${c2}.=====: ${c1}.######### ${c2}.=: ${c1}.##### EOF ;; "Qubes"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} `..--..` `.----------.` `..----------------..` `.------------------------.`` `..-------------....-------------..` .::----------..`` ``..----------:+: :////:----..` `..---:/ossso :///////:` `/osssssso :///////: /ssssssso :///////: /ssssssso :///////: /ssssssso :///////: /ssssssso :///////: /ssssssso :////////-` .:sssssssso :///////////-.` `-/osssssssssso `//////////////:-```.:+ssssssssssssso- .-://////////////sssssssssssssso/-` `.:///////////sssssssssssssso:. .-:///////ssssssssssssssssss/` `.:////ssss+/+ssssssssssss. `--//- `-/osssso/. EOF ;; "Qubyt"*) set_colors 4 5 0 4 read -rd '' ascii_data <<'EOF' ${c1} ########################${c2}(${c3}ooo ${c1} ########################${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}###${c2}(${c3}ooo ${c1}##${c3}o ${c2}((((${c3}ooo ${c1}###${c2}(${c3}ooo o${c2}((${c1}### ${c3}oooooo ${c1}###${c2}(${c3}ooo oo${c2}((${c1}###${c3}o ${c1}###${c2}(${c3}ooo ooo${c2}((${c1}### ${c1}################${c2}(${c3}oo oo${c2}((((${c3}o ${c2}(((((((((((((((((${c3}ooo ooooo oooooooooooooooooo o EOF ;; "Quibian"*) set_colors 3 7 read -rd '' ascii_data <<'EOF' ${c1} `.--::::::::--.` `.-:::-..`` ``..-::-.` .::::-` .${c2}+${c1}:`` `.-::.` .::::.` -::::::-` `.::. `-:::-` -:::::::::--..`` .::` `::::- .${c2}oy${c1}:::::::---.```.: `::` -:::: `.-:::::::::::-.``` `:: .::::.`-:::::::::::::. `:. -::::.::::::::::::::: -: ::::::::::::::::::::` `: :::::::::::::::::::- `: ::::::::::::::::::: -- .:::::::::::::::::` `:` `::::::::::::::::: -` .:::::::::::::::- -` `::::::::::::::- `.` .::::::::::::- `` `.--:::::-. EOF ;; "Radix"*) set_colors 1 2 read -rd '' ascii_data <<'EOF' ${c2} .:oyhdmNo `/yhyoosdms` -o+/ohmmho- ..`.:/:-` `.--:::-.``${c1} .+ydNMMMMMMNmhs:` `omMMMMMMMMMMMMMMNh- oNMMMNmddhhyyhhhddmy. mMMMMNmmddhhysoo+/:-` yMMMMMMMMMMMMMMMMNNh. -dmmmmmNNMMMMMMMMMMs` -+oossyhmMMMMMMMMd- `sNMMMMMMMMMMMMMm: `yMMMMMMNmdhhhh: `sNMMMMMNmmho. `+mMMMMMMMy. .yNMMMm+` `:yd+. EOF ;; "Raspbian_small"*) set_colors 2 1 read -rd '' ascii_data <<'EOF' ${c1} .. ,. :oo: .:oo: 'o\\o o/o: ${c2} :: . :: . :: :: ::: ::: :: :' '',.'' ': ::: :::: ::: ':, '' ,:' ' ~::~ ' EOF ;; "Raspbian"*) set_colors 2 1 read -rd '' ascii_data <<'EOF' ${c1} `.::///+:/-. --///+//-:`` `+oooooooooooo: `+oooooooooooo: /oooo++//ooooo: ooooo+//+ooooo. `+ooooooo:-:oo- +o+::/ooooooo: `:oooooooo+`` `.oooooooo+- `:++ooo/. :+ooo+/.` ${c2}...` `.----.` ``.. .::::-``:::::::::.`-:::-` -:::-` .:::::::-` `-:::- `::. `.--.` `` `.---.``.::` .::::::::` -::::::::` ` .::` .:::::::::- `::::::::::``::. -:::` ::::::::::. ::::::::::.`:::- :::: -::::::::. `-:::::::: :::: -::- .-:::-.``....``.-::-. -::- .. `` .::::::::. `..`.. -:::-` -::::::::::` .:::::` :::::::` -::::::::::` :::::::. .::::::: -::::::::. :::::::: `-:::::` ..--.` ::::::. `...` `...--..` `...` .:::::::::: `.-::::-` EOF ;; "ravynOS") set_colors 15 read -rd '' ascii_data <<'EOF' ${c1} ..oooo.. .o$$$$$$$$$$$$$$o. od$$$$$$$$$$$$$$$$$$$$$o o$$$$$$$$$$$$$$$$$$$$$$$$$$o .$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$. d$$$$$$$$$********$$$$$$$$$$$$$$$b d$$$$$$$* °****?$$$$$$$$b $$$$$$* °$$$$$$$ d$$** .oo$$$$$$$$b *° o$$$$$$$$$$$$$$ o$$$$$$$$$$$$$$$$ o$$$$$$$$$$$$$$$$$P *$$$$$$$$$$$$$$$$$ ?$$$$$$$$$$$$$$P $$$$$$$$$$$$$P $$$$$$$$$$$$P ?$$$$$$$$$$* $$$$$$$*° d$$$$*° ° EOF ;; "Reborn OS"* | "Reborn"*) set_colors 0 4 6 read -rd '' ascii_data <<'EOF' ${c1} .======================. ${c1}.#${c2}#*********${c1}%%${c2}*********#${c1}%: ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- ${c1}-%${c2}************${c1}%%${c2}************${c1}%= ${c1}+%${c2}******${c1}%%#####${c1}%%#####%%${c2}******${c1}%+ ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* ${c1}*%${c2}*#${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. ${c1}.##${c2}*****${c1}#%%%#${c3}*++${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%. ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%: ${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%- ${c1}-%#${c2}*****${c1}#%${c3}+====*${c1}%${c3}*++++++++*${c1}%#${c3}====+${c1}%#${c2}******${c1}%= ${c1}:%#${c2}*****${c1}#%${c3}*=+*${c1}#%%${c3}*++++++*${c1}%%#${c3}*+=*${c1}%#${c2}*****${c1}#%- ${c1}.##${c2}*****${c1}#%%%#${c3}*+*${c1}%######%${c3}*+*${c1}#%%%#${c2}*****${c1}#%: ${c1}.##${c2}**${c1}#%%#%#${c3}====+++${c1}%%${c3}+++====${c1}#%#%%#${c2}#*${c1}##. ${c1}*%%#${c2}****${c1}%#${c3}+=====${c1}%%${c3}=====+${c1}#%${c2}****${c1}#%%* ${c1}+%${c2}******${c1}%%#####%%#####%%${c2}******${c1}%* ${c1}-%${c2}************${c1}%%${c2}************${c1}%= ${c1}:%${c2}#**********${c1}%%${c2}**********#${c1}%- ${c1}:%${c2}#*********${c1}%%${c2}*********#${c1}%: ${c1}.======================. EOF ;; "Red Star"* | "Redstar"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} .. .oK0l :0KKKKd. .xKO0KKKKd ,Od' .d0000l .c;. .'''... ..'. .,:cloddxxxkkkkOOOOkkkkkkkkxxxxxxxxxkkkx: ;kOOOOOOOkxOkc'...',;;;;,,,'',;;:cllc:,. .okkkkd,.lko .......',;:cllc:;,,'''''. .cdo. :xd' cd:. ..';'',,,'',,;;;,'. . .ddl.;doooc'..;oc;'..';::;,'. coo;.oooolllllllcccc:'. . .ool''lllllccccccc:::::;. ;lll. .':cccc:::::::;;;;' :lcc:'',..';::::;;;;;;;,,. :cccc::::;...';;;;;,,,,,,. ,::::::;;;,'. ..',,,,'''. ........ ...... EOF ;; "Redcore"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} RRRRRRRRR RRRRRRRRRRRRR RRRRRRRRRR RRRRR RRRRRRRRRRRRRRRRRRRRRRRRRRR RRRRRRR RRR RRR RRRRRRRR RRRRR RR RRRRRRRRR RRRR RR RRRRRRRR RR RRRRRR RRRR R RRRRRRRRRRRRRR RR RRRRR RRRR R RRRRRRRRRRRRRRRRRR R RRRRR RRRR RRRRRRRRRRRRRRRRRRR R RRRR RRR RRRRRRRRRRRRRRRRRRRR R RRRR RRR RRRRRRRRRRRRRRRRRRRR RRRR RR RRRRRRRRRRRRRRRRRRR RRR RR RRRRRRRRRRRRRRRRR RRR RR RRRRRRRRRRRRRR RR R RRRR RR EOF ;; "redhat_old" | "rhel_old"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} `.-..........` `////////::.`-/. -: ....-////////. //:-::///////////` `--::: `-://////////////: //////- ``.-:///////// .` `://////:-.` :///////::///:` .-/////////:---/////////////: .-://////////////////////. ${c2} yMN+`.-${c1}::///////////////-` ${c2} .-`:NMMNMs` `..-------..` MN+/mMMMMMhoooyysshsss MMM MMMMMMMMMMMMMMyyddMMM+ MMMM MMMMMMMMMMMMMNdyNMMh` hyhMMM MMMMMMMMMMMMMMMMyoNNNMMM+. MMMMMMMM MMNMMMNNMMMMMNM+ mhsMNyyyyMNMMMMsMM EOF ;; "Redhat"* | "Red Hat"* | "rhel"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} .MMM..:MMMMMMM MMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMM. MMMMMMMMMMMMMMMMMMMMMM ,MMMMMMMMMMMMMMMMMMMMMM: MMMMMMMMMMMMMMMMMMMMMMMM .MMMM' MMMMMMMMMMMMMMMMMMMMMM MMMMMM `MMMMMMMMMMMMMMMMMMMM. MMMMMMMM MMMMMMMMMMMMMMMMMM . MMMMMMMMM. `MMMMMMMMMMMMM' MM. MMMMMMMMMMM. MMMM `MMMMMMMMMMMMM. ,MMMMM. `MMMMMMMMMMMMMMMMM. ,MMMMMMMM. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM: MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM `MMMMMMMMMMMMMMMMMMMMMMMM: ``MMMMMMMMMMMMMMMMM' EOF ;; "Refracted Devuan"* | "Refracted_Devuan"*) set_colors 8 7 read -rd '' ascii_data <<'EOF' ${c2} A VW VVW\\ .yWWW\\ ,;,,u,;yy;;v;uyyyyyyy ,WWWWW^ *WWWWWWWWWWWWWWWW/ $VWWWWw , ^*%WWWWWWVWWX $WWWW** ,yy , "**WWW/' **' ,yy/WWW*` &WWWWwy `*` <,ywWW%VWWW* yWWWWWWWWWW* ., "**WW%W ,&WWWWWM*"` ,y/ &WWWww ^* XWWX*^ ,yWWWW09 .WWWWWWWWwy, *` &WWWWWM WWWWWWWWWWWWWww, (WWWWW` /#####WWW*********** ^WWWW VWW Wh. V/ EOF ;; "Regata"*) set_colors 7 1 4 5 3 2 read -rd '' ascii_data <<'EOF' ${c1} ddhso+++++osydd dho/.`hh${c2}.:/+/:.${c1}hhh`:+yd do-hhhhhh${c2}/sssssss+`${c1}hhhhh./yd h/`hhhhhhh${c2}-sssssssss:${c1}hhhhhhhh-yd do`hhhhhhhhh${c2}`ossssssso.${c1}hhhhhhhhhh/d d/hhhhhhhhhhhh${c2}`/ossso/.${c1}hhhhhhhhhhhh.h /hhhhhhhhhhhh${c3}`-/osyso/-`${c1}hhhhhhhhhhhh.h shh${c4}-/ooo+-${c1}hhh${c3}:syyso+osyys/`${c1}hhh${c5}`+oo`${c1}hhh/ h${c4}`ohhhhhhho`${c3}+yyo.${c1}hhhhh${c3}.+yyo`${c5}.sssssss.${c1}h`h s${c4}:hhhhhhhhho${c3}yys`${c1}hhhhhhh${c3}.oyy/${c5}ossssssso-${c1}hs s${c4}.yhhhhhhhy/${c3}yys`${c1}hhhhhhh${c3}.oyy/${c5}ossssssso-${c1}hs hh${c4}./syyys+.${c1} ${c3}+yy+.${c1}hhhhh${c3}.+yyo`${c5}.ossssso/${c1}h`h shhh${c4}``.`${c1}hhh${c3}`/syyso++oyys/`${c1}hhh${c5}`+++-`${c1}hh:h d/hhhhhhhhhhhh${c3}`-/osyso+-`${c1}hhhhhhhhhhhh.h d/hhhhhhhhhhhh${c6}`/ossso/.${c1}hhhhhhhhhhhh.h do`hhhhhhhhh${c6}`ossssssso.${c1}hhhhhhhhhh:h h/`hhhhhhh${c6}-sssssssss:${c1}hhhhhhhh-yd h+.hhhhhh${c6}+sssssss+${c1}hhhhhh`/yd dho:.hhh${c6}.:+++/.${c1}hhh`-+yd ddhso+++++osyhd EOF ;; "Regolith"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} ``....``` `.:/++++++/::-.` -/+++++++:.` -++++++++:` `/++++++++- `/++++++++. -/+/ /++++++++/ `` .:+++:. -+++++++++/ ./++++:+++/-` :+++++++++/ `+++++++/-` :++++++++++` .-/+++++++` `:++++++++++/``.-/++++:-:::-` ` `:+++++++++++++++++/:.` ./` :++/-:+++++++++/:-.. -/+. +++++++++/::-...:/+++/-..````..-/+++. `......``.::/+++++++++++++++++++++/. -/+++++++++++++++++++++/. .:/+++++++++++++++/-` `.-:://////:-. EOF ;; "RhaymOS"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} ### ##### ####### /######## ############# ########### ,########### #### ####(.. #### #### ####* ########## #### ##### ##### (#### #### ########### ########### #### ######### ########## ################################### ##################################### ####################################### EOF ;; "rocky_small"*) set_colors 2 read -rd '' ascii_data <<'EOF' ${c1} `-/+++++++++/-.` `-+++++++++++++++++-` .+++++++++++++++++++++. -+++++++++++++++++++++++. +++++++++++++++/-/+++++++ +++++++++++++/. ./+++++ +++++++++++:. ./+++ +++++++++:` `:/:` .:/ -++++++:` .:+++++:` .+++-` ./+++++++++:` `-` ./+++++++++++- -+++++++++:-.` EOF ;; "rocky"*) set_colors 35 read -rd '' ascii_data <<'EOF' ${c1} __wgliliiligw_, _williiiiiiliilililw, _%iiiiiilililiiiiiiiiiii_ .Qliiiililiiiiiiililililiilm. _iiiiiliiiiiililiiiiiiiiiiliil, .lililiiilililiiiilililililiiiii, _liiiiiiliiiiiiiliiiiiF{iiiiiilili, jliililiiilililiiili@` ~ililiiiiiL iiiliiiiliiiiiiili>` ~liililii liliiiliiilililii` -9liiiil iiiiiliiliiiiii~ "4lili 4ililiiiiilil~| -w, )4lf -liiiiililiF' _liig, )' )iiiliii@` _QIililig, )iiii>` .Qliliiiililw )<>~ .mliiiiiliiiiiil, _gllilililiililii~ giliiiiiiiiiiiiT` -^~$ililili@~~' EOF ;; "Rosa"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} ROSAROSAROSAROSAR ROSA AROS ROS SAROSAROSAROSAR AROS RO ROSAROSAROSAROSAROSAR RO ARO AROSAROSAROSARO AROS ROS ARO ROSAROS OSAR ROSA ROS RO AROSA ROSAROSAROSA ROSAR RO RO ROSAR ROSAROSAROSAR R ROSARO RO RO ROSA AROSAROSAROSA AR ROSARO AR RO AROS ROSAROSAROSA ROS AROSARO AR RO AROS ROSAROSARO ROSARO ROSARO AR RO ROS AROSAROS ROSAROSA AROSAR AR RO ROSA ROS ROSAROSAR ROSARO RO RO ROS AROSAROSAROSA ROSARO AR ARO ROSA ROSAROSAROS AROSAR ARO ARO OROSA R ROSAROS ROS RO AROSAROS AROSAROSAR RO AROS AROSAROSAROSARO AROS ROSA SARO ROSAROSAROSAROSAR EOF ;; "Astra Linux"*) if [[ $ascii_distro == *"ALCE"* ]]; then set_colors 160 231 else set_colors 32 231 fi read -rd '' ascii_data <<'EOF' ${c1} AA ${c1} AaaA ${c1} Aa${c2}/\\${c1}aA ${c1} Aa${c2}/${c1}aa${c2}\\${c1}aA ${c1} Aa${c2}/${c1}aAAa${c2}\\${c1}aA ${c1} aA${c2}/${c1}aaAAaa${c2}\\${c1}Aa ${c1} aA${c2}/${c1}aaAAAAaa${c2}\\${c1}Aa ${c1} aaaaaaAAAAa${c2}/${c1}aaAAAAAAaa${c2}\\${c1}aAAAAaaaaa ${c1} aAAa${c2}-----${c1}aaaaaAAAAAAAAAAaaaaa${c2}-----${c1}aAAa ${c1} aAA${c2}\ ${c1}aAAAAAAAAAAAAAAAAAAAAAAa${c2} /${c1}AAa ${c1} aAa${c2}\\${c1}aAAA${c2}\\${c1}AAAA${c2}\\${c1}AAAA${c2}\\${c1}AAA${c2}\\${c1}AAa${c2}/${c1}aAa ${c1} aAa${c2}\\${c1}aA${c2}\\\\${c1}AAA${c2}\\\\${c1}AAA${c2}\\\\${c1}AA${c2}\\\\/${c1}aAa ${c1} aAA${c2}\\${c1}aA${c2}\\\\${c1}AAA${c2}\\\\${c1}AAA${c2}\\\\${c1}Aa${c2}/${c1}AAa ${c1} aA${c2}\\${c1}aA${c2}\\\\${c1}AAA${c2}\\\\${c1}AAA${c2}\\\\/${c1}Aa ${c1} aA${c2}/${c1}AA${c2}\\\\\\${c1}AA${c2}\\\\\\${c1}AA${c2}\\\\\\${c1}Aa ${c1} aA${c2}/\\${c1}AAa${c2}\\\\\\${c1}Aa${c2}\\\\\\${c1}Aa${c2}\\\\\\${c1}Aa ${c1} aA${c2}/\\\\${c1}AAa${c2}\\\\/\\${c1}a${c2}\\\\\\${c1}Aa${c2}\\\\${c1}Aa ${c1} aA${c2}/${c1}a${c2}\\\\\\${c1}Aa${c2}\\/${c1}AA${c2}\\\\\\\\\\${c1}Aa${c2}\\\\${c1}Aa ${c1} aA${c2}/${c1}aA${c2}\\\\/${c1}aAa aAa${c2}\\\\\\${c1}Aa${c2}\\${c1}Aa ${c1} aA${c2}/\\${c1}A${c2}\\/${c1}Aa aA${c2}\\\\${c1}A${c2}\\\\${c1}Aa ${c1} A${c2}|/${c1}aaAa aAaa${c2}\\|${c1}A ${c1} aAaa aaAa EOF ;; "sabotage"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} .|'''.| | '||''|. ..|''|| ||.. ' ||| || || .|' || ''|||. | || ||'''|. || || . '|| .''''|. || || '|. || |'....|' .|. .||. .||...|' ''|...|' |''||''| | ..|'''.| '||''''| || ||| .|' ' || . || | || || .... ||''| || .''''|. '|. || || .||. .|. .||. ''|...'| .||.....| EOF ;; "Sabayon"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} ........... .. .. .. .. .. ${c2}o ${c1}.. .. ${c2}:W' ${c1}.. .. ${c2}.d. ${c1}.. :. ${c2}.KNO ${c1}.: :. ${c2}cNNN. ${c1}.: : ${c2}dXXX, ${c1}: : ${c2}. dXXX, .cd, ${c1}: : ${c2}'kc .. dKKK. ,ll;:' ${c1}: : ${c2}.xkkxc;..dkkkc',cxkkl ${c1}: :. ${c2}.,cdddddddddddddo:. ${c1}.: .. ${c2}:lllllll: ${c1}.. .. ${c2}',,,,, ${c1}.. .. .. .. .. ............... EOF ;; "Sailfish"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c1} _a@b _#b (b _@@ @_ _, _#^@ _#*^^*gg,aa@^^ #- @@^ _a@^^ @_ *g#b ^@_ ^@_ ^@_ @ @(b (b #b(b#^ _@_#@^ _a@a*^ ,a@*^ EOF ;; "SalentOS"*) set_colors 2 1 3 7 read -rd '' ascii_data <<'EOF' ${c1} ``..`` .-:+oshdNMMMMMMNdhyo+:-.` -oydmMMMMMMMMMMMMMMMMMMMMMMMMMMNdhs/ ${c4} +hdddm${c1}NMMMMMMMMMMMMMMMMMMMMMMMMN${c4}mdddh+` ${c2}`MMMMMN${c4}mdddddm${c1}MMMMMMMMMMMM${c4}mdddddm${c3}NMMMMM- ${c2} mMMMMMMMMMMMN${c4}ddddhyyhhddd${c3}NMMMMMMMMMMMM` ${c2} dMMMMMMMMMMMMMMMMM${c4}oo${c3}MMMMMMMMMMMMMMMMMN` ${c2} yMMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMd ${c2} +MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMy ${c2} :MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMMo ${c2} .MMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMM/ ${c2} `NMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMM- ${c2} mMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMN` ${c2} hMMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMm ${c2} /MMMMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMMMMy ${c2} .+hMMMMMMMMMMMMM${c4}hh${c3}MMMMMMMMMMMMMms: ${c2} `:smMMMMMMMMM${c4}hh${c3}MMMMMMMMMNh+. ${c2} .+hMMMMMM${c4}hh${c3}MMMMMMdo: ${c2} `:smMM${c4}yy${c3}MMNy/` ${c2}.- ${c4}`${c3}:. EOF ;; "ShastraOS"*) set_colors 6 read -rd '' ascii_data <<'EOF' ${c1} ..,;;,'. ':oo. ;o: :o, ol .oo ..';co: ooo',;:looo; .;lddl cx .xl .c:' dd xx xx ,d; .xd cx. xx dd. cx: .xo xx ,x: 'xl xx cx' .xl xd, xx .xd dx. .xo:xx xx .xx 'c xx:.'lx: ..,;cxxxo .';:codxxl lxo cd. 'xo :o, 'ld .oc'...';lo EOF ;; "Sasanqua"*) set_colors 5 1 5 read -rd '' ascii_data <<'EOF' ${c1} __,_ _╕⌐≡µ,√* º≡, ñ "' ░ ╞) _, ▒ __ _,,,_ _Ñ╜^≡µ ≡' 1µ╕º^el "%µ ∩' K Yµ& 1l ╞) ▒ √" ^Ü 1" `1µ Γ ║h _¿▒∞√;, ^≡, K ^u_ ⌐* ╙¥ ╓Ñ ⌠ º≡u,, ║I Å Ü _∩" ║µ_¿╝" Yu_ ▒ ╙º≡_ ║l1µ ║l , Y∞µ___≡ª Γl ╓hⁿ╖I 1l Ñ ╓Ñ Ñ ¥,___≡1l ╓Ñ ¿╕ª Ü ╙L ¿¿∩ª ╓P ª≡,__ *ⁿ┤ⁿÑⁿ^µ √ª ⁿ≡,,__√╝* "ⁿⁿ*" EOF ;; "Salient OS"* | "SalientOS"* | "salientos"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} 00xxxx0 00xxxxxx0 0xxxxxxxxx 000000 0xxxxxxxxxx xxxxxxxxxx0 0xxxxxxxxxxx0 xxxxxxxxxxxxx0 0xxxxxxxxxxxx0 0xxxxxxxxxxxxxx0 0xxxxxxxxxxxxx0 0xxxxxxxxxxxxxxx0 0xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx0 xxxxxxxxxxxxxxxx0 0xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxx 0xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx0 xxxxxxxxxxxxxx 0xxxxxxxxxxxxxxxxxx0 0xxxxxxxxxxxx0 0xxxxxxxxxxxxxxxxxx xxxxxxxxxxx0 0xxxxxxxxxxxxxxxxx xxxxxxxxxx0 0xxxxxxxxxxxxxxxx xxxxxxxxx0 0xxxxxxxxxxxx0 0xxxxxxx0 0xxxxxxx0 xxxxxx0 0xxx00 x00 EOF ;; "Salix"*) set_colors 2 read -rd '' ascii_data <<'EOF' ${c1} __s_aaaaaaaaauuoXSSSSSSSS: ._xSSSSSSSSSSSSSSSSSSSSSSSSSS: _aSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: _xSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS: nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS} nSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS}` XSSSSSSSSSSSSSSSSSSSSSSSSSSSS"` SSSSSSSSSSSSSSSSSSSSSSSSS!"` -""""""""""""""""""""""` EOF ;; "Scientific"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} =/;;/- +: // /; /; -X H. .//;;;:;;-, X= :+ .-;:=;:;#;. M- ,=;;;#:, ,:#;;:=, ,@ :# :#.=/++++/=.$= #= ,#; #/:+/;,,/++:+/ ;+. ,+/. ,;@+, ,#H;, ,/+, ;+;;/= @. ${c3}.H${c2}#${c3}#X ${c1}-X :///+; ;+=;;;.@, ${c2}.X${c3}M${c2}@$. ${c1}=X.//;=#/. ,;: :@#= =$H: .+#- ,#= #;-///==///-// =#, ;+ :#-;;;:;;;;-X- +: @- .-;;;;M- =M/;;;-. -X :;;::;;-. #- :+ ,-;;-;:== ,X H. ;/ #= // +; '////' EOF ;; "Septor"*) set_colors 4 7 4 read -rd '' ascii_data <<'EOF' ${c1}ssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssss ssssssssss${c2};okOOOOOOOOOOOOOOko;${c1}ssssssssss sssssssss${c2}oNWWWWWWWWWWWWWWWWWWNo${c1}sssssssss ssssssss${c2}:WWWWWWWWWWWWWWWWWWWWWW:${c1}ssssssss ssssssss${c2}lWWWWWk${c1}ssssssssss${c2}lddddd:${c1}ssssssss ssssssss${c2}cWWWWWNKKKKKKKKKKKKOx:${c1}ssssssssss ${c3}yy${c1}sssssss${c2}OWWWWWWWWWWWWWWWWWWWWx${c1}sssssss${c3}yy yyyyyyyyyy${c2}:kKNNNNNNNNNNNNWWWWWW:${c3}yyyyyyyy yyyyyyyy${c2}sccccc;${c3}yyyyyyyyyy${c2}kWWWWW:${c3}yyyyyyyy yyyyyyyy${c2}:WWWWWWNNNNNNNNNNWWWWWW;${c3}yyyyyyyy yyyyyyyy${c2}.dWWWWWWWWWWWWWWWWWWWNd${c3}yyyyyyyyy yyyyyyyyyy${c2}sdO0KKKKKKKKKKKK0Od;${c3}yyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy EOF ;; "Serene"*) set_colors 6 6 read -rd '' ascii_data <<'EOF' ${c1} __---''''''---__ . . : : - _______----_- s __----''' __---- __h_ _-' _-' h '-._''--.._ ; _-' y : ''-._ '-._/ _-' : y ':_ _--'' y m .--'' '-._.;' m m : : m y '.._ '-__ y : '--._ '''----___ : y '--._ ''-- _ y h '--._ : h s __'; vs - __..--'' - :_..--'' : . _ . `''---______---''-`` EOF ;; "SharkLinux"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} `:shd/ `:yNMMMMs `-smMMMMMMN. .+dNMMMMMMMMs .smNNMMMMMMMMm` .sNNNNNNNMMMMMM/ `omNNNNNNNMMMMMMm /dNNNNNNNNMMMMMMM+ .yNNNNNNNNNMMMMMMMN` +mNNNNNNNNNMMMMMMMMh .hNNNNNNNNNNMMMMMMMMMs +mMNNNNNNNNMMMMMMMMMMMs .hNMMNNNNMMMMMMMMMMMMMMMd .oNNNNNNNNNNMMMMMMMMMMMMMMMo `:+syyssoo++++ooooossssssssssso: EOF ;; "Siduction"*) set_colors 4 4 read -rd '' ascii_data <<'EOF' ${c1} _aass, jQh: =$w QWmwawQW )$QQQQ@( .. _a_a. ~??^ syDY?Sa, _mW>-<$c jWmi imm. ]QQwayQE 4QQmgwmQQ` ?WWQWP' -9QQQQQ@'._aas, _a%is. .adYYs,. -"?!` aQB*~^3$c _Qh;.nm .QWc. {QL ]QQp;..vmQ/ "QQmmQ@ -QQQggmQP ]QQWmggmQQ( -???" "$WQQQY` __, ?QQQQQQW! _yZ!?q, - .yWY!!Sw, "???^ .QQa_=qQ mQm>..vmm $QQWQQP $QQQgmQQ@ "???" _aa, -9WWQQWY` _mB>~)$a -~~ mQms_vmQ. ]WQQQQQP -?T??" EOF ;; "Slackel"*) set_colors 3 read -rd '' ascii_data <<'EOF' ${c1} _aawmmmmmwwaaaaas,,,_. .ammmmm###mmmmmmm###BQmm##mws .am###mmBmBmBmBmBmBmmmmm#mmmm#2 ~,. .WMd 'XM0. ,OMMK' OMMM7' .XMK *WMO:. .;xNMMk' NNNMKl. .xWMx ^ONMMNXMMMKx; V 'xNMWKkxllox0NMWk' ''''' ':dOOXXKOxl' EOF ;; "opensuse_small" | "suse_small"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} _______ __| __ \\ / .\\ \\ \\__/ | _______| \\_______ __________/ EOF ;; "openSUSE"* | "open SUSE"* | "SUSE"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c2} .;ldkO0000Okdl;. .;d00xl:^''''''^:ok00d;. .d00l' 'o00d. .d0Kd'${c1} Okxol:;,. ${c2}:O0d. .OK${c1}KKK0kOKKKKKKKKKKOxo:, ${c2}lKO. ,0K${c1}KKKKKKKKKKKKKKK0P^${c2},,,${c1}^dx:${c2} ;00, .OK${c1}KKKKKKKKKKKKKKKk'${c2}.oOPPb.${c1}'0k.${c2} cKO. :KK${c1}KKKKKKKKKKKKKKK: ${c2}kKx..dd ${c1}lKd${c2} 'OK: dKK${c1}KKKKKKKKKOx0KKKd ${c2}^0KKKO' ${c1}kKKc${c2} dKd dKK${c1}KKKKKKKKKK;.;oOKx,..${c2}^${c1}..;kKKK0.${c2} dKd :KK${c1}KKKKKKKKKK0o;...^cdxxOK0O/^^' ${c2}.0K: kKK${c1}KKKKKKKKKKKKK0x;,,......,;od ${c2}lKk '0K${c1}KKKKKKKKKKKKKKKKKKKK00KKOo^ ${c2}c00' 'kK${c1}KKOxddxkOO00000Okxoc;'' ${c2}.dKk' l0Ko. .c00l' 'l0Kk:. .;xK0l' 'lkK0xl:;,,,,;:ldO0kl' '^:ldxkkkkxdl:^' EOF ;; "parch"* | "Parch"* | "PARCH"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} ,:lodddd. .:clooood. ;clllooooc ;cclllllloo .cccccllllll . ,cccclllll ':::;; ccccclll; .:::cccccccccccll; ;::::ccccllllllcll: .;::::cccclllloool::; ;;;::::cccclllolc::::;. ;;;::::cccclllccc:::::;. ;;;::::cccclccccc::::::;. ;;;;::::::llcccccc:::::' ;;;;:; ,clllccccccc:: .;; .cllllllcccccc::;::::' .'''''''''',:lddoooolll '.....'''',cdddooooollll ........':oddddoooolllllc ....';ldddddooooolllllc: ,cdddddddooooollllccc :ddddddoooolllllccc ;ddooooolllllcc. :ooollllc. c' EOF ;; "SwagArch"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} .;ldkOKXXNNNNXXK0Oxoc,. ,lkXMMNK0OkkxkkOKWMMMMMMMMMM; 'K0xo ..,;:c:. `'lKMMMMM0 .lONMMMMMM' `lNMk' ${c2} ;WMMMMMMMMMO. ${c1}....::... ${c2} OMMMMMMMMMMMMKl. ${c1}.,;;;;;ccccccc, ${c2} `0MMMMMMMMMMMMMM0: ${c1}.. .ccccccc. ${c2} 'kWMMMMMMMMMMMMMNo. ${c1}.,:' .ccccccc. ${c2} `c0MMMMMMMMMMMMMN,${c1},:c; :cccccc: ${c2} ckl. `lXMMMMMMMMMX${c1}occcc:.. ;ccccccc. ${c2}dMMMMXd, `OMMMMMMWk${c1}ccc;:''` ,ccccccc: ${c2}XMMMMMMMWKkxxOWMMMMMNo${c1}ccc; .cccccccc. ${c2} `':ldxO0KXXXXXK0Okdo${c1}cccc. :cccccccc. :ccc:' `cccccccc:, '' EOF ;; "Tails"*) set_colors 5 7 read -rd '' ascii_data <<'EOF' ${c1} `` ./yhNh syy/Nshh `:o/ N:dsNshh █ `ohNMMd N-/+Nshh `yMMMMd N-yhMshh yMMMMd N-s:hshh █ yMMMMd so//. N-oyNsyh yMMMMd d Mms. N:hohhhd:. yMMMMd syMMM+ Nsyh+-..+y+- yMMMMd :mMM+ +hy- -ss/`yMMMM `+d+ :sy/. ./yNMMMMm `` .+ys- `:+hNMMMMMMy/` `hNmmMMMMMMMMMMMMdo. dMMMMMMMMMMMMMMMMMNh: +hMMMMMMMMMMMMMMMMMmy. -oNMMMMMMMMMMmy+.` `:yNMMMds/.` .//` EOF ;; "TorizonCore"*) set_colors fg 3 4 8 5 read -rd '' ascii_data <<'EOF' ${c2} `.::-. `-://////:-. `:////////////:. `.-.` `-:///////-. ` `.://///:.` `-::-. `-://:.` .:///////////:. `-:////////:.` `.://///////:-` .:////////////:` `.-/:-` `.:///:-` ${c3}`-+o/.${c2} `.://////-. `.` `.:///////:-` `.` ${c3}`-+sssssso/.${c2} `.--. `-:///:-` -/////////////: ${c3}`+sssssssssssso-${c2} `-://///////:-` .-///////:.` `` ${c3}-/sssssssso/.${c2} ` .:///////////-. .-::.` `-://:-. ${c3}-/sso/.${c2} `.:/:-. `.://///-. `-:////////:-. ${c3}`${c2} `.:////////-. `.-. ${c1}o-${c2} -:///////////:` .:////////////:` ${c1}-o${c2} ${c1}hdho-${c2} `-://///:.` `..` `-://////:.` ${c1}-ohdh${c2} ${c1}/ydddho-${c2} `--.` `.:////:.` `-::.` ${c1}-ohdddy/${c2} ${c1}./ydddho:`${c2} `.://////////:. ${c1}`:ohdddy/.${c2} ` ${c1}`/shddho:`${c2} `.://////////:. ${c1}`:ohddds/`${c2} ` ::-` ${c1}`/shddhs:`${c2} `.:////:.` ${c1}`:shddhs/`${c2} `-:: :///:-` ${c1}`:shddhs/`${c2} `..` ${c1}`/shddhs:`${c2} `-:///- `.:///:-` ${c1}`:ohddhs/`${c2} ${c1}`/shddho:`${c2} `-:///:.` `.:///:-. ${c1}-ohdddy/.${c2} ${c1}./ydddho-${c2} .-:///-.` `.:///:-. ${c1}-+hdddy+//+ydddh+-${c2} .-://:-. `.-///:-. ${c1}-+yddddddy+-${c2} .-://:-. .-://:-. ${c1}./++/.${c2} .-///:-. .-:///:.` `.:///:-` `-:///:.````.:///:-` `-:////////:-` `-::::-` EOF ;; "Trisquel"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} ,o$$$o. ,o$$Y"""Y$$b ,o$$$$$$o. ,$$' , Y$$b ,o$$$$$$$$$$$$o. :$ b Y$$. ,$$"' "Y$$$$o. 'b. ,b d$$$ $$' .d$$$$b '$$$$o 'Y$$$Y d$$$' $$' q' 'b '$$$$$o._ _.o$$$$' .$$,_ _,d$ ,$$$$$$$$$$$$${c2}$$$$Y' ${c1} '$$$$aaa$$$' .$$$$$$${c2}$$$$$$$$' ${c1} """" ${c2}d$$$$"' d$$$' .d$$b. $$$$ .$" 'a$. $$$$ $b $$. '$$$. '$b,,. $$$ '$$$. .$$' 'a$$$o._.o$$a' 'a$$$$a' EOF ;; "Twister"*) set_colors 2 1 4 5 7 read -rd '' ascii_data <<'EOF' ${c3}.......................${c4}.......${c5}.,:ccllllcc:.${c4}... ${c3}.......................${c5}.,;cldxkO0KXNNNWNNNX0x: ${c3}.................${c5}.,:ldkOOKK0OkkkkkOKWMMMMMMMNo ${c3}.............${c5},;coxO0Oxo::'${c4}.........${c5},oXMMMMMM0' ${c3}.........${c5},:ldkOOkc;'${c3}...${c4}.............${c5};OMMMMW0:${c4}. ${c3}.......${c5};ldkOxol:'${c3}......${c4}............${c5},dNMMX0''${c4}.. ${c3}....${c5};:oxkxl:'${c3}..........${c4}..........${c5},lOWWXx:.,'${c4}.. ${c3}..${c5},ldxkkd:'${c3}............${c5}.:c${c4}....${c5}':lkNMNOc,cdl'${c4}.. ${c3}.${c5};oxxkkkc'${c3}.........${c5}.:clc;'.';lkKNNKk;;ck00l${c4}... ${c5}.lxxxkkkxoooooddxkOOko'..cok0KOd':::o0NXd;'${c4}... ${c3}.${c5}:odxxkkOOOOOOOkdoi'..:ddxdoc:::od0NWW0c'${c4}..... ${c3}...${c5}':;gggggg;::''.......::::x0XWMMMNO.::'${c4}..... ${c3}..............${c5};......,;od0KNWMWNK0O:::do'${c4}..... ${c3}...............${c5}'cclgggggggxdll":::'XKoo,${c4}...... ${c3}.................${c5}',,,,,,,::::;ooNWMWOc'${c4}....... ${c3}..................${c5},:loxxxO0KXNNXK0ko:'${c4}........ ${c3}..................${c5}';::;oTcoggcoF":::'${c4}......... ${c3}..................${c5}':o,.:::::::::,p'${c4}........... ${c3}..................${c5};'ccdxkOOOdxlf'${c4}............. ${c3}.................${c5},l;;XgggggXP:'${c4}............... ${c3}................${c5};lco;::::::'${c4}.................. ${c3}..............${c5}.';ggggol'`${c4}..................... ${c3}.............${c5}':oo:''${c3}...${c4}....................... EOF ;; "Ubuntu Cinnamon"* | "Ubuntu-Cinnamon"*) set_colors 1 7 read -rd '' ascii_data <<'EOF' ${c1} .-/+oooooooo+/-. `:+oooooooooooooooooo+:` -+oooooooooooooooooooooooo+- .ooooooooooooooooooo${c2}:ohNd${c1}oooooo. /oooooooooooo${c2}:/+oo++:/ohNd${c1}ooooooo/ +oooooooooo${c2}:osNdhyyhdNNh+:+${c1}oooooooo+ /ooooooooo${c2}/dN/${c1}ooooooooo${c2}/sNNo${c1}ooooooooo/ .ooooooooo${c2}oMd:${c1}oooooooooooo${c2}:yMy${c1}ooooooooo. +ooooo${c2}:+o/Md${c1}oooooo${c2}:sm/${c1}oo/ooo${c2}yMo${c1}oooooooo+ ooo${c2}:sdMdosMo${c1}ooooo${c2}oNMd${c1}//${c2}dMd+${c1}o${c2}:so${c1}ooooooooo oooo${c2}+ymdosMo${c1}ooo${c2}+mMm${c1}+/${c2}hMMMMMh+hs${c1}ooooooooo +oooooo${c2}:${c1}:${c2}/Nm:${c1}/${c2}hMNo${c1}:y${c2}MMMMMMMMMM+${c1}oooooooo+ .ooooooooo${c2}/NNMNy${c1}:o${c2}NMMMMMMMMMMo${c1}ooooooooo. /oooooooooo${c2}:yh:${c1}+m${c2}MMMMMMMMMMd/${c1}ooooooooo/ +oooooooooo${c2}+${c1}/h${c2}mMMMMMMNds//o${c1}oooooooo+ /oooooooooooo${c2}+:////:o/ymMd${c1}ooooooo/ .oooooooooooooooooooo${c2}/sdh${c1}oooooo. -+oooooooooooooooooooooooo+- `:+oooooooooooooooooo+:` .-/+oooooooo+/-. EOF ;; "Ubuntu Budgie"* | "Ubuntu-Budgie"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c2} ./oydmMMMMMMmdyo/. :smMMMMMMMMMMMhs+:++yhs: `omMMMMMMMMMMMN+` `odo` /NMMMMMMMMMMMMN- `sN/ `hMMMMmhhmMMMMMMh sMh` .mMmo- /yMMMMm` `MMm. mN/ yMMMMMMMd- MMMm oN- oMMMMMMMMMms+//+o+: :MMMMo m/ +NMMMMMMMMMMMMMMMMm. :NMMMMm M` .NMMMMMMMMMMMMMMMNodMMMMMMM M- sMMMMMMMMMMMMMMMMMMMMMMMMM mm` mMMMMMMMMMNdhhdNMMMMMMMMMm oMm/ .dMMMMMMMMh: :dMMMMMMMo mMMNyo/:/sdMMMMMMMMM+ sMMMMMm .mMMMMMMMMMMMMMMMMMs `NMMMm. `hMMMMMMMMMMM.oo+. `MMMh` /NMMMMMMMMMo sMN/ `omMMMMMMMMy. :dmo` :smMMMMMMMh+-` `.:ohs: ./oydmMMMMMMdhyo/. EOF ;; "Ubuntu-GNOME"*) set_colors 4 5 7 6 read -rd '' ascii_data <<'EOF' ${c3} ./o. .oooooooo .oooo```soooo .oooo` `soooo .ooo` ${c4}.o.${c3} `\/ooo. :ooo ${c4}:oooo.${c3} `\/ooo. sooo ${c4}`ooooo${c3} \/oooo \/ooo ${c4}`soooo${c3} `ooooo `soooo ${c4}`\/ooo${c3} `soooo ${c4}./oo ${c3}`\/ooo ${c4}`/oooo.${c3} `/ooo ${c4}`\/ooo. ${c3}`/oooo. ${c4}`/oooo.${c3} `` ${c4} `\/ooo. ${c3}/oooo ${c4}/ooo` ${c4} `ooooo ${c3}`` ${c4}.oooo ${c4} `soooo. .oooo` `\/oooooooooo` ``\/oo`` EOF ;; "Ubuntu Kylin"* | "Ubuntu-Kylin"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} .__=liiiiiii=__, ._=liiliii|i|i|iiilii=_. _=iiiii|ii|i|ii|i|inwwwzii=, .=liiii|ii|ii|wwww|i${c2}3QWWWW${c1}ziii=, =lii|i|ii|i|${c2}QQQWWWWWm]QWWQD${c1}||iiii= =lii|iiivw${c2}Qm${c1}>3${c2}WWWWWQWQQwwQw${c1}cii|i|ii= =lii|ii|n${c2}QWWWQ${c1}|)i${c2}|i${c1}%i|]${c2}TQWWWWm${c1}|ii|i|i= .li|i|i|m${c2}WWWQV${c1}|ii${c2}wmD${c1}|iiii|${c2}TWWWWm${c1}|i|iiii, =iii${c2}www|$WQWk${c1}|i${c2}aWWWD${c1}|i|i|ii]${c2}QQWQk${c1}|ii|i|= iii${c2}QWWWQz$WW${c1}|i${c2}jQQWQm${c1}w|ii${c2}wW${c1}k|${c2}TTTTY${c1}i|i|iii iiI${c2}QWQWWtyQQ${c1}|i|${c2}$WWWWWQWk${c1}||i|i|ii||i|ii|i <|i|${c2}TTT|mQQWz${c1}|i${c2}3D${c1}]C|${c2}nD$W${c1}|ii${c2}vWWWWk${c1}||ii|i> -|ii|i|i${c2}WWWQw${c1}|${c2}Tt${c1}|i3${c2}T${c1}|${c2}T${c1}|i|${c2}nQWQWDk${c1}|ii|ii` <|i|iii|${c2}VWQWWQ${c1}|i|i|||ii${c2}wmWWQWD${c1}||ii|ii+ <|ii|i|i]${c2}$W@${c1}tv${c2}QQQWQQQWWTTHT${c1}1|iii|i|> <|i|ii|ii||v${c2}QWWWQWWW@vmWWWm${c1}|i|i|i> -<|i|ii|ii|i|${c2}TTTTTT${c1}|]${c2}QQWWWC${c1}|ii>` -<|i|ii|i|ii|i|i|ii3${c2}TTT${c1}t|i>` ~<|ii|ii|iiiii|i|||i>~ -~~<|ii|i||i>~~` EOF ;; "Ubuntu Touch"*) set_colors 3 7 read -rd '' ascii_data <<'EOF' ${c1} ############### ## ## ## ${c2}##${c1} ${c2}##${c1} ## ## ${c2}##${c1} ${c2}#${c1} ${c2}#${c1} ${c2}##${c1} ## ## ${c2}###${c1} ## ## ## ############### EOF ;; "Ubuntu MATE"* | "Ubuntu-MATE"*) set_colors 2 7 read -rd '' ascii_data <<'EOF' ${c1} .:/+oossssoo+/:.` `:+ssssssssssssssssss+:` -+sssssssssssssss${c2}y${c1}ssssssss+- .osssssssssssss${c2}yy${c1}ss${c2}mMmh${c1}ssssssso. /sssssssss${c2}ydmNNNmmd${c1}s${c2}mMMMMNdy${c1}sssss/ `+ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMNdy${c1}ssssss+` +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mMmh${c1}s${c2}ydy${c1}sssssss+ -sssss${c2}y${c1}ss${c2}Nm${c1}ss${c2}hNNh${c1}ssssss${c2}y${c1}s${c2}hh${c1}ss${c2}mMy${c1}sssssss- +ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+ sssss${c2}yMMMMMmh${c1}sssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss sssss${c2}yMMMMMmhy${c1}ssssssssssss${c2}NM${c1}ss${c2}dMy${c1}sssssss +ssss${c2}yMNdy${c1}ss${c2}hMd${c1}ssssssssss${c2}hMd${c1}ss${c2}NN${c1}sssssss+ -sssss${c2}y${c1}ss${c2}Nm${c1}ss${c2}hNNh${c1}ssssssss${c2}dh${c1}ss${c2}mMy${c1}sssssss- +sssssss${c2}yNNh${c1}ss${c2}hmNNNNm${c1}s${c2}mNmh${c1}s${c2}ymy${c1}sssssss+ +ssssssss${c2}hNNdy${c1}sssssss${c2}mMMMMmhy${c1}ssssss+ /sssssssss${c2}ydmNNNNmd${c1}s${c2}mMMMMNdh${c1}sssss/ .osssssssssssss${c2}yy${c1}ss${c2}mMmdy${c1}sssssso. -+sssssssssssssss${c2}y${c1}ssssssss+- `:+ssssssssssssssssss+:` .:/+oossssoo+/:. EOF ;; "ubuntu_old02") set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} ./+o+- ${c2} yyyyy- ${c1}-yyyyyy+ ${c2} ${c2}://+//////${c1}-yyyyyyo ${c3} .++ ${c2}.:/++++++/-${c1}.+sss/` ${c3} .:++o: ${c2}/++++++++/:--:/- ${c3} o:+o+:++.${c2}`..```.-/oo+++++/ ${c3} .:+o:+o/.${c2} `+sssoo+/ ${c2} .++/+:${c3}+oo+o:`${c2} /sssooo. ${c2}/+++//+:${c3}`oo+o${c2} /::--:. ${c2}+/+o+++${c3}`o++o${c1} ++////. ${c2} .++.o+${c3}++oo+:`${c1} /dddhhh. ${c3} .+.o+oo:.${c1} `oddhhhh+ ${c3} +.++o+o`${c1}`-````.:ohdhhhhh+ ${c3} `:o+++ ${c1}`ohhhhhhhhyo++os: ${c3} .o:${c1}`.syhhhhhhh/${c3}.oo++o` ${c1} /osyyyyyyo${c3}++ooo+++/ ${c1} ````` ${c3}+oo+++o: ${c3} `oo++. EOF ;; "Ubuntu Studio"* | "Ubuntu-Studio") set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} ..-::::::-.` `.:+++++++++++${c2}ooo${c1}++:.` ./+++++++++++++${c2}sMMMNdyo${c1}+/. .++++++++++++++++${c2}oyhmMMMMms${c1}++. `/+++++++++${c2}osyhddddhys${c1}+${c2}osdMMMh${c1}++/` `+++++++++${c2}ydMMMMNNNMMMMNds${c1}+${c2}oyyo${c1}++++` +++++++++${c2}dMMNhso${c1}++++${c2}oydNMMmo${c1}++++++++` :+${c2}odmy${c1}+++${c2}ooysoohmNMMNmyoohMMNs${c1}+++++++: ++${c2}dMMm${c1}+${c2}oNMd${c1}++${c2}yMMMmhhmMMNs+yMMNo${c1}+++++++ `++${c2}NMMy${c1}+${c2}hMMd${c1}+${c2}oMMMs${c1}++++${c2}sMMN${c1}++${c2}NMMs${c1}+++++++. `++${c2}NMMy${c1}+${c2}hMMd${c1}+${c2}oMMMo${c1}++++${c2}sMMN${c1}++${c2}mMMs${c1}+++++++. ++${c2}dMMd${c1}+${c2}oNMm${c1}++${c2}yMMNdhhdMMMs${c1}+y${c2}MMNo${c1}+++++++ :+${c2}odmy${c1}++${c2}oo${c1}+${c2}ss${c1}+${c2}ohNMMMMmho${c1}+${c2}yMMMs${c1}+++++++: +++++++++${c2}hMMmhs+ooo+oshNMMms${c1}++++++++ `++++++++${c2}oymMMMMNmmNMMMMmy+oys${c1}+++++` `/+++++++++${c2}oyhdmmmmdhso+sdMMMs${c1}++/ ./+++++++++++++++${c2}oyhdNMMMms${c1}++. ./+++++++++++++${c2}hMMMNdyo${c1}+/. `.:+++++++++++${c2}sso${c1}++:. ..-::::::-.. EOF ;; "Ubuntu Sway"* | "Ubuntu-Sway") set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} .-/+oossssoo+\-. ´:+ssssssssssssssssss+:` -+ssssssssssssssssss${c2}yy${c1}ssss+- .ossssssssssssssssss${c2}dMMMNyy${c1}ssso. /sssssssssss${c2}hdmmNNmmyNMMMMh${c1}ssssss\ +sssssssss${c2}hm${c1}ydMMMMMMMNdd${c2}ddy${c1}ssssssss+ /ssssssss${c2}hN${c1}MM${c2}M${c1}yh${c2}hyyyyhmNM${c1}MM${c2}Nh${c1}ssssssss\ .ssssssss${c2}dM${c1}MM${c2}Nh${c1}ssssssssss${c2}hN${c1}MM${c2}Md${c1}ssssssss. +sss${c2}yyyyyN${c1}MM${c2}Ny${c1}ssssssssssss${c2}yN${c1}MM${c2}My${c1}sssssss+ ossy${c2}NMMMNy${c1}MM${c2}h${c1}ssssssssssssss${c2}hm${c1}mm${c2}h${c1}ssssssso ossy${c2}NMMMNy${c1}MM${c2}h${c1}sssssssssssssshmmmh${c1}ssssssso +sss${c2}yyyyyN${c1}MM${c2}Ny${c1}ssssssssssss${c2}yN${c1}MM${c2}My${c1}sssssss+ .ssssssss${c2}dM${c1}MM${c2}Nh${c1}ssssssssss${c2}hN${c1}MM${c2}Md${c1}ssssssss. \ssssssss${c2}hN${c1}MM${c2}M${c1}yh${c2}hyyyyhdNM${c1}M${c2}MNh${c1}ssssssss/ +sssssssss${c2}dm${c1}ydMMMMMMMMdd${c2}ddy${c1}ssssssss+ \sssssssssss${c2}hdmNNNNmyNMMMMh${c1}ssssss/ .ossssssssssssssssss${c2}dMMMNyy${c1}ssso. -+sssssssssssssssss${c2}yy${c1}sss+- `:+ssssssssssssssssss+:` .-\+oossssoo+/-. EOF ;; "ubuntu_small") set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} ..;,; .,;,. .,lool: .ooooo, ;oo;: .coool. .... ''' ,l; :oooo, 'oo. looooc :oo' '::' ,oo: ,., .... co, lo:;. :oooo; . ':ooo; cooooc ''' '''' EOF ;; "Ubuntu_old"* | "i3buntu"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c1} .-/+oossssoo+\-. ´:+ssssssssssssssssss+:` -+ssssssssssssssssssyyssss+- .ossssssssssssssssss${c2}dMMMNy${c1}sssso. /sssssssssss${c2}hdmmNNmmyNMMMMh${c1}ssssss\ +sssssssss${c2}hm${c1}yd${c2}MMMMMMMNddddy${c1}ssssssss+ /ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhmNMMMNh${c1}ssssssss\ .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss. +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+ oss${c2}yNMMMNyMMh${c1}ssssssssssssss${c2}hmmmh${c1}ssssssso oss${c2}yNMMMNyMMh${c1}sssssssssssssshmmmh${c1}ssssssso +ssss${c2}hhhyNMMNy${c1}ssssssssssss${c2}yNMMMy${c1}sssssss+ .ssssssss${c2}dMMMNh${c1}ssssssssss${c2}hNMMMd${c1}ssssssss. \ssssssss${c2}hNMMM${c1}yh${c2}hyyyyhdNMMMNh${c1}ssssssss/ +sssssssss${c2}dm${c1}yd${c2}MMMMMMMMddddy${c1}ssssssss+ \sssssssssss${c2}hdmNNNNmyNMMMMh${c1}ssssss/ .ossssssssssssssssss${c2}dMMMNy${c1}sssso. -+sssssssssssssssss${c2}yyy${c1}ssss+- `:+ssssssssssssssssss+:` .-\+oossssoo+/-. EOF ;; "Floflis"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' \e[96m ,▄▄▄▌▓▓███▓▓▌▄▄▄, ,▄▒▓███████████████████▓▄▄ ▄▓███████████████████████████▌ ▓███████████████████████████████ , ╙▓████████████████████████████▀ ▄ ╓█▓▄ ╙▀▓████████████████████▀▀` ,▄██▓ ╓█████▌▄, '▀▀▀▀▓▓▓▓▓▓▀▀Å╙` ▄▄▓█████▌ ██████████▓▌▄ , ▄▓███████████▄ ╢████████████▓ ║████▓▓███▌ ╣█████████████▓ ▓█████████████ ▐█████████▀ ▓██████████████ ▓█████████████ ▐█████████▄ ███████████████ ▀████████████▌ ║█████████▌ ▀█████████████▌ ████████████M ▓██████████ ▐█████████████⌐ ▀██████████▌ ▐███████████▌ ▀███████████▌ ╙▓█████▓ ▓██████████████▄ ▀███████▀ ╝▓██▀ ╓▓████████████████▓ ▀▓██▀ ,▄████████████████████▌, ╝▀████████████████████▓▀' `╙▀▀▓▓███████▓▀▀╩' EOF ;; "Ubuntu"*) set_colors 1 read -rd '' ascii_data <<'EOF' ${c1} .... .',:clooo: .:looooo:. .;looooooooc .oooooooooo' .;looooool:,''. :ooooooooooc ;looool;. 'oooooooooo, ;clool' .cooooooc. ,, ... ...... .:oo, .;clol:,. .loooo' :ooooooooo, 'ooool 'ooooooooooo. loooo. 'ooooooooool coooo. ,loooooooc. .loooo. .,;;;'. ;ooooc ... ,ooool. .cooooc. ..',,'. .cooo. ;ooooo:. ;oooooooc. :l. .coooooc,.. coooooooooo. .:ooooooolc:. .ooooooooooo' .':loooooo; ,oooooooooc ..';::c' .;loooo:' . EOF ;; "Ultramarine Linux"* | "ultramarine"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} .cd0NNNNNNNXOdc. .:xKNNNNNNNNNNNNNNNNKd;. ,dXNNNNNNNNNNNNNNNNNNNNNNNd, 'ONNNNNNNNNNNNNNNNNNNNNNNNNNNNO' .xNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNk. .0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0. .0NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN0. dNNNNNNNNNNNNWWWWWWWWNNNNNNNNNNNNNNNNNNd NNNNNNNNNNNNNW${c2}MMMMMMMM${c1}WWNNNNNNNNNNNNNNNN NNNNNNNNNNNNNNW${c2}MMMMMMMMM${c1}WWNNNNNNNNNNNNNN NNNNNNNNNNNNNNW${c2}MMMMMMMMMMMM${c1}WNNNNNNNNNNNN NNNNNNNNNNWWW${c2}MMMMMMMMMMMMMMMM${c1}WWWNNNNNNNX oNWWWW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WWWNNo OW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WO .OW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WO. lNW${c2}MMMMMMMMMMMMMMMMMMMMMMMMMMMM${c1}WNl .dNW${c2}MMMMMMMMMMMMMMMMMMMMMMMM${c1}WNd. .cKW${c2}MMMMMMMMMMMMMMMMMMMM${c1}WKc. 'oOXWWW${c2}MMMMMMMM${c1}WWWXOl. ;lkXNNNNNNXkl' EOF ;; "Univalent"*) set_colors 6 6 read -rd '' ascii_data <<'EOF' ${c1} UUUUUUU UUUUUUU UUUUUUU UUUUUUU UUUUUUU A UUUUUUU UUUUUUU A|A UUUUUUU UUUUUUU A | A UUUUUUU UUUUUUU A | A UUUUUUU UUUUUUU A| | |A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUU A | | | A UUUUUUU UUUUUUUAAAAAAAAAAAUUUUUUU UUUUUUUUUUUUUUUUUUU UUUUUUUUUUUUU EOF ;; "Uos"*) set_colors 1 7 3 read -rd '' ascii_data << 'EOF' ${c1} ....... .............. ...................... ............................. uuuuuu uuuuuu ooooooooooo ssssssssss u::::u u::::u oo:::::::::::oo ss::::::::::s u::::u u::::u o:::::::::::::::oss:::::::::::::s u::::u u::::u o:::::ooooo:::::os::::::ssss:::::s u::::u u::::u o::::o o::::o s:::::s ssssss u::::u u::::u o::::o o::::o s::::::s u::::u u::::u o::::o o::::o s::::::s u:::::uuuu:::::u o::::o o::::ossssss s:::::s u:::::::::::::::uuo:::::ooooo:::::os:::::ssss::::::s u:::::::::::::::uo:::::::::::::::os::::::::::::::s uu::::::::uu:::u oo:::::::::::oo s:::::::::::ss uuuuuuuu uuuu ooooooooooo sssssssssss ............................. ..................... ............. ...... EOF ;; "Univention"*) set_colors 1 7 read -rd '' ascii_data <<'EOF' ${c1} ./osssssssssssssssssssssso+- `ohhhhhhhhhhhhhhhhhhhhhhhhhhhhy: shhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh- `-//${c2}sssss${c1}/hhhhhhhhhhhhhh+${c2}s${c1}.hhhhhhhhh+ .ohhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sss${c1}+hhhhhhh+ .yhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}ssss${c1}:hhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}sssss${c1}.hhhhhhhhhhhhhh.${c2}sssss${c1}yhhhhh+ +hhhhhy${c2}ssssss${c1}+yhhhhhhhhhhy/${c2}ssssss${c1}yhhhhh+ +hhhhhh:${c2}sssssss${c1}:hhhhhhh+${c2}.ssssssss${c1}yhhhhy. +hhhhhhh+`${c2}ssssssssssssssss${c1}hh${c2}sssss${c1}yhhho` +hhhhhhhhhs+${c2}ssssssssssss${c1}+hh+${c2}sssss${c1}/:-` -hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhho :yhhhhhhhhhhhhhhhhhhhhhhhhhhhh+` -+ossssssssssssssssssssss+:` EOF ;; "uwuntu"*) set_colors 225 206 52 read -rd '' ascii_data <<'EOF' ${c1} && &&&&&&&& , *&&&&&& &&&&&&&&( &%%%%&&&& &&&&&&&&&&&& ,&&&&& %%${c2}%%%%&&${c1}&&& ,&&&&&&&&&&&&&, %&&&$&&&%%$%%%. &%%%${c2}%&&&&&${c1}&&# &, &&&&&&${c2}&&&&&&&%%%${c1}%% &%%&&${c2}&&&&${c1}&&&( &&&${c2}&&&&&&%${c1}%%% &&&&&${c2}&&&${c1}&% *&&${c2}&&&&&${c1}&&% &&&/ &&&&${c3}\${c1}& ,${c3}/${c1}*.** %&&&&&&&& &&&${c3}⟩${c1}., *.${c3}⟨${c1} %&&&&&&&& &&${c3}/${c1}.. ${c3}/ \${c1} ..${c3}\${c1}(&&&&&& #&&&#%%%%.%%%( ${c3}\_/\_/${c1} (%%%.%%%%/ /%%%%%%%&&* ,&&&%%%%%%& &&&&&&&& &&&&&&&&&&& (&&&&& &&&&&&&&&&& ${c2}%%${c1} & &&&&&&&&&&&& &&&&&&& ${c2}%%%${c1} #&&&&&&# &&&&&&&&& ${c2}%%%%% %%${c1} #&&&&&( ${c2}&%. %%%${c1} ${c2}%%%%%%% EOF ;; "UrukOS"*) set_colors 12 12 7 12 4 read -rd '' ascii_data <<'EOF' ${c3} :${c4}:::::::::::::: ${c5}. ${c3}=#${c4}*============. ${c5}:#: ${c3}=##%${c4}+----------. ${c5}.###: ${c3}=####. ${c5}.####: ${c3}=####. ${c5}.####: ${c3}=###*. .=${c4}--------. ${c5}####: ${c3}=####. .*#+${c4}======- ${c5}####: ${c3}=###*. .*###+${c4}====- ${c5}####: ${c3}=###*. .*#####+${c4}==- ${c5}####: ${c3}=###*. .*#######+${c4}: ${c5}####: ${c3}=###*. .*#######+${c4}: ${c5}####: ${c3}=###*. .*#####+${c4}==- ${c5}####: ${c3}=###*. .*###+${c4}====- ${c5}####: ${c3}=####. .*#+${c4}======- ${c5}####: ${c3}=###*. .=${c4}--------. ${c5}.####: ${c3}=####. ${c5}.####: ${c3}=####. ${c5}.####: ${c3}=###+${c4}--------------${c5}####: ${c3}=#+${c4}=================-${c5}: ${c3}:${c4}::::::::::::::::::. EOF ;; "venom_small"*) set_colors 8 4 read -rd '' ascii_data <<'EOF' ${c1} ++** *===**====+* *====* +===+ *==*+===* *===* *===* *===+ *===* *===* +===+ *===* *===* +===* *===* *===* *===+*==* +===+ *===+=* *+====**===* **++ EOF ;; "Venom"*) set_colors 8 4 read -rd '' ascii_data <<'EOF' ${c1} `-` -yys+/-` `oyyyyy: /osyyyyso+:. /yyyyy+`+yyyyyyyyyys/. .-yyyyys.:+//+oyyyyyyyo. `oy/`oyyyyy/ ./syyyyy: syyys`:yyyyyo` :yyyyy: /yyyyo .syyyyy- .yyyyy. yyyyy. +yyyyy/ /yyyy/ `yyyyy :yyyyys` -yyyyo yyyyy. `syyyyy- /yyyy/ /yyyyo /yyyyy+ .yyyyy. syyyys. -yyyyys.:yyyy: `oyyyyyo-` `oyyyyy:.sy: :syyyyyyso+/++`/yyyyyo`` -oyyyyyyyyyyy-.syyyys. -/+osyyyyso.`+yyyyy/ .-/+syo` `. EOF ;; "void_small") set_colors 2 8 read -rd '' ascii_data <<'EOF' ${c1} _______ _ \\______ - | \\ ___ \\ | | | / \ | | | | \___/ | | | \\______ \\_| -_______\\ EOF ;; "Void"*) set_colors 8 2 7 read -rd '' ascii_data <<'EOF' ${c1} .......... .::::::::::::::::::.. ..:::::::::::::::::::::::::. '::::::::::::::::::::::::::::. ':::::'' '':::::::::::::. ${c3} .. ${c1}' '':::::::::. ${c3} .||. ${c1}'::::::::: ${c3} .|||||. ${c1}':::::::: ${c3} .|||||||: ${c1}:::::::: ${c3} |||||||: ${c1}.::::::::. :::::::: ${c2} ######${c3}||||||' ${c2}##^ v##########v${c1}::. ${c2}##### #############v ${c2} ######${c3}||||| ${c2}##^ v####${c1}::::::${c2}####v${c1}::${c2}##### #####${c1}:::::${c2}##### ${c2} ######${c3}||${c2}##^ #####${c1}::::::${c2}#####${c1}::${c2}##### #####${c1}:::::${c2}###### ${c2} ######^${c3}|| ${c2}#####${c1}:::::${c2}####^${c1}::${c2}##### #####${c1}:::::${c2}#####^ ${c2} ##^${c3}||||| ${c2}^###########^${c1}:::${c2}##### ##############^ ${c3} |||||||: ${c1}'::::::::' .:::::::: ${c3} '|||||||: ${c1}.::::::::' ${c3} '|||||||:. ${c1}':::::: ${c3} '||||||||:. ${c1}'::: ${c3} ':|||||||||. . ${c1}' ${c3} '|||||||||||:... ...:||||. ${c3} ':||||||||||||||||||||||||||. ${c3} ':|||||||||||||||||||||||'' ${c3} '':||||||||||||||:'' ${c3} '''''' EOF ;; "VNux"*) set_colors 11 8 15 1 7 read -rd '' ascii_data <<'EOF' ${c1} ` ^[XOx~. ^_nwdbbkp0ti' ${c2} _j>!vC1,, ${c4},${c2} ,CY${c3}O${c2}t${c3}O${c2}1(l;" `${c4}~-{r(1I${c2} ^${c1}/zmwJuc:${c2}I^ '${c4}?)|${c1}U${c4}/}-${c2} ^${c3}f${c1}OCLLOw${c3}_${c2},; ,${c4}i,``. ${c2}",${c3}k%ooW@$d"${c2}I,' ' ;^${c3}u$$$$$$$$^<${c2}:^ ` .>>${c3}($$${c5}$@@@@$$${c3}$nl${c2}[:: `!}?${c3}B$${c5}%&WMMW&%$${c3}$1}-${c2}}": ^?j${c3}Z$${c5}WMMWWWWMMW$${c3}ofc${c2};;` <~x&${c3}$${c5}&MWWWWWWWWp${c3}-${c5}l>[< ${c1} 'ljmwn${c2}~tk8${c5}MWWWWM8O${c2}X${c1}r${c2}+]nC${c1}[ !JZqwwdX${c2}:^C8${c5}#MMMM@${c2}X${c1}Odpdpq0< ^x00J(" ^" EOF ;; "VzLinux"*) set_colors 1 7 3 read -rd '' ascii_data <<'EOF' ${c2} ${c1}.::::::::.${c2} `/////` ${c1}:zzzzzzzz${c2} ://///- VVVVVu` ${c1}-zzz`${c2} /VVVVV. `dVVVVV ${c1}.zzz`${c2} :VVVVV: `VVVVVo ${c1}zzz${c2} -VVVVV/ .VVVVV\ ${c1}zzz/${c2} .VVVVV+ -VVVVV: ${c1}zzzzzzzzz${c2} .dVVVVs \VVVVV- ${c1}`````````${c2} VVVVVV +VVVVV. sVVVVu` oVVVVd` +VVVVd` VVVVVV /VVVVV. `uVVVVs -VVVVV- `dVVVV+ .VVVVV/ .VVVVV\ `dVVVV+ -VVVVV-`uVVVVo :VVVVVVVVVVV \VVVVVVVVu oVVVVVVd` sVVVVV. ----. EOF ;; "yiffOS"*) set_colors 93 92 read -rd '' ascii_data <<'EOF' ${c1} NK NxKXW WOlcoXW 0olccloxNW XxllllllloxOKNW Nklllllllllllodk0XWW N0dllllllllllllllodxOKNW WKxlllllllllllllllllllooxOKN WKdllllllllllllllooooooooooooo Nxllllllllllllllloooooooooo${c2}oooo ${c1} XXNOolllllllllllloooooooooo${c2}oooooo ${c1} WX0xolllllllllllooooooooooo${c2}oooooooo ${c1} XWN0xolllllllllloooooooo${c2}ooooooooooooo ${c1} Kkdolllllllooooddddd${c2}doooooooooooddo ${c1} K00XNW${c2} WX0xdooooooddddddd WXOxdoooooodddd WXOxdddddddd NX0ddd WN0d EOF ;; "semc"*) set_colors 2 8 1 read -rd '' ascii_data <<'EOF' ${c1} /\ ______/ \ / |()| ${c2}E M C ${c1} | (-- | | \ \ | | .----) | |__| |_______/ / ${c3}"${c1} \ ${c3}" " EOF ;; "Vanilla"*) set_colors 11 15 read -rd '' ascii_data <<'EOF' ${c1} .OO. .OOOO. .OO${c2}II${c1}OO. IOOO${c2}II${c1}OOOI .OOOO${c2}II${c1}OOOO. ............IOOOO${c2}II${c1}OOOOI............ OOOOOOOOOOOOOOOOOO${c2}II${c1}OOOOOOOOOOOOOOOOOO OOOO${c2}II${c1}OOOOOOOOOOO${c2}II${c1}OOOOOOOOOOO${c2}II${c1}OOOO OOOOO${c2}III${c1}OOOOOOOO${c2}II${c1}OOOOOOOO${c2}III${c1}OOOOO OOOOOOO${c2}IIII${c1}OO${c2}I....I${c1}OO${c2}IIII${c1}OOOOOOO OOOOOOOOOO${c2}II.. ..II${c1}OOOOOOOOOO OOOOOOO${c2}II. .II${c1}OOOOOOO OOOOOO${c2}II:......:II${c1}OOOOOO OOOOOOOOO${c2}IIIIIIII${c1}OOOOOOOOO OOOOOO${c2}II${c1}OOOOOOOOOOOO${c2}II${c1}OOOOOO OOOO${c2}II${c1}OOOOOOOI IOOOOOO${c2}II${c1}OOOO IOO${c2}II${c1}OOOOOOOO: :OOOOOOOO${c2}II${c1}OOI IOOOOOOOOOOII IIOOOOOOOOOOI EOF ;; "Obarun"*) set_colors 6 6 7 1 read -rd '' ascii_data <<'EOF' ${c1} ,;::::; ;cooolc;, ,coool; ,loool, loooo; :ooool cooooc ,:ccc; looooc :oooooool cooooo ;oooooooooo, :ooooo; :ooooooooooo oooooo oooooooooooc :oooooo :ooooooooool loooooo ;oooooooool looooooc .coooooooc cooooooo: ,;co; ,ooooooool; ,:loc cooooooooooooloooooc ;ooooooooooooool; ;looooooolc; EOF ;; *"wii-linux-ngx"*|*"whiite-linux"*|\ *"gc-linux"*) set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1}''''''' `~;:` -'''''' ~kQ@@g\ ,EQ@@g/ h@@@@@@' o@@@@@9` `@@@@@@D `@@@@@@@= @@@@@@@? '@@@@@@X o@@@@@@@D v@@@@@@: R@@@@@@, D@@@@@@_ t@@@@@@' _@@@@@@@@@; `Q@@@@@U ;fmo/- ;fmo/- `Q@@@@@m d@@@@@@@@@N 7@@@@@@' L@@@@@@' :@@@@@&@@@@@| `Q@@@@@Z :]]]]]v :]]]]]v Q@@@@@X R@@@@Q`g@@@@Q f@@@@@Q- z@@@@@Q v@@@@@Q r@@@@@@~ ;@@@@@/ ;@@@@@L `@@@@@@/ z@@@@@Q v@@@@@Q d@@@@@q M@@@@# H@@@@Q ]@@@@@Q z@@@@@Q v@@@@@Q ,@@@@@@, >@@@@@; _@@@@@c `@@@@@@> z@@@@@Q v@@@@@Q X@@@@@U Q@@@@R Z@@@@Q`{@@@@@N z@@@@@Q v@@@@@Q .@@@@@@S@@@@@: -@@@@@e@@@@@@: z@@@@@Q v@@@@@Q {@@@@@@@@@@U t@@@@@@@@@@e z@@@@@Q v@@@@@Q `Q@@@@@@@@@' `Q@@@@@@@@@- z@@@@@Q v@@@@@Q :@@@@@@@@| ;@@@@@@@@= z@@@@@Q v@@@@@Q '2#@@Q6: ,eQ@@QZ~ /QQQQQg \QQQQQN EOF ;; *"[Windows 11]"*|*"on Windows 11"*|\ "Windows 11"* |"windows11") set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ ################ EOF ;; *"[Windows 10]"*|*"on Windows 10"*|"Windows 8"*|\ "Windows 10"* |"windows10"|"windows8") set_colors 6 7 read -rd '' ascii_data <<'EOF' ${c1} .., ....,,:;+ccllll ...,,+:; cllllllllllllllllll ,cclllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll llllllllllllll lllllllllllllllllll `'ccllllllllll lllllllllllllllllll `' \\*:: :ccllllllllllllllll ````''*::cll `` EOF ;; "Windows95") set_colors 6 4 3 2 1 0 read -rd '' ascii_data <<'EOF' ${c6} ___ .--=+++++=-:. . _ *%@@@@@@@@@@@@@@* *:+:.__ :+* @@@ @"${c5}_*&%${c6}@@${c4}%&&&*${c6}"@@@ "+.-#+ +%* " _ ${c5}++&&&%${c6}@@${c4}%&&&&&#${c6}@@ ${c5} " , ${c6}%@@ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ ${c5} * oo *# ${c6}" _ ${c5}&&&&&%${c6}@@${c4}%&&&&&#${c6}@@ ${c5} " , ${c6}%@@ ${c5}&&&&"${c6}@@@@#*${c4}"&&&${c6}@@ .${c5} * oo *# ${c6}" _ %@@@@@@@@@@@@@@@@ *:+:.__ :=* %@@ @"${c1}**&%${c6}@@${c3}%&&&*${c6}"@@@ "+.-#+ +%* " _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ ${c1} " , ${c6}%@@ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ ${c1} * oo *# ${c6}" _ ${c1}&&&&&%${c6}@@${c3}%&&&&&#${c6}@@ ${c1} " , ${c6}%@@ ${c1}&&*"${c6}%@@@@@@${c3}"*%&${c6}@@ .${c1} * oo *# ${c6}" _ @@@@@@@@@@@@@@@@@ *:+:.__ :+# @@@ @%#=+""""""+==%#@ "+.-#+ +%* %+" " ":@ " " EOF ;; "Windows"*) set_colors 1 2 4 3 read -rd '' ascii_data <<'EOF' ${c1} ,.=:!!t3Z3z., :tt:::tt333EE3 ${c1} Et:::ztt33EEEL${c2} @Ee., .., ${c1} ;tt:::tt333EE7${c2} ;EEEEEEttttt33# ${c1} :Et:::zt333EEQ.${c2} $EEEEEttttt33QL ${c1} it::::tt333EEF${c2} @EEEEEEttttt33F ${c1} ;3=*^```"*4EEV${c2} :EEEEEEttttt33@. ${c3} ,.=::::!t=., ${c1}`${c2} @EEEEEEtttz33QF ${c3} ;::::::::zt33)${c2} "4EEEtttji3P* ${c3} :t::::::::tt33.${c4}:Z3z..${c2} ``${c4} ,..g. ${c3} i::::::::zt33F${c4} AEEEtttt::::ztF ${c3} ;:::::::::t33V${c4} ;EEEttttt::::t3 ${c3} E::::::::zt33L${c4} @EEEtttt::::z3F ${c3}{3=*^```"*4E3)${c4} ;EEEtttt:::::tZ` ${c3} `${c4} :EEEEtttt::::z7 "VEzjt:;;z>*` EOF ;; "Xray_OS"*) set_colors 15 14 16 24 read -rd '' ascii_data <<'EOF' ${c1} ${c1}rrrrrraaaaaaaaaaaayyyy ${c1}xxrrrrrrrraaaaaaaaaaaayyyyyyyyy ${c1}xxxxxrrrrrrrraaaaaaaaaaaayyyyyyy${c3}yyyyy${c2}yyyyyyyyyy ${c1}xxxxxxxrrrrrrrraaaaa ${c2}aaaaayyyyyyyyyyyyyyyyyyy ${c1}xxxxxx${c3}xxx${c1}rrrrrrrraaaa ${c2}aaaaaaayyyyyyyyyyyyyyyyy ${c1}xxxxxx${c3}xxxxxr${c1}rrrrrrraa ${c2}aaaaaaaaay${c3}yyyyyyyyy${c2}yyyy ${c1}yy ${c1}xxxxxxx${c3}xxx${c1}xxrrrrrrrra ${c2}aaaaaaaaa${c3}ayyyyyyyyyyyy${c1}yyyyyy ${c1}xxxxxxxxxxxxrrrrrrrr ${c2}aaaaaaaaaaa${c3}yyyyyyyyyyyy${c1}yyyyyyy ${c1}xxxxxxxxxxxxxrrrrrr ${c2}raaaaaaaaaaaayyy${c3}yyyyyyyy${c1}yyyyyy${c1}yyy ${c1}xxxxxxxxxxxxxrrrrr ${c2}rraaaaaaaaaaaayyyyy${c3}yy${c2}yyyyyy ${c1}yyyyyy ${c1}xxxxxxxx${c3}xxxx${c1}xrrrrr${c2}rr${c3}raaaaaaa${c2}aaaaayyyyyyyyyy ${c1}yyyyyyyyy ${c1}xxxxxxx${c3}xxxx${c1}xxrrrrrrr${c3}raaaaaa${c2}aaaaaayyyyyyy ${c1}yyyyyyyyyyyy ${c1}xxxxxxx${c3}xxx${c1}xxxrrrrrrrr${c3}aaaaaa${c2}aaaaaayyyy ${c1}yyyyyyyyyyyyyy ${c1}xxxxxxxxxxxxrrrrrrrra ${c2}aaaaaaaaaay ${c1}yyyyyyyyyyyyyyyy ${c1}xxxxxxxxxxxrrrrrrr ${c2}aaaaaaaaaaaayyyy${c1}yyyyyyyyyyyyy ${c1}xxxxxxx${c3}xxxrr${c1}rrrr ${c2}raaaaaaaaaaaa ${c1}yyyyyyyyyyyyyyy ${c1}xxxxxxxxrrrr ${c2}rrraaaaaaaaa ${c1}aayyyyyyyyyyyyyy ${c1}xxxxxxrrrrrrr ${c2}aaaaaa ${c1}aaaayyyyyyyyyyyy ${c1}xxxrrrrrr ${c2}raaa ${c1}aaaaaaayyyyyyyyy ${c1}rrrr ${c2}rr ${c1}aaaaaaaaaayyyyyy ${c2}r ${c1}aaaaaaaaaa EOF ;; "Xubuntu"*) set_colors 4 7 1 read -rd '' ascii_data <<'EOF' ${c1} `.:/ossyyyysso/:. `.yyyyyyyyyyyyyyyyyyyy.` `yyyyyyyyyyyyyyyyyyyyyyyyyy` `yyyyyyyyyyyyyyyyyyyy${c2}::${c1}yyyyyyyy` .yyyyyyyyyyy${c2}/+:${c1}yyyyyyy${c2}ds${c1}yyy${c2}+y${c1}yyyy. yyyyyyy${c2}:o/${c1}yy${c2}dMMM+${c1}yyyyy${c2}/M+${c1}y${c2}:hM+${c1}yyyyyy yyyyyyy${c2}+MMMy${c1}y${c2}mMMMh${c1}yyyyy${c2}yM::mM+${c1}yyyyyyyy `yyyyyyy${c2}+MMMMysMMMd${c1}yyyyy${c2}dh:mN+${c1}yyyyyyyyy` yyyyyyyy${c2}:NMMMMmMMMMmmdhyy+/y:${c1}yyyyyyyyyyy yyyyyyyy${c2}+MMMMMMMMMMMMMMMMMMNho:${c1}yyyyyyyyy yyyyyyyy${c2}mMMMMMMMMMMMMMMMMMMMMMMy${c1}yyyyyyyy yyyyyyy${c2}+MMMMMMMMMMMMMMMMMMMMMMMM/${c1}yyyyyyy `yyyyyy${c2}sMMMMMMMMMMMMMMMMMMMMMMmo${c1}yyyyyyy` yyyyyy${c2}oMMMMMMMMMMMMMMMMMMMmy+${c1}yyyyyyyyy yyyyy${c2}:mMMMMMMMMMMMMMMNho/${c1}yyyyyyyyyyy .yyyy${c2}:yNMMMMMMMNdyo:${c1}yyyyyyyyyyyyy. `yyyyyy${c2}:/++/::${c1}yyyyyyyyyyyyyyyyy` `yyyyyyyyyyyyyyyyyyyyyyyyyy` `.yyyyyyyyyyyyyyyyyyyy.` `.:/oosyyyysso/:.` EOF ;; "Soda"*) set_colors 1 7 read -rd '' ascii_data <<'EOF' ${c2} @&&&&${c1} *'*, ${c2}@@@@@@@&&&${c1} ** '*, ${c2}@@@@@@@@@@@&&&& @&@@@@@@@@@@@@@@@&&& ${c1}******${c2}@@@@@@@@@@@@@@@&&&& ${c1}************${c2}@@@@@@@@@@@@@@ ${c1}*****************${c2}@@@@@@@@@ ${c1}**********************${c2}@@@ @@@@@${c1}******************** ${c2}@@@@@@@@@${c1}*************** ${c2}@@@@@@@@@@@@@@@${c1}********* ${c2}@@@@@@@@@@@@@@@@@@${c1}**** ${c2}@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@ @@@@@@@ EOF ;; "KrassOS"* | "Krass"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} ${c2}**@@@@@@@@@@@* ${c2},@@@@%${c1}(((((((((((((${c2}%@@@@, ${c2}#@@&${c1}(((((((((((((((((((((((${c2}&@@% ${c2}@@&${c1}(((((((((((((((((((((((((((((${c2}@@@ ${c2}@@&${c1}(((((((((((((((((((((((((((((((((${c2}&@@ ${c2}.@@${c1}(((((((((((((((((((((((((((((((((((((${c2}@@. ${c2}@@${c1}(((((((((((((((((((((((((((((((((((((((${c2}@@ ${c2}@@#${c1}(((((((((((((((((((((((((((((${c2}%@@@@@@@#${c1}(#${c2}@@ ${c2}.@@${c1}((((((((((((((((${c2}#%@@@@@@@@@&%#${c1}((((${c2}%@&${c1}((((${c2}@@. ${c2}.@@${c1}(((((((/(${c2}&@@@@@@%${c1}(/((((((((((((((${c2}@@/${c1}(((((${c2}@@. ${c2}.@@${c1}(///////////////////////////////${c2}@${c1}(///////${c2}@@ ${c2}%@#${c1}/////////////////////////////(${c2}#${c1}////////${c2}%@% ${c2} @@${c1}(///////////////////////////${c2}%${c1}/////////(${c2}@@ ${c2}@@#${c1}***********************************${c2}%@@ ${c2}*@@${c1}********************************${c2}/@@/ ${c2},@@#${c1}***************************${c2}%@@* ${c2}@@@&${c1}********************${c2}/@@@@ ${c2}&@@@@&${c1}(//***//(${c2}&@@@@& ${c1} ${c2}**@@@@@@@@@@@* EOF ;; "IRIX"*) set_colors 4 7 read -rd '' ascii_data <<'EOF' ${c1} ./ohmNd/ +dNmho/- `:+ydNMMMMMMMM.-MMMMMMMMMdyo:. `hMMMMMMNhs/sMMM-:MMM+/shNMMMMMMh` -NMMMMMmo-` /MMM-/MMM- `-omMMMMMN. `.`-+hNMMMMMNhyMMM-/MMMshmMMMMMmy+...` +mMNds:-:sdNMMMMMMMyyMMMMMMMNdo:.:sdMMm+ dMMMMMMmy+.-/ymNMMMMMMMMNmy/-.+hmMMMMMMd oMMMMmMMMMNds:.+MMMmmMMN/.-odNMMMMmMMMM+ .MMMM-/ymMMMMMmNMMy..hMMNmMMMMMmy/-MMMM. hMMM/ `/dMMMMMMMN////NMMMMMMMd/. /MMMh /MMMdhmMMMmyyMMMMMMMMMMMMhymMMMmhdMMM: `mMMMMNho//sdMMMMM//NMMMMms//ohNMMMMd `/so/:+ymMMMNMMMM` mMMMMMMMmh+::+o/` `yNMMNho-yMMMM` NMMMm.+hNMMNh` -MMMMd: oMMMM. NMMMh :hMMMM- -yNMMMmooMMMM- NMMMyomMMMNy- .omMMMMMMMM-`NMMMMMMMmo. `:hMMMMMM. NMMMMMh/` .odNm+ /dNms. EOF ;; "Xenia2"*) set_colors '#55CDFD' '#F6AAB7' '#FFFFFF' read -rd '' ascii_data <<'EOF' ${c2} ,c. .c; ${c2} .${c1}KMMMk${c2}.... ....${c1}kMMMK${c2}. ${c2} .${c1}WMMMMMX${c2}..... .....${c1}KMMMMMW. ${c1} XMMMMMMM0${c2}..... ....${c1}OMMMMMMMN ${c1} dMMMMMMMMM;${c2}.... ..... ....,${c1}MMMMMMMMMd ${c1} WMMMMMMMMMl;${c3}okKKKKKKKKKOo${c1};cMMMMMMMMMM ${c1} 'MMMMMMMNX${c2}K0${c3}KKKKKKKKKKKKKKK${c2}0K${c1}XNMMMMMMM; ${c1} oMMMMMMM${c2}Oxo${c3}KKKKKKKKKKKKKKKKK${c2}oxO${c1}MMMMMMMd ${c1} dMMMMMMM${c2}dxxx${c3}KKKKKKKKKKKKKKK${c2}xxxd${c1}NMMMMMMk ${c1} :MMMMX0${c2}xxxxxx${c3}0KKKKKKKK0KK0${c2}xxxxxx0${c1}XMMMMc ${c1} MMMO${c2}xxxxxxxxdx${c3}kdd${c2}0x0${c3}ddk${c2}xdxxxxxxxx${c1}OMMM ${c1} ;${c2}xxkxddxxxxdodxxxxdxdxxxxdodxxxxddxkxx${c1}; ${c1}dxd${c2}KMMMWXo${c1}'.....'${c2}cdxxxdc${c1}'.....'${c2}lXWMMMX${c1}dxd ${c1}cxd${c2}XMMMN${c1},..........${c2}dxd${c1}'.........'${c2}XMMMN${c1}dxl ${c1} .xx${c2}WMMl${c1}...''....'.;k:.'....''...${c2}lMMW${c1}xx. ${c1}..:kXMMx..'....''..kMk..''....'..xMMXkc.. ${c1} dMMMMMMd.....'...xMMMx...''....dMMMMMMx ${c1} kMMMMWOoc:coOkolllokOoc:coOWMMMMO ${c1} .MMMMMMMMl${c2}...${c1}lNMMMMMMM. ${c1} KMMMMMMX${c2}l${c1}KMMMMMMX ${c1} .MMMMMMMMM. EOF ;; "Xenia"*) set_colors '#55CDFD' '#F6AAB7' '#FFFFFF' read -rd '' ascii_data <<'EOF' ${c3} !${c3}`${c3} @ ${c3} @${c3}```${c3}b @@@@@ ${c3} @${c3}`````${c3}@ @/${c3}@@@@ ${c3} @@${c3}``'))))))))))C@@ ${c3} @@@){)))))()))))))) ${c3} @r))))@${c1}oooo${c3})))))h)))[ ${c3} rr)))j${c1}oooooo${c3}(x${c1}ooooo${c3}$@) ${c3} rrrxr))r/l;${c1},,,${c3}z@{${c1},,,,,${c3}@@ ${c3} rr ) ${c2}v${c3} @;@rx ${c3} rrr) ${c2}\\__^__/${c3} ji ${c3} rj]. . r ${c3}[[${c2}]]${c1}11111111111111111] ${c2}]${c3}[[[${c2}]]][${c1}11111111111111111< ${c2}]${c3}[[[[[${c2}]]]]]]]]]]]]]]${c1}-111111[ ${c2}]-${c3}[[[[[[;${c2}]]]]]]]]]]]]]]]]${c1} 1 ${c2}]]${c3}[[[[[[[[[[[${c2}]]]]]]]]]]]]] ${c1}1${c2}]][${c3}[[[[[[[[[[[[[${c2}<]]]]]]]]] ${c1}11${c2}]]]${c3}[[[[[[[[[[[[[[[${c2}]]]]]]] ${c1}111${c2}]]]]'${c3}[[[[[[[[[[[[[[${c2}]]]] ${c1}111-${c2}]]]]]${c3}[[[[[[[[[[[[[${c2}]] ${c1}11111${c2}]]]]]_${c3}[[[[[[[[[[${c2}] ${c1}11111${c2}]]]i${c3}[[[[[[[[ ${c1}1111${c2}]]+${c3}[[[[[[^ ${c1}11 ${c2}]]${c3}[[[[[[ ${c1}11 +${c2}]${c3}[[[[ ${c1}1 ${c2}]${c3}[[ ` EOF ;; "Zorin"*) set_colors 4 6 read -rd '' ascii_data <<'EOF' ${c1} `osssssssssssssssssssso` .osssssssssssssssssssssso. .+oooooooooooooooooooooooo+. `::::::::::::::::::::::. .:` `+ssssssssssssssssss+:.` `.:+ssso` .ossssssssssssssso/. `-+ossssssso. ssssssssssssso/-` `-/osssssssssssss .ossssssso/-` .-/ossssssssssssssso. `+sss+:. `.:+ssssssssssssssssss+` `:. .::::::::::::::::::::::` .+oooooooooooooooooooooooo+. -osssssssssssssssssssssso- `osssssssssssssssssssso` EOF ;; *) case $kernel_name in *"BSD") set_colors 1 7 4 3 6 read -rd '' ascii_data <<'EOF' ${c1} , , /( )` \ \___ / | /- _ `-/ ' (${c2}/\/ \ ${c1}\ /\ ${c2}/ / | ` ${c1}\ ${c3}O O ${c2}) ${c1}/ | ${c2}`-^--'${c1}`< ' (_.) _ ) / `.___/` / `-----' / ${c4}<----. __ / __ \ ${c4}<----|====${c1}O)))${c4}==${c1}) \) /${c4}====| <----' ${c1}`--' `.__,' \ | | \ / /\ ${c5}______${c1}( (_ / \______/ ${c5},' ,-----' | `--{__________) EOF ;; "Darwin") set_colors 2 3 1 1 5 4 read -rd '' ascii_data <<'EOF' ${c1} c.' ,xNMM. .OMMMMo lMMM" .;loddo:. .olloddol;. cKMMMMMMMMMMNWMMMMMMMMMM0: ${c2} .KMMMMMMMMMMMMMMMMMMMMMMMWd. XMMMMMMMMMMMMMMMMMMMMMMMX. ${c3};MMMMMMMMMMMMMMMMMMMMMMMM: :MMMMMMMMMMMMMMMMMMMMMMMM: ${c4}.MMMMMMMMMMMMMMMMMMMMMMMMX. kMMMMMMMMMMMMMMMMMMMMMMMMWd. ${c5}'XMMMMMMMMMMMMMMMMMMMMMMMMMMk 'XMMMMMMMMMMMMMMMMMMMMMMMMK. ${c6}kMMMMMMMMMMMMMMMMMMMMMMd ;KMMMMMMMWXXWMMMMMMMk. "cooc*" "*coo'" EOF ;; "GNU"*) set_colors fg 7 read -rd '' ascii_data <<'EOF' ${c1} _-`````-, ,- '- . .' .- - | | - -. `. /.' / `. \ :/ : _... ..._ `` : :: : /._ .`:'_.._\. || : :: `._ ./ ,` : \ . _.'' . `:. / | -. \-. \\_ / \:._ _/ .' .@) \@) ` `\ ,.' _/,--' .- .\,-.`--`. ,'/'' (( \ ` ) /'/' \ `-' ( '/'' `._,-----' ''/' .,---' ''/' ;: ''/'' ''/ ''/''/'' '/'/' `; EOF ;; "Linux") set_colors fg 8 3 read -rd '' ascii_data <<'EOF' ${c2} ##### ${c2} ####### ${c2} ##${c1}O${c2}#${c1}O${c2}## ${c2} #${c3}#####${c2}# ${c2} ##${c1}##${c3}###${c1}##${c2}## ${c2} #${c1}##########${c2}## ${c2} #${c1}############${c2}## ${c2} #${c1}############${c2}### ${c3} ##${c2}#${c1}###########${c2}##${c3}# ${c3}######${c2}#${c1}#######${c2}#${c3}###### ${c3}#######${c2}#${c1}#####${c2}#${c3}####### ${c3} #####${c2}#######${c3}##### EOF ;; "Profelis SambaBOX"* | "SambaBOX"*) set_colors 3 6 read -rd '' ascii_data <<'EOF' ${c1} # *////##### /////////#########( .((((((///// ,####(#((((( /#######(((* (#(((((((((. //((#(#(#, ((##( ,((((((// ////// #(##########( ////// ////// ((#(#(#(#(##########(///////// /////( (((((((#########(##((((((///// /(((#( ((((/ ####(# ((### #########(((/////////(((((((((, (#(#( ########( /////////(((((((* ##### ####///, *////((( ((((((( ./////////// .//((((((((( ///////////, *(/////((((* ,/(((((((((##########/. .((((((####### ((##* EOF ;; "SunOS") set_colors 3 7 read -rd '' ascii_data <<'EOF' ${c1} `- ` `-- `+- .: .+: `++: -/+- . `.::` -++/``:::`./+/ `.-/. `++/-`.` ` /++:` `` ./:` .: `..`.- ``./+/:- -+++:- -/+` :. EOF ;; esac ;; esac # Overwrite distro colors if '$ascii_colors' doesn't # equal 'distro'. [[ ${ascii_colors[0]} != distro ]] && { color_text=off set_colors "${ascii_colors[@]}" } } main() { cache_uname get_os get_cache_dir # Load default config. eval "$config" get_args "$@" [[ $verbose != on ]] && exec 2>/dev/null get_simple "$@" get_distro get_bold get_distro_ascii # check if the output is a interactive terminal [[ $stdout == auto ]] && { [[ -t 1 ]] && stdout=off || stdout=on } [[ $stdout == on ]] && stdout # Minix doesn't support these sequences. [[ $TERM != minix && $stdout != on ]] && { # If the script exits for any reason, unhide the cursor. trap 'printf "\e[?25h\e[?7h"' EXIT # Hide the cursor and disable line wrap. printf '\e[?25l\e[?7l' } image_backend old_functions print_info dynamic_prompt # w3m-img: Draw the image a second time to fix # rendering issues in specific terminal emulators. [[ $image_backend == *w3m* ]] && display_image [[ $image_backend == *ueberzug* ]] && display_image # Add neofetch info to verbose output. err "Neofetch command: $0 $*" err "Neofetch version: $version" [[ $verbose == on ]] && printf '%b\033[m' "$err" >&2 # If `--loop` was used, constantly redraw the image. while [[ $image_loop == on && $image_backend == w3m ]]; do display_image sleep 1 done return 0 } get_ascii_distro_name() { get_distro echo "$ascii_distro" } get_print_ascii() { cache_uname get_os get_distro get_bold get_distro_ascii echo "$ascii_data" } main "$@" hyfetch-1.4.11/package.json000066400000000000000000000010721453247431100155220ustar00rootroot00000000000000{ "name": "neowofetch", "version": "1.4.11", "description": "Updated neofetch", "repository": { "type": "git", "url": "git+https://github.com/hykilpikonna/neofetch.git" }, "bin": { "neowofetch": "neofetch" }, "keywords": [ "neofetch", "screenfetch" ], "author": "dylanaraps", "contributors": [ "Azalea Gui (https://github.com/hykilpikonna)" ], "license": "MIT", "bugs": { "url": "https://github.com/hykilpikonna/neofetch/issues" }, "homepage": "https://github.com/hykilpikonna/neofetch#readme" }hyfetch-1.4.11/setup.py000077500000000000000000000031501453247431100147500ustar00rootroot00000000000000#!/usr/bin/env python3 from pathlib import Path from setuptools import setup, find_namespace_packages # The directory containing this file HERE = Path(__file__).parent # Load version without importing it (see issue #192 if you are confused) for l in (HERE / 'hyfetch' / '__version__.py').read_text().strip().splitlines(): exec(l) # The text of the README file README = (HERE / "README.md").read_text('utf-8') # This call to setup() does all the work setup( name="HyFetch", version=VERSION, description="neofetch with flags <3", long_description=README, long_description_content_type="text/markdown", url="https://github.com/hykilpikonna/HyFetch", author="Azalea Gui", author_email="me@hydev.org", license="MIT", classifiers=[ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", ], packages=find_namespace_packages(), package_data={'hyfetch': ['hyfetch/*']}, include_package_data=True, install_requires=[ # Universal dependencies 'setuptools', 'typing_extensions', # Windows dependencies 'psutil ; platform_system=="Windows"', 'colorama>=0.4.6 ; platform_system=="Windows"', ], entry_points={ "console_scripts": [ "hyfetch=hyfetch.main:run", ] }, scripts=['hyfetch/scripts/neowofetch'] ) hyfetch-1.4.11/tools/000077500000000000000000000000001453247431100143745ustar00rootroot00000000000000hyfetch-1.4.11/tools/accept_upstream.py000077500000000000000000000067511453247431100201410ustar00rootroot00000000000000#!/usr/bin/env python3 import argparse import json import os import shlex from subprocess import check_output import pyperclip import requests from github import Github upstream = 'dylanaraps/neofetch' my_fork = 'hykilpikonna/hyfetch' my_base = 'master' http = requests.Session() if 'GH_TOKEN' in os.environ: print('Token loaded') http.headers['Authorization'] = f'token {os.environ["GH_TOKEN"]}' def copy_comment(): # Get commit SHA sha = check_output(shlex.split('git rev-parse --short HEAD')).decode().strip() # Copy comment to clipboard comment = f""" Thank you for your contribution! This PR is [merged into hyfetch](https://github.com/hykilpikonna/hyfetch/commit/{sha}) since this repo (dylanaraps/neofetch) seems no longer maintained. [HyFetch](https://github.com/hykilpikonna/hyfetch) is a fork of neofetch with LGBTQ pride flags, but the repo also maintains an updated version of the original neofetch, addressing many pull requests that are not merged in the original repo. Read the ["Running Updated Original Neofetch" section](https://github.com/hykilpikonna/hyfetch#running-updated-original-neofetch) for more info! """ pyperclip.copy(comment.strip()) print() print('Done!') print('Comment response copied to clipboard.') if __name__ == '__main__': parser = argparse.ArgumentParser(description='Helper for accepting upstream pull requests') parser.add_argument('pull', type=int, help='Pull request number') args = parser.parse_args() pr = args.pull print(f'Accepting pull request {pr}...') # Fetch original pr's information info = http.get(f'https://api.github.com/repos/{upstream}/pulls/{pr}').json() user = info['user']['login'] # Fetch commit information commits = http.get(f'https://api.github.com/repos/{upstream}/pulls/{pr}/commits').json() override_author = os.environ.get("override_author") author = json.loads(override_author) if override_author else commits[-1]['commit']['author'] # Create commit message title = info["title"].replace('"', '\\"') msg = (f'-m "[PR] {upstream}#{pr} from {user} - {title}" ' f'-m "Upstream PR: https://github.com/{upstream}/pull/{pr} \n' f'Thanks to @{user}\n\n' f'Co-authored-by: {author["name"]} <{author["email"]}>"') # head could be null, if the pr repo is deleted if info['head'] is None or info['head']['repo'] is None: print(f'Original repo is deleted. Please manually merge.') input('Press any key to continue when the changes are made...') # Commit with merge print() print('Committing merge...') os.system(f'git commit -a {msg}') # Automatically merge else: head = info['head']['repo']['full_name'] head_br = info['head']['ref'] head_lbl = info['head']['label'] print() print('Original Pull Request Info:') print('> State:', info['state']) print('> Title:', info['title']) print('> User:', user) print('> Created:', info['created_at']) print('> Head:', head, head_br, head_lbl) # Fetch head branch print() print('Fetching head branch...') os.system(f'git fetch https://github.com/{head} {head_br}') # Merge head branch print() print('Merging fetch_head...') os.system(f'git merge FETCH_HEAD --no-ff --no-edit {msg}') # Push print() assert input('Push? [Enter/N]') == "" os.system('git push') copy_comment() hyfetch-1.4.11/tools/blacklist_users.csv000066400000000000000000000000351453247431100203000ustar00rootroot00000000000000Symbolic11 GentlemanMC dr03m hyfetch-1.4.11/tools/colors_test.py000077500000000000000000000020121453247431100173040ustar00rootroot00000000000000from hyfetch.color_scale import test_color_scale from hyfetch.color_util import RGB, printc from hyfetch.neofetch_util import get_command_path from hyfetch.presets import PRESETS def print_colors_test(colors: list[RGB]): print(''.join(f'{c.to_ansi_rgb()}#' for c in colors)) def test_preset_length(): p = PRESETS.get('transgender') print_colors_test(p.with_length(9)) print_colors_test(p.with_length(6)) p = PRESETS.get('nonbinary') print_colors_test(p.with_length(7)) print_colors_test(p.with_length(6)) def test_command_path(): print(get_command_path()) def test_rgb_8bit_conversion(): for r in range(0, 255, 16): for g in range(0, 255, 16): print(RGB(r, g, 0).to_ansi_rgb(False), end=' ') printc('&*') print() for r in range(0, 255, 16): for g in range(0, 255, 16): print(RGB(r, g, 0).to_ansi_8bit(False), end=' ') printc('&*') print() if __name__ == '__main__': test_rgb_8bit_conversion() test_color_scale() hyfetch-1.4.11/tools/deploy-release.py000077500000000000000000000122601453247431100176640ustar00rootroot00000000000000#!/usr/bin/env python3 import argparse import json import os import re import shlex import stat import subprocess from pathlib import Path from packaging import version as pv from tools.list_distros import generate_help, export_distros from tools.reformat_readme import reformat_readme NEOFETCH_NEW_VERSION = "" def pre_check(): """ Check source code status before releasing. """ assert os.path.isfile('./neofetch'), './neofetch doesn\'t exist, you are running this script in the wrong directory' assert os.stat('./neofetch').st_mode & stat.S_IEXEC, 'neofetch is not executable' assert os.path.islink('./hyfetch/scripts/neowofetch'), 'neowofetch is not a symbolic link' # subprocess.check_call(shlex.split('git diff-index --quiet HEAD --')) # 'Please commit all changes before release' print('Running shellcheck... (This may take a while)') subprocess.check_call(shlex.split('shellcheck neofetch')) def edit_versions(version: str): """ Edit version numbers in hyfetch/constants.py, package.json, and README.md Also edits version number of neofetch, but the neofetch version number is separate. :param version: Version to release """ # 1. package.json print('Editing package.json...') path = Path('package.json') content = json.loads(path.read_text()) cur = pv.parse(content['version']) assert cur < pv.parse(version), 'Version did not increase' content['version'] = version path.write_text(json.dumps(content, ensure_ascii=False, indent=2)) # 2. hyfetch/constants.py print('Editing hyfetch/__version__.py...') path = Path('hyfetch/__version__.py') content = [f"VERSION = '{version}'" if l.startswith('VERSION = ') else l for l in path.read_text().split('\n')] path.write_text('\n'.join(content)) # 3. README.md print('Editing README.md...') path = Path('README.md') content = path.read_text() changelog_token = '' changelog_i = content.index(changelog_token) + len(changelog_token) content = content[:changelog_i] + f'\n\n### {version}' + content[changelog_i:] path.write_text(content) # 4. neofetch script print('Editing neofetch...') path = Path('neofetch') lines = path.read_text().replace("\t", " ").split('\n') version_i = next(i for i, l in enumerate(lines) if l.startswith('version=')) nf = pv.parse(lines[version_i].replace('version=', '')) new = pv.parse(version) nf = f'{nf.major + new.major - cur.major}.{nf.minor + new.minor - cur.minor}.{nf.micro + new.micro - cur.micro}' lines[version_i] = f"version={nf}" path.write_text('\n'.join(lines)) global NEOFETCH_NEW_VERSION NEOFETCH_NEW_VERSION = nf def finalize_neofetch(): """ Finalize current version """ # 1. Update distro list print('Updating distro list in neofetch...') path = Path('neofetch') content = path.read_text() content = re.compile(r'(?<=# Flag: --ascii_distro\n#\n).*?(?=ascii_distro=)', re.DOTALL)\ .sub(generate_help(100, '# ') + '\n', content) content = re.compile(r"""(?<=Which Distro's ascii art to print\n\n).*?{distro}_small to use them\.""", re.DOTALL)\ .sub(generate_help(100, ' ' * 32), content) path.write_text(content) # 2. Regenerate man page print('Regenerating neofetch man page...') Path('docs/neofetch.1').write_text(subprocess.check_output(['help2man', './neofetch']).decode()) Path('docs/hyfetch.1').write_text(subprocess.check_output(['help2man', 'python3 -m hyfetch']).decode()) # 3. Reformat readme links print('Reformatting readme links...') reformat_readme() def post_check(): """ Check after changes are made """ print('Running shellcheck... (This may take a while)') subprocess.check_call(shlex.split('shellcheck neofetch')) def create_release(v: str): """ Create release commit and tag """ print('Committing changes...') # 1. Add files subprocess.check_call(['git', 'add', '.']) # 2. Commit subprocess.check_call(['git', 'commit', '-m', f'[U] Release {v}']) # 3. Create tag subprocess.check_call(['git', 'tag', v]) subprocess.check_call(['git', 'tag', f'neofetch-{NEOFETCH_NEW_VERSION}']) i = input('Please check the commit is correct. Press y to continue or any other key to cancel.') assert i == 'y' # 4. Push print('Pushing commits...') subprocess.check_call(['git', 'push']) subprocess.check_call(['git', 'push', 'origin', v, f'neofetch-{NEOFETCH_NEW_VERSION}']) def deploy(): """ Deploy release to pip and npm """ print('Deploying to pypi...') subprocess.check_call(['bash', 'tools/deploy.sh']) print('Done!') print('Deploying to npm...') otp = input('Please provide 2FA OTP for NPM: ') subprocess.check_call(['npm', 'publish', '--otp', otp]) print('Done!') if __name__ == '__main__': parser = argparse.ArgumentParser(description='HyFetch Release Utility') parser.add_argument('version', help='Version to release') args = parser.parse_args() pre_check() export_distros() edit_versions(args.version) finalize_neofetch() post_check() create_release(args.version) deploy() hyfetch-1.4.11/tools/deploy.md000066400000000000000000000011611453247431100162110ustar00rootroot00000000000000### Things to do before deploying... * [x] Check file permissions (+x) * [x] Check Shellcheck (should be automatic) * [x] Update version numbers (`README.md`, `package.json`, `hyfetch/constants.py`, `neofetch`) * [x] Update distro list in neofetch help (`tools/list_distros.py`) * [x] Regenerate man page (`help2man ./neofetch > neofetch.1`) * [ ] Create an RC release and deploy to pypi, try installing and testing on many distros. * [ ] Change back to stable release, create tag, create GitHub release * [x] Formally deploy to pypi and npm (`tools/deploy.sh`, `npm publish`) * [ ] Update ArchLinux AUR and NixOS packaging hyfetch-1.4.11/tools/deploy.sh000077500000000000000000000003161453247431100162270ustar00rootroot00000000000000#!/usr/bin/env bash # Stop on error set -e # Remove old build rm -rf dist/* rm -rf build/* # Build python setup.py sdist bdist_wheel # Check built files twine check dist/* # Upload twine upload dist/* hyfetch-1.4.11/tools/extract_color.py000066400000000000000000000015151453247431100176200ustar00rootroot00000000000000import re, json distro_color = {} def color(colornum): # see neofetch color() reset = "\e[0m" ascii_bold = "\e[1m" if colornum == "fg" or colornum == "7": return f"\e[37m{reset}" if colornum == "#": pass # TODO if int(colornum) >= 0 and int(colornum) < 7: return f"{reset}\e[3{colornum}m" return f"\e38;5;{colornum}m" with open("neofetch") as f: s = f.read() l = iter(s.split("\n")) for i in l: p = re.search(r'"\D+"\*\)', i) if p is None: continue distros = re.sub(r"\"|\)|\*", "", i.strip(" ")).split("|") c = next(l).strip(" ") if "set_colors" not in c: continue colors = c.split(" ")[1:] for dist in distros: distro_color[dist.strip(" ").rstrip(" ")] = colors with open("distcolor.json", "w") as f: json.dump(distro_color, f) hyfetch-1.4.11/tools/gen-autocomplete.sh000077500000000000000000000004551453247431100202070ustar00rootroot00000000000000#!/usr/bin/env bash # Echo all commands set -x shtab --shell=bash -u hyfetch.main.create_parser > hyfetch/scripts/autocomplete.bash shtab --shell=zsh -u hyfetch.main.create_parser > hyfetch/scripts/autocomplete.zsh shtab --shell=tcsh -u hyfetch.main.create_parser > hyfetch/scripts/autocomplete.csh hyfetch-1.4.11/tools/gh_moderator.example.toml000066400000000000000000000004321453247431100213740ustar00rootroot00000000000000# Secret of Github Webhook to verify the request is from Github webhook_secret = "secret" # Github token and repo to regulate gh_token = "token" gh_repo = "owner/repo" # AI harm classifier token harm_classifier_url = "https://example.com/classify" harm_classifier_token = "token" hyfetch-1.4.11/tools/gh_moderator.py000066400000000000000000000122701453247431100174220ustar00rootroot00000000000000# Start the server with: # # uvicorn tools.gh_moderator:app --reload --port 59523 # # pip install openai pygithub fastapi uvicorn hypy_utils import hashlib import hmac import json import unicodedata from datetime import datetime from pathlib import Path import openai import tomllib as toml from fastapi import FastAPI, Request, Response from github import Github from hypy_utils import write, json_stringify from hypy_utils.logging_utils import setup_logger from openai.openai_object import OpenAIObject from hyfetch.color_util import printc log = setup_logger() def read_config(): with open(Path.home() / ".config/gh_moderator.toml", "rb") as f: return toml.load(f) app = FastAPI() config = read_config() webhook_secret = bytes(config["webhook_secret"], "utf-8") gh = Github(per_page=100, login_or_token=config["gh_token"]) me = gh.get_user() repo = gh.get_repo(config["gh_repo"]) printc(f"&a[+] Logged in as {me.login}") harm_classifier_url, harm_classifier_token = config["harm_classifier_url"], config["harm_classifier_token"] script_path = Path(__file__).parent supported_events = ["issue_comment", "issues", "pull_request", "pull_request_review_comment"] ai_notice = f"If you think this is a false-positive, please contact the owner of this repo." openai.organization = config['OpenAI']['org'] openai.api_key = config['OpenAI']['key'] openai_model = config['OpenAI']['model'] def get_content(event: str, obj: dict) -> str: # Get the content of the event match event: case "issue_comment" | "pull_request_review_comment": return obj["comment"]["body"] case "issues": return obj["issue"]["title"] + "\n\n" + obj["issue"]["body"] case "pull_request": return obj["pull_request"]["title"] + "\n\n" + obj["pull_request"]["body"] def redact(event: str, obj: dict, id: str, reason: str): """ Redact the event """ printc(f"&c[!] Redacting {event} {id} for {reason}.") tail = f"\n\n> Reason: {reason}\n> {ai_notice}" redact_notice = f"[Redacted by [AI Content Moderator]({me.html_url})]{tail}" match event: case "issue_comment": # Redact the comment comment = repo.get_issue(obj["issue"]["number"]).get_comment(obj["comment"]["id"]) comment.edit(body=redact_notice) case "pull_request_review_comment": # Redact the comment comment = repo.get_pull(obj["pull_request"]["number"]).get_review_comment(obj["comment"]["id"]) comment.edit(body=redact_notice) case "issues" | "pull_request": # Close the issue iss = repo.get_issue(obj["issue"]["number"]) iss.edit(title="[Redacted]", body=redact_notice, state="closed") iss.create_comment(f"Issue closed for potentially offensive content.{tail}") iss.lock("spam") async def process_event(event: str, obj: dict, id: str): # Preliminary checks if event not in supported_events: printc(f"&7[-] Unknown event: {event}") return if obj['repository']['full_name'] != repo.full_name: printc(f"&7[-] Unknown repository: {obj['repository']['full_name']}") return blacklist_users = {v for v in (script_path / "blacklist_users.csv").read_text().split("\n") if v} actor = obj["sender"]["login"] if actor == me.login: printc(f"&7[-] Ignoring event by myself: {id} {event} by {actor}") return printc(f"&e[+] Received event: {id} {event} by {actor}") if actor in blacklist_users: redact(event, obj, id, "User is blacklisted") return # Normalize content content = unicodedata.normalize("NFKC", get_content(event, obj)) # Ask OpenAI to predict if it's offensive res: OpenAIObject = openai.Moderation.create(content, openai_model).results[0] write(f"moderator-data/openai/{id}.json", json_stringify(res)) if res.flagged: printc(f"\n&c[!] AI classified {event} {id} by {actor} as offensive !!!\n> Content: {content}\n\n") reason = " | ".join(f"{k} {res.category_scores.get(k) * 100:.0f}%" for k, v in res.categories.items() if v) redact(event, obj, id, f"Flagged by OpenAI : {reason}") return printc(f"&a[~] AI classified {event} {id} by {actor} as safe.") @app.post("/") async def handle_webhook(request: Request, response: Response): # Read headers event = request.headers.get("X-GitHub-Event") signature = request.headers.get("X-Hub-Signature") # Verify the signature body = await request.body() if not verify_signature(signature, body): response.status_code = 401 return {"message": "Invalid signature"} # Parse the event body obj = json.loads(body.decode()) # Log the request id = datetime.now().isoformat() write(f"moderator-data/webhook/{id}-{event}.json", json_stringify(obj, indent=4)) await process_event(event, obj, id) return {"message": "OK"} # Helper function to verify the signature def verify_signature(signature: str, payload: bytes) -> bool: hash_type, signature = signature.split("=") digest = hmac.new(webhook_secret, msg=payload, digestmod=getattr(hashlib, hash_type)).hexdigest() return hmac.compare_digest(digest, signature) hyfetch-1.4.11/tools/issue_fixed.py000077500000000000000000000017341453247431100172650ustar00rootroot00000000000000#!/usr/bin/env python3 import shlex from subprocess import check_output import pyperclip def copy_comment(): # Get commit SHA sha = check_output(shlex.split('git rev-parse --short HEAD')).decode().strip() # Copy comment to clipboard comment = f""" Thank you for reporting the issue! This issue is [fixed in hyfetch by commit {sha}](https://github.com/hykilpikonna/hyfetch/commit/{sha}). This repo (dylanaraps/neofetch) seems to be no longer maintained. [HyFetch](https://github.com/hykilpikonna/hyfetch) is a fork of neofetch with LGBTQ pride flags, but the repo also maintains an updated version of the original neofetch, addressing many issues and pull requests. Read the ["Running Updated Original Neofetch" section](https://github.com/hykilpikonna/hyfetch#running-updated-original-neofetch) for more info! """ pyperclip.copy(comment.strip()) print() print('Comment response copied to clipboard.') if __name__ == '__main__': copy_comment() hyfetch-1.4.11/tools/list_distros.py000077500000000000000000000122441453247431100174760ustar00rootroot00000000000000#!/usr/bin/env python3 """ List distributions supported by neofetch """ from __future__ import annotations import string import textwrap from pathlib import Path import regex from hypy_utils import write from hyfetch.distros import AsciiArt RE_SPLIT = regex.compile('EOF[ \n]*?;;') RE_COLORS = regex.compile("""(?<=set_colors )[\"#a-zA-Z\\d ']+(?=\n)""") def substr(s: str, start: str, end: str | None = None): """ Get substring between start and end """ start = s.index(start) + len(start) if end is None: return s[start:] return s[start:s.index(end, start)] def parse_ascii_distros() -> list[AsciiArt]: """ Parse ascii distros from neofetch script """ nf = (Path(__file__).parent.parent / 'neofetch').read_text().replace('\t', ' ' * 4) # Get the content of "get_distro_ascii" function nf = nf[nf.index('get_distro_ascii() {\n'):] nf = nf[:nf.index('\n}\n')] # Remove trailing spaces while ' \n' in nf: nf = nf.replace(' \n', '\n') # Split by blocks blocks = [sub.strip() for b in regex.split('case .*? in\n', nf) for sub in RE_SPLIT.split(b)] # Parse blocks def parse_block(block: str) -> AsciiArt: try: # Get ascii art assert "'EOF'\n" in block art = substr(block, "'EOF'\n") # Join \ block = block.replace('\\\n', ' ') # Get switch-case matching parameter match = block.split('\n')[0].strip() assert match.endswith(')') match = match[:-1] # Get colors color = RE_COLORS.findall(block)[0].strip("'") if len(color) == 0: raise Exception(block) return AsciiArt(match, color, art) except AssertionError: pass out = [parse_block(block) for block in blocks] return [v for v in out if v] def wrap(text: str, max_len: int, leading: str): length = max_len - len(leading) lines = [line for raw in text.split('\n') for line in textwrap.wrap(raw, length) or ['']] return '\n'.join(leading + line if line else line for line in lines) def generate_help(max_len: int, leading: str): distros = sorted(list({a.get_friendly_name() for a in parse_ascii_distros()}), key=str.casefold) smalls = [d.replace('_small', '') for d in distros if d.endswith('_small')] olds = [d.replace('_old', '') for d in distros if d.endswith('_old')] distros = [d for d in distros if not d.endswith('_small') and not d.endswith('_old')] out = f"NOTE: {', '.join(distros)} have ascii logos.\n\n"\ f"NOTE: {', '.join(olds)} have 'old' logo variants, use {{distro}}_old to use them.\n\n" \ f"NOTE: {', '.join(smalls)} have 'small' logo variants, use {{distro}}_small to use them." return wrap(out, max_len, leading) def match_condition(match: str) -> str: """ Convert simple glob match condition to python """ match = [s.strip() for s in match.split("|")] conds = [] for m in match: stripped = m.strip("*'\"").lower() if '*' in stripped or '"' in stripped: print(f"TODO: Cannot properly parse: {m}") # Exact matches if m.strip("*") == m: conds.append(f"name == '{stripped}'") continue # Both sides are * if m.startswith("*") and m.endswith("*"): conds.append(f"(name.startswith('{stripped}') or name.endswith('{stripped}'))") continue # Ends with * if m.endswith("*"): conds.append(f"name.startswith('{stripped}')") continue # Starts with * if m.startswith("*"): conds.append(f"name.endswith('{stripped}')") continue return ' or '.join(conds) def export_distro(d: AsciiArt) -> str: """ Export distro to a python script """ # Escape variable name varname = d.name.lower() for s in string.punctuation + ' ': varname = varname.replace(s, '_') # Escape/unescape ascii ascii = d.ascii.replace("\\\\", "\\") while '"""' in ascii: ascii = ascii.replace('"""', '"\\""') script = f"""# This file is automatically generated. Please do not modify. from . import AsciiArt {varname} = AsciiArt(match=r'''{d.match}''', color='{d.color}', ascii=r\""" {ascii} \""") """ write(Path(__file__).parent.parent / f'hyfetch/distros/{varname}.py', script) # Generate python script for identifying the distro return f""" if {match_condition(d.match)}: from .{varname} import {varname} return {varname} """ def export_distros(): distros = parse_ascii_distros() # print('\n'.join(d.match for d in distros)) py = """# This file is automatically generated. Please do not modify. from __future__ import annotations from . import AsciiArt def detect(name: str) -> AsciiArt | None: if not name: return None name = name.lower() """ py += '\n'.join(export_distro(d).strip('\n') for d in distros) write(Path(__file__).parent.parent / f'hyfetch/distros/distro_detector.py', py) if __name__ == '__main__': # print(generate_help(100, ' ' * 32)) # print(generate_help(100, '# ')) export_distros() hyfetch-1.4.11/tools/list_unresolved.py000077500000000000000000000051201453247431100201700ustar00rootroot00000000000000#!/usr/bin/env python3 import math import os import shlex from collections import Counter from pathlib import Path from subprocess import check_output from github import Github from github.PullRequest import PullRequest import ruamel.yaml as yaml from hypy_utils.tqdm_utils import tq, pmap, tmap def obtain_resolved(): """ Obtain a list of resolved issues. """ prefix = 'dylanaraps/neofetch#' commits = check_output(shlex.split('git log --pretty=format:"%s"')).decode().strip().split('\n') commits = [(c, c.find(prefix)) for c in commits] commits = [(c, i+len(prefix)) for c, i in commits if i != -1] return sorted([int(c[i:c.find(' ', i)]) for c, i in commits]) if __name__ == '__main__': # Obtain a list of resolved issues resolved = set(obtain_resolved()) # Read the ignore-list with open(Path(__file__).parent / "pull_request_markings.yaml") as stream: ignore_list: dict[int, str] = yaml.safe_load(stream)['IgnoreList'] ignore_list.update({r: 'merged' for r in resolved}) # Obtain a list of open issues g = Github(per_page=100, login_or_token=os.environ.get('GH_TOKEN')) repo = g.get_repo('dylanaraps/neofetch') pager = repo.get_pulls(state='all') # Filter only unresolved issues pages = list(range(math.ceil(pager.totalCount // 100) + 1)) pulls: list[list[PullRequest]] = tmap(pager.get_page, pages, desc='Crawling pull requests...', unit='page') pulls: set[PullRequest] = {p for lst in pulls for p in lst} unresolved: set[PullRequest] = {p for p in pulls if p.number not in resolved and p.number not in ignore_list} # Filter merged / closed draft = {p for p in unresolved if p.draft} unresolved -= draft merged = {p for p in unresolved if p.merged_at} unresolved -= merged closed = {p for p in unresolved if p.state == 'closed'} unresolved -= closed ignore_counter = Counter(ignore_list.values()) hyfetch_merged = ignore_counter.pop('merged') print(f'Pull Request Statistics:') print(f'> {hyfetch_merged} PRs merged by HyFetch') print('\n'.join(f'> {c} PRs closed as {v} by HyFetch' for v, c in sorted(ignore_counter.items(), key=lambda x: -x[1]))) print() print(f'> {len(draft)} PR drafts') print(f'> {len(merged)} PRs merged by neofetch') print(f'> {len(closed)} PRs closed without merging') print() print(f'> {len(unresolved)} open PRs that needs to be addressed:') print() opened = sorted(list(unresolved), key=lambda p: p.number) # Print unresolved issues print('\n'.join(f'[{p.number}] {p.title} {p.html_url}' for p in opened)) hyfetch-1.4.11/tools/pull_request_markings.yaml000066400000000000000000000043231453247431100217010ustar00rootroot00000000000000# Pull request that I don't plan on merging, or already merged pull request that the script didn't # detect. IgnoreList: # [2227] Fixes the broken progress bars that result from particular distro colors 2227: duplicate # [2224] Added macOS Ventura to list of macOS versions 2224: duplicate # [2205] ascii logo for jatayu 2205: bad # [2193] Added DietPi os ASCII art 2193: duplicate # [2184] Add support for redcatOS 2184: bad # [2178] Show macOS Ventura name 2178: duplicate # [2154] Added Support for Uwuntu 2154: merged # [2156] Update neofetch (for macOS 13) 2156: duplicate # [2152] created much cleaner void ascii art 2152: merged # [2150] Add macOS 13 to version name list 2150: merged # [2141] Adding soviet linux support 2141: bad # [2113] Updated Ubuntu logo 2113: duplicate # [2104] Make DE Fluent on Windows 11 2104: duplicate # [2092] Update neofetch 2092: troll # [2081] added a q4os ascii 2081: duplicate # [2078] Fixed distro detection on CentOS 6 2078: incorrect # [2057] add AmogOS (Duplicate of 1904) 2057: duplicate # [2051] Typo in comment for col_offset 2051: incorrect # [1996] set_text_color: fix color code for multi-digit ones 1996: duplicate # [1940] Added code to display battery percentage and resolution in termux on android devices 1940: bad # [1936] Added PiluX logo. 1936: deleted # [1927] improve/add model name for arm linux cpus 1927: duplicate # [1925] New OS added: CBL-Mariner 1925: duplicate # [1922] Added BugTrack asciiart 1922: bad # [1897] Change source_mage's colors. 1897: deleted # [1889] Fix Windows 11 detection 1889: duplicate # [1861] Added FriendlyOS 1861: bad # [1857] Speed up `get_packages` 1857: bad # [1852] Added Aravalli Logo 1852: deleted # [1850] neofetch: remove duplicate distro ASCII logo 1850: duplicate # [1830] Replace non-posix use of 'hostname' command with 'uname -n' 1830: deleted # [1827] Improve manjaro logo 1827: deleted # [1700] Added Xeonix by Xinux Uzbekistan support 1700: deleted # [1585] Fix for Improvement idea for multiprocessor systems, current output is unclear 1585: incorrect # [1031] Use nvidia-smi for NVIDIA GPUs 1031: incorrect hyfetch-1.4.11/tools/reformat_readme.py000077500000000000000000000012011453247431100200770ustar00rootroot00000000000000#!/usr/bin/env python3 """ This script turns readme shorthand pull request references (i.e. dylanaraps/neofetch#1946) into full GitHub pull request links. """ import regex as re from pathlib import Path RE_SHORTHAND = re.compile(r"(\w+?)/(\w+?)#(\d+)") MY_RE = re.compile(r"(?<=[^\w\[])#(\d+)") def reformat_readme(): readme = Path('README.md').read_text() readme = re.sub(RE_SHORTHAND, r'[\1#\3](https://github.com/\1/\2/pull/\3)', readme) readme = re.sub(MY_RE, r'[#\1](https://github.com/hykilpikonna/hyfetch/pull/\1)', readme) Path('README.md').write_text(readme) if __name__ == '__main__': reformat_readme()