diff --git a/.gitignore b/.gitignore index c8614cf..e708858 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ uwufetch *.zip *.vscode *.gz -*.1 \ No newline at end of file +*.1 +.prettierrc \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2fef80d..c256dab 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,35 +3,36 @@ ## Code To contribute to this project, you should follow some rules to keep the code consistent: -- To indent I like to use tabs in size 4, so you should use them to commit. -- When an the code in an `if` (or `else`) statement is only one line please do not use curly brackets: -```c -if (things) - something(will_happen); +- Please try to be consistent in code formatting, if you use `Prettier`, this are the rules used in all the files: -else if (things < 5) - something(NULL); - -else - something(!will_happen); +```json +{ + "arrowParens": "avoid", + "bracketSpacing": true, + "endOfLine": "lf", + "htmlWhitespaceSensitivity": "css", + "insertPragma": false, + "jsxBracketSameLine": false, + "jsxSingleQuote": false, + "printWidth": 80, + "proseWrap": "preserve", + "quoteProps": "as-needed", + "requirePragma": false, + "semi": true, + "singleQuote": false, + "tabWidth": 4, + "trailingComma": "es5", + "useTabs": true, + "vueIndentScriptAndStyle": false +} ``` -- When the the code in an `if` (or `else`) statement is too short, write it in one line (if it is readable): -```c -if (this) that(); - -else if (that) this(); - -else nothing(); -``` - -- Function and variable names should be written in snake_case and abbreviated if too long. -- Use shell commands only if necessary, just to improve `uwufetch` speed. -- Be sure to reset [debug](https://github.com/TheDarkBug/uwufetch/blob/8205a8cad7e728628a26441969911d5f384132d7/Makefile#L14) in [Makefile](https://github.com/TheDarkBug/uwufetch/blob/main/Makefile) if you edited it. -- Before pushing the commit, please delete double-new-lines. +- Function and variable names should be written in snake_case and abbreviated if too long. +- Use shell commands only if necessary, just to improve `uwufetch` speed. # + ## Pull requests Before sending a pull request be sure that no one is already working on the same thing and to follow this guide-lines. @@ -39,6 +40,7 @@ Before sending a pull request be sure that no one is already working on the same With pull requests you can `[FIX]` a bug (reported or not), add `[OS-SUPPORT]`, add a `[NEW-FEATURE]` requested in an [issue](https://github.com/TheDarkBug/uwufetch/blob/main/CONTRIBUTING.md#issues), fix a `[TYPO]` or `[OPTIMIZE]` the code. For everything else do not use tags. # + ## Issues You can use the issues to report bugs with `[BUG]`, to request features `[FEATURE-REQUEST]`, to request support for an os `[OS-SUPPORT]`. For everything else do not use tags. @@ -48,8 +50,9 @@ If you are reporting a `[BUG]`, please include a screenshot and the output of th If you are requesting a feature, please specify if you are already working on it, then send a [pull request](https://github.com/TheDarkBug/uwufetch/blob/main/CONTRIBUTING.md#pull-requests). # + ## Conclusions -I know that adding this file now is a bit late, but I am writing this anyway, just to appear as a *professional* programmer, even though I am not. +I know that adding this file now is a bit late, but I am writing this anyway, just to appear as a _professional_ programmer, even though I am not. -I woult take some space to thank all the [contributors](https://github.com/TheDarkBug/uwufetch/graphs/contributors) that made this project better every day. \ No newline at end of file +I woult take some space to thank all the [contributors](https://github.com/TheDarkBug/uwufetch/graphs/contributors) that made this project better every day. diff --git a/README.md b/README.md index a93ccb4..40a5cc2 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,13 @@ A meme system info tool for (almost) all your Linux/Unix-based systems, based on nyan/UwU trend on r/linuxmasterrace. ## Currently supported distros + #### Full support (Both Ascii art + images are provided for the given distribution) + Nyalpine, Nyarch Linuwu, Nyartix Linuwu, Debinyan, Fedowa, GentOwO, GnUwU gUwUix, Miwint, Myanjawo, OwOpenSUSE, Pop OwOs, RaspNyan, UwUntu, and OwOid; Plus Nyandroid. #### Partial support (Either no Ascii art, or no image is provided) + endeavOwO, KDE NeOwOn, nixOwOs, Swackwawe, sOwOlus; Plus FweeBSD, and OwOpenBSD ## Building and installation @@ -27,11 +30,11 @@ Right now, the package is only available on the AUR: ##### Via source - Building requisites: -- Make -- A c compiler -- Pandoc to compile man pages + +- Make +- A c compiler +- Pandoc to compile man pages To install UwUfetch from the source, type these commands in the terminal: @@ -63,10 +66,12 @@ make termux_uninstall # uninstall for termux ## Images and copyright info ### How to use images + First at all you need `viu`, to install it follow the [guide](https://github.com/atanunq/viu#installation). Images are working in almost every terminal, for a better experience i recommend [kitty](https://github.com/kovidgoyal/kitty) ### For copyright and logos info + [COPYRIGHT.md](https://github.com/TheDarkBug/uwufetch/tree/main/res/COPYRIGHT.md) ## License diff --git a/res/COPYRIGHT.md b/res/COPYRIGHT.md index 18ea757..e9617af 100644 --- a/res/COPYRIGHT.md +++ b/res/COPYRIGHT.md @@ -2,7 +2,7 @@ Int this directory, all the logo images, are stored. -This file contains all copyright info for every image that `uwufetch` uses. If you want to remove *your* image from this repository contact me on [reddit](https://www.reddit.com/user/TheDarkBug). +This file contains all copyright info for every image that `uwufetch` uses. If you want to remove _your_ image from this repository contact me on [reddit](https://www.reddit.com/user/TheDarkBug). I am not a copyright expert, and maybe I am doing all wrong things, please correct this file if you notice something wrong. # Copyrights @@ -13,16 +13,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Arch Linux Devs -- License: [Arch Linux TrademarkPolicy](https://archlinux.org/art/) -- [Reference](https://wiki.archlinux.org/index.php/DeveloperWiki:TrademarkPolicy) +- Copyright Holder: Arch Linux Devs +- License: [Arch Linux TrademarkPolicy](https://archlinux.org/art/) +- [Reference](https://wiki.archlinux.org/index.php/DeveloperWiki:TrademarkPolicy) ### Modifications -- Description: uwu style -- Copyright Holder: [u/Ishaan_P](https://www.reddit.com/user/Ishaan_P) -- License: No license, just a reddit post -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxfg9j/someone_posted_uwuntu_so_i_made_nyarch/) +- Description: uwu style +- Copyright Holder: [u/Ishaan_P](https://www.reddit.com/user/Ishaan_P) +- License: No license, just a reddit post +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxfg9j/someone_posted_uwuntu_so_i_made_nyarch/) # @@ -32,16 +32,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Artix Linux Devs -- License: [Artix Brand Book](https://gitea.artixlinux.org/artix/artwork/src/branch/master/README.md) -- [Reference](https://gitea.artixlinux.org/artix/artwork) +- Copyright Holder: Artix Linux Devs +- License: [Artix Brand Book](https://gitea.artixlinux.org/artix/artwork/src/branch/master/README.md) +- [Reference](https://gitea.artixlinux.org/artix/artwork) ### Modifications -- Description: uwu style -- Copyright Holder: [u/akzcake](https://www.reddit.com/user/akzcake) -- License: No license, just a reddit post -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly6wd1/nyartix/) +- Description: uwu style +- Copyright Holder: [u/akzcake](https://www.reddit.com/user/akzcake) +- License: No license, just a reddit post +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly6wd1/nyartix/) # @@ -51,17 +51,17 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Debian Devs -- License: LGPL3 -- [License URL](https://www.gnu.org/licenses/lgpl-3.0.html) -- [Reference](https://www.debian.org/logos/) +- Copyright Holder: Debian Devs +- License: LGPL3 +- [License URL](https://www.gnu.org/licenses/lgpl-3.0.html) +- [Reference](https://www.debian.org/logos/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/Ishaan_P](https://www.reddit.com/user/Ishaan_P) -- License: [LGPL3](https://www.gnu.org/licenses/lgpl-3.0.html) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxqip4/debinyan/) +- Description: uwu style +- Copyright Holder: [u/Ishaan_P](https://www.reddit.com/user/Ishaan_P) +- License: [LGPL3](https://www.gnu.org/licenses/lgpl-3.0.html) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxqip4/debinyan/) # @@ -71,16 +71,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Endeavour OS Devs -- License: [No license was mentioned on the website](https://endeavouros.com/endeavouros-logo/) -- [Reference](https://endeavouros.com/endeavouros-logo/) +- Copyright Holder: Endeavour OS Devs +- License: [No license was mentioned on the website](https://endeavouros.com/endeavouros-logo/) +- [Reference](https://endeavouros.com/endeavouros-logo/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/zuru2003](https://www.reddit.com/user/zuru2003) -- License: No license, just a reddit post -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly9zed/endowo_os/) +- Description: uwu style +- Copyright Holder: [u/zuru2003](https://www.reddit.com/user/zuru2003) +- License: No license, just a reddit post +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly9zed/endowo_os/) # @@ -90,16 +90,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: -- License: [Fedora logo usage guide-lines](https://fedoraproject.org/wiki/Logo/UsageGuidelines) -- [Reference](https://fedoraproject.org/wiki/Logo) +- Copyright Holder: +- License: [Fedora logo usage guide-lines](https://fedoraproject.org/wiki/Logo/UsageGuidelines) +- [Reference](https://fedoraproject.org/wiki/Logo) ### Modifications -- Description: uwu style -- Copyright Holder: [u/iD3nis124](https://www.reddit.com/user/iD3nis124) -- License: [Fedora logo usage guide-lines (I guess)](https://fedoraproject.org/wiki/Logo/UsageGuidelines) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxjp3s/saw_nyarch_and_had_to_do_fedowa/) +- Description: uwu style +- Copyright Holder: [u/iD3nis124](https://www.reddit.com/user/iD3nis124) +- License: [Fedora logo usage guide-lines (I guess)](https://fedoraproject.org/wiki/Logo/UsageGuidelines) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxjp3s/saw_nyarch_and_had_to_do_fedowa/) # @@ -109,17 +109,17 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Gentoo Devs -- License: [Gentoo name and logo guide-lines](https://www.gentoo.org/inside-gentoo/foundation/name-logo-guidelines.html) -- [Reference](https://www.gentoo.org/inside-gentoo/artwork/gentoo-logo.html) +- Copyright Holder: Gentoo Devs +- License: [Gentoo name and logo guide-lines](https://www.gentoo.org/inside-gentoo/foundation/name-logo-guidelines.html) +- [Reference](https://www.gentoo.org/inside-gentoo/artwork/gentoo-logo.html) ### Modifications -- Description: uwu style -- Copyright Holder: [u/TheSatisfiedPig](https://www.reddit.com/user/TheSatisfiedPig) -- License: [CC-BY-SA/2.5](https://creativecommons.org/licenses/by-sa/2.5/) -- [Reference (reddit)](https://www.reddit.com/r/linuxmasterrace/comments/m11aml/genchu/) -- [Reference (gentoo artwork)](https://wiki.gentoo.org/wiki/Project:Artwork/Artwork#Genchu) +- Description: uwu style +- Copyright Holder: [u/TheSatisfiedPig](https://www.reddit.com/user/TheSatisfiedPig) +- License: [CC-BY-SA/2.5](https://creativecommons.org/licenses/by-sa/2.5/) +- [Reference (reddit)](https://www.reddit.com/r/linuxmasterrace/comments/m11aml/genchu/) +- [Reference (gentoo artwork)](https://wiki.gentoo.org/wiki/Project:Artwork/Artwork#Genchu) # @@ -129,16 +129,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Aurelio A. Heckert (aurium@gmail.com) -- License: [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/) -- [Reference](https://www.gnu.org/graphics/heckert_gnu.svg) +- Copyright Holder: Aurelio A. Heckert (aurium@gmail.com) +- License: [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/) +- [Reference](https://www.gnu.org/graphics/heckert_gnu.svg) ### Modifications -- Description: Addition of ahegao facial expression, and colorization. -- Copyright Holder: [u/FOSSphorous](https://www.reddit.com/user/FOSSphorous/) -- License: [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lyi8ce/its_actually_gnuwulinux/) +- Description: Addition of ahegao facial expression, and colorization. +- Copyright Holder: [u/FOSSphorous](https://www.reddit.com/user/FOSSphorous/) +- License: [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lyi8ce/its_actually_gnuwulinux/) ## Manjaro @@ -146,16 +146,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Manjaro GmbH & Co. KG. -- License: [Manjaro terms of use](https://manjaro.org/terms-of-use/) -- [Reference](https://gitlab.manjaro.org/artwork) +- Copyright Holder: Manjaro GmbH & Co. KG. +- License: [Manjaro terms of use](https://manjaro.org/terms-of-use/) +- [Reference](https://gitlab.manjaro.org/artwork) ### Modifications -- Description: uwu style -- Copyright Holder: [u/matrixrunner](https://www.reddit.com/user/matrixrunner) -- License: [Manjaro terms of use (I guess, again)](https://manjaro.org/terms-of-use/) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxx9h7/myanjawo_also_in_wallpaper/) +- Description: uwu style +- Copyright Holder: [u/matrixrunner](https://www.reddit.com/user/matrixrunner) +- License: [Manjaro terms of use (I guess, again)](https://manjaro.org/terms-of-use/) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxx9h7/myanjawo_also_in_wallpaper/) # @@ -165,16 +165,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Linux mint Devs -- License: [None (I think)](https://linuxmint.com/faq.php) -- [Reference](https://linuxmint.com/) +- Copyright Holder: Linux mint Devs +- License: [None (I think)](https://linuxmint.com/faq.php) +- [Reference](https://linuxmint.com/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/iD3nis124](https://www.reddit.com/user/iD3nis124) -- License: None -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly8oy0/seen_a_lot_of_people_asking_for_mint_so_here_it_is/) +- Description: uwu style +- Copyright Holder: [u/iD3nis124](https://www.reddit.com/user/iD3nis124) +- License: None +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly8oy0/seen_a_lot_of_people_asking_for_mint_so_here_it_is/) # @@ -184,16 +184,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Jens (kde team) -- License: None -- [Reference](https://community.kde.org/Neon#Logo) +- Copyright Holder: Jens (kde team) +- License: None +- [Reference](https://community.kde.org/Neon#Logo) ### Modifications -- Description: uwu style -- Copyright Holder: [u/muff2](https://www.reddit.com/user/muff2) -- License: None -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxt82v/kde_uwon/) +- Description: uwu style +- Copyright Holder: [u/muff2](https://www.reddit.com/user/muff2) +- License: None +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxt82v/kde_uwon/) # @@ -203,16 +203,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Tim Cuthbertson (@timbertson) -- License: [CC-BY license](https://creativecommons.org/licenses/by/4.0/) -- [Reference](https://github.com/NixOS/nixos-artwork/tree/master/logo#nixos-logo) +- Copyright Holder: Tim Cuthbertson (@timbertson) +- License: [CC-BY license](https://creativecommons.org/licenses/by/4.0/) +- [Reference](https://github.com/NixOS/nixos-artwork/tree/master/logo#nixos-logo) ### Modifications -- Description: uwu style -- Copyright Holder: [u/ant-artica](https://www.reddit.com/user/ant-artica) -- License: [CC-BY license](https://creativecommons.org/licenses/by/4.0/) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lzdwl4/nixowos/) +- Description: uwu style +- Copyright Holder: [u/ant-artica](https://www.reddit.com/user/ant-artica) +- License: [CC-BY license](https://creativecommons.org/licenses/by/4.0/) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lzdwl4/nixowos/) # @@ -222,16 +222,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: OpenSuse Devs -- License: [Opensuse Trademark guide-lines](https://news.opensuse.org/2009/03/02/opensuse-trademark-guidelines-released/) -- [Reference](https://en.opensuse.org/openSUSE:Artwork_brand#Buttons) +- Copyright Holder: OpenSuse Devs +- License: [Opensuse Trademark guide-lines](https://news.opensuse.org/2009/03/02/opensuse-trademark-guidelines-released/) +- [Reference](https://en.opensuse.org/openSUSE:Artwork_brand#Buttons) ### Modifications -- Description: uwu style -- Copyright Holder: [u/VortexAcherontic](https://www.reddit.com/user/VortexAcherontic) -- License: [OpenSuse Trademark guide-lines](https://news.opensuse.org/2009/03/02/opensuse-trademark-guidelines-released/) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lyhgxp/my_better_attempt_on_owosuse/) +- Description: uwu style +- Copyright Holder: [u/VortexAcherontic](https://www.reddit.com/user/VortexAcherontic) +- License: [OpenSuse Trademark guide-lines](https://news.opensuse.org/2009/03/02/opensuse-trademark-guidelines-released/) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lyhgxp/my_better_attempt_on_owosuse/) # @@ -241,16 +241,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: System76 -- License: [System76 Terms](https://system76.com/terms) -- [Reference](https://pop.system76.com/) +- Copyright Holder: System76 +- License: [System76 Terms](https://system76.com/terms) +- [Reference](https://pop.system76.com/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/Mochimo786](https://www.reddit.com/user/Mochimo786) -- License: [System76 Terms](https://system76.com/terms) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxz3xu/pop_uwus/) +- Description: uwu style +- Copyright Holder: [u/Mochimo786](https://www.reddit.com/user/Mochimo786) +- License: [System76 Terms](https://system76.com/terms) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxz3xu/pop_uwus/) # @@ -260,16 +260,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Slackware Devs -- License: [Slackware Propaganda Graphics FAQ](http://www.slackware.com/~msimons/slackware/grfx/grfxfaq.txt) -- [Reference](http://www.slackware.com/~msimons/slackware/grfx/) +- Copyright Holder: Slackware Devs +- License: [Slackware Propaganda Graphics FAQ](http://www.slackware.com/~msimons/slackware/grfx/grfxfaq.txt) +- [Reference](http://www.slackware.com/~msimons/slackware/grfx/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/theldus](https://www.reddit.com/user/theldus) -- License: [Slackware Propaganda Graphics FAQ](http://www.slackware.com/~msimons/slackware/grfx/grfxfaq.txt) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lyt6xi/slawckyware/) +- Description: uwu style +- Copyright Holder: [u/theldus](https://www.reddit.com/user/theldus) +- License: [Slackware Propaganda Graphics FAQ](http://www.slackware.com/~msimons/slackware/grfx/grfxfaq.txt) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lyt6xi/slawckyware/) # @@ -279,16 +279,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Solus Devs -- License: [Solus brand copyright](https://getsol.us/branding/) -- [Reference](https://getsol.us/home/) +- Copyright Holder: Solus Devs +- License: [Solus brand copyright](https://getsol.us/branding/) +- [Reference](https://getsol.us/home/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/welpelp](https://www.reddit.com/user/welpelp) -- License: [Solus brand copyright](https://getsol.us/branding/) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly9il3/continuing_the_trend_i_made_sowus_my_first/) +- Description: uwu style +- Copyright Holder: [u/welpelp](https://www.reddit.com/user/welpelp) +- License: [Solus brand copyright](https://getsol.us/branding/) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/ly9il3/continuing_the_trend_i_made_sowus_my_first/) # @@ -298,16 +298,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Linux foundation -- License: [Who knows](https://web.archive.org/web/20040401161253/http://www.linux.org/info/logos.html) -- [Reference](https://www.linux.org/) +- Copyright Holder: Linux foundation +- License: [Who knows](https://web.archive.org/web/20040401161253/http://www.linux.org/info/logos.html) +- [Reference](https://www.linux.org/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/Annual-Examination96](https://www.reddit.com/user/Annual-Examination96) -- License: [Who knows](https://web.archive.org/web/20040401161253/http://www.linux.org/info/logos.html) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lz2i32/tuwu/) +- Description: uwu style +- Copyright Holder: [u/Annual-Examination96](https://www.reddit.com/user/Annual-Examination96) +- License: [Who knows](https://web.archive.org/web/20040401161253/http://www.linux.org/info/logos.html) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lz2i32/tuwu/) # @@ -317,16 +317,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Canonical Ltd -- License: [Canonical Ltd Trademarks](https://ubuntu.com/legal/trademarks) -- [Reference](https://design.ubuntu.com/brand/ubuntu-logo/#:~:text=The%20Ubuntu%20logo%20is%20made,a%20flat%20orange%2Dcoloured%20background.) +- Copyright Holder: Canonical Ltd +- License: [Canonical Ltd Trademarks](https://ubuntu.com/legal/trademarks) +- [Reference](https://design.ubuntu.com/brand/ubuntu-logo/#:~:text=The%20Ubuntu%20logo%20is%20made,a%20flat%20orange%2Dcoloured%20background.) ### Modifications -- Description: uwu style -- Copyright Holder: [u/Chicki2D](https://www.reddit.com/user/Chicki2D) -- License: [Canonical Ltd Trademarks](https://ubuntu.com/legal/trademarks) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lwsnul/uwuntu/) +- Description: uwu style +- Copyright Holder: [u/Chicki2D](https://www.reddit.com/user/Chicki2D) +- License: [Canonical Ltd Trademarks](https://ubuntu.com/legal/trademarks) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lwsnul/uwuntu/) # @@ -336,16 +336,16 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: VoidLinux Contributors -- License: None -- [Reference](https://voidlinux.org/) +- Copyright Holder: VoidLinux Contributors +- License: None +- [Reference](https://voidlinux.org/) ### Modifications -- Description: uwu style -- Copyright Holder: [u/Satoqz](https://www.reddit.com/user/Satoqz) -- License: None -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxnjwd/my_boyfriend_decided_to_create_owoid/) +- Description: uwu style +- Copyright Holder: [u/Satoqz](https://www.reddit.com/user/Satoqz) +- License: None +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lxnjwd/my_boyfriend_decided_to_create_owoid/) # @@ -357,34 +357,34 @@ I am not a copyright expert, and maybe I am doing all wrong things, please corre ### Base artwork: -- Copyright Holder: Google Inc. -- License: [CC-BY-3.0](https://creativecommons.org/licenses/by/3.0/) -- [Reference](https://developer.android.com/distribute/marketing-tools/brand-guidelines#android_robot) +- Copyright Holder: Google Inc. +- License: [CC-BY-3.0](https://creativecommons.org/licenses/by/3.0/) +- [Reference](https://developer.android.com/distribute/marketing-tools/brand-guidelines#android_robot) ### Modifications -- Description: uwu style -- Copyright Holder: [u/6b86b3ac03c167320d93](https://www.reddit.com/user/6b86b3ac03c167320d93) -- License: [CC-BY-3.0](https://creativecommons.org/licenses/by/3.0/) -- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lye15q/im_not_an_artist_but_heres_my_attempt_at_making/) +- Description: uwu style +- Copyright Holder: [u/6b86b3ac03c167320d93](https://www.reddit.com/user/6b86b3ac03c167320d93) +- License: [CC-BY-3.0](https://creativecommons.org/licenses/by/3.0/) +- [Reference](https://www.reddit.com/r/linuxmasterrace/comments/lye15q/im_not_an_artist_but_heres_my_attempt_at_making/) - +- Description: uwu style +- Copyright Holder: [name](https://www.reddit.com/user) +- License: +- [Reference]() +--> diff --git a/uwufetch.c b/uwufetch.c index fbc8c38..ffe8a80 100644 --- a/uwufetch.c +++ b/uwufetch.c @@ -24,24 +24,24 @@ #include // COLORS -#define NORMAL "\x1b[0m" -#define BOLD "\x1b[1m" -#define BLACK "\x1b[30m" -#define RED "\x1b[31m" -#define GREEN "\x1b[32m" -#define YELLOW "\x1b[33m" -#define BLUE "\x1b[34m" -#define MAGENTA "\x1b[0;35m" -#define CYAN "\x1b[36m" -#define WHITE "\x1b[37m" -#define PINK "\x1b[38;5;201m" -#define LPINK "\x1b[38;5;213m" +#define NORMAL "\x1b[0m" +#define BOLD "\x1b[1m" +#define BLACK "\x1b[30m" +#define RED "\x1b[31m" +#define GREEN "\x1b[32m" +#define YELLOW "\x1b[33m" +#define BLUE "\x1b[34m" +#define MAGENTA "\x1b[0;35m" +#define CYAN "\x1b[36m" +#define WHITE "\x1b[37m" +#define PINK "\x1b[38;5;201m" +#define LPINK "\x1b[38;5;213m" -struct package_manager { - char command_string[128]; // command to get number of packages installed - char pkgman_name[16]; // name of the package manager +struct package_manager +{ + char command_string[128]; // command to get number of packages installed + char pkgman_name[16]; // name of the package manager }; - struct utsname sys_var; struct sysinfo sys; struct winsize win; @@ -49,7 +49,7 @@ int ram_total, ram_used = 0; // initialise the variables to store data, gpu array can hold up to 8 gpus int pkgs, target_width = 0; // all flags available -int ascii_image_flag = 0, +int ascii_image_flag = 0, show_user_info = 1, show_os = 1, show_kernel = 1, @@ -60,9 +60,9 @@ int ascii_image_flag = 0, show_pkgs = 1, show_uptime = 1, show_colors = 1; -char user[32], host[256], shell[64], kernel[256], version_name[64], cpu_model[256], - gpu_model[8][256] = {{'0'}, {'0'}, {'0'}, {'0'}, {'0'}, {'0'}, {'0'}, {'0'}}, - pkgman_name[64], image_name[32]; +char user[32], host[256], shell[64], kernel[256], version_name[64], cpu_model[256], + gpu_model[8][256] = {{'0'}, {'0'}, {'0'}, {'0'}, {'0'}, {'0'}, {'0'}, {'0'}}, + pkgman_name[64], image_name[32]; // functions definitions, to use them in main() int pkgman(); @@ -77,143 +77,178 @@ void uwu_name(); void truncate_name(char *); void remove_brackets(char *); -int main(int argc, char *argv[]) { +int main(int argc, char *argv[]) +{ int opt = 0; static struct option long_options[] = { - { "ascii", no_argument, NULL, 'a' }, - { "custom", required_argument, NULL, 'c' }, - { "config", required_argument, NULL, 0}, - { "distro", required_argument, NULL, 'd' }, - { "help", no_argument, NULL, 'h' }, - { "image", no_argument, NULL, 'i' }, - { "list", no_argument, NULL, 'l' }, - { NULL, 0, NULL, 0 } - }; + {"ascii", no_argument, NULL, 'a'}, + {"custom", required_argument, NULL, 'c'}, + {"config", required_argument, NULL, 0}, + {"distro", required_argument, NULL, 'd'}, + {"help", no_argument, NULL, 'h'}, + {"image", no_argument, NULL, 'i'}, + {"list", no_argument, NULL, 'l'}, + {NULL, 0, NULL, 0}}; get_info(); parse_config(); - while ((opt = getopt_long(argc, argv, "ad:hilc:", long_options, NULL)) != -1) { - switch (opt) { - case 'a': - ascii_image_flag = 0; - break; - case 'c': - ascii_image_flag = 1; - sprintf(image_name, "%s", optarg); - break; - case 'd': - if (optarg) sprintf(version_name, "%s", optarg); - break; - case 'h': - usage(argv[0]); - return 0; - case 'i': - ascii_image_flag = 1; - break; - case 'l': - list(argv[0]); - return 0; - default: - break; + while ((opt = getopt_long(argc, argv, "ad:hilc:", long_options, NULL)) != -1) + { + switch (opt) + { + case 'a': + ascii_image_flag = 0; + break; + case 'c': + ascii_image_flag = 1; + sprintf(image_name, "%s", optarg); + break; + case 'd': + if (optarg) + sprintf(version_name, "%s", optarg); + break; + case 'h': + usage(argv[0]); + return 0; + case 'i': + ascii_image_flag = 1; + break; + case 'l': + list(argv[0]); + return 0; + default: + break; } } - if ((argc == 1 && ascii_image_flag == 0) || (argc > 1 && ascii_image_flag == 0)) print_ascii(); - else if (ascii_image_flag) print_image(); + if ((argc == 1 && ascii_image_flag == 0) || (argc > 1 && ascii_image_flag == 0)) + print_ascii(); + else if (ascii_image_flag) + print_image(); uwu_name(); print_info(); } -void parse_config() { +void parse_config() +{ char line[256]; char *homedir = getenv("HOME"); char *temp_buffer = ""; - + FILE *config = fopen(strcat(homedir, "/.config/uwufetch/config"), "r"); - if(config == NULL) return; - while(fgets(line, sizeof(line), config)) { - if(line[0] == '#') continue; + if (config == NULL) + return; + while (fgets(line, sizeof(line), config)) + { + if (line[0] == '#') + continue; ascii_image_flag = sscanf(line, "image=%s", image_name); sscanf(line, "distro=%s", version_name); - if (sscanf(line, "nouser%s", temp_buffer)) show_user_info = 0; - if (sscanf(line, "noos%s", temp_buffer)) show_os = 0; - if (sscanf(line, "nokernel%s", temp_buffer)) show_kernel = 0; - if (sscanf(line, "nocpu%s", temp_buffer)) show_cpu = 0; - if (sscanf(line, "nogpu%s", temp_buffer)) show_gpu = 0; - if (sscanf(line, "noram%s", temp_buffer)) show_ram = 0; - if (sscanf(line, "noshell%s", temp_buffer)) show_shell = 0; - if (sscanf(line, "nopkgs%s", temp_buffer)) show_pkgs = 0; - if (sscanf(line, "nouptime%s", temp_buffer)) show_uptime = 0; - if (sscanf(line, "nocolors%s", temp_buffer)) show_colors = 0; + if (sscanf(line, "nouser%s", temp_buffer)) + show_user_info = 0; + if (sscanf(line, "noos%s", temp_buffer)) + show_os = 0; + if (sscanf(line, "nokernel%s", temp_buffer)) + show_kernel = 0; + if (sscanf(line, "nocpu%s", temp_buffer)) + show_cpu = 0; + if (sscanf(line, "nogpu%s", temp_buffer)) + show_gpu = 0; + if (sscanf(line, "noram%s", temp_buffer)) + show_ram = 0; + if (sscanf(line, "noshell%s", temp_buffer)) + show_shell = 0; + if (sscanf(line, "nopkgs%s", temp_buffer)) + show_pkgs = 0; + if (sscanf(line, "nouptime%s", temp_buffer)) + show_uptime = 0; + if (sscanf(line, "nocolors%s", temp_buffer)) + show_colors = 0; } } -int pkgman() { // this is just a function that returns the total of installed packages +int pkgman() +{ // this is just a function that returns the total of installed packages int total = 0; struct package_manager pkgmans[] = { - { "apt list --installed 2> /dev/null | wc -l", "(apt)" }, - { "apk info 2> /dev/null | wc -l", "(apk)" }, - { "dnf list installed 2> /dev/null | wc -l", "(dnf)" }, - { "qlist -I 2> /dev/null | wc -l", "(emerge)" }, - { "flatpak list 2> /dev/null | wc -l", "(flatpack)" }, - { "guix package --list-installed 2> /dev/null | wc -l", "(guix)" }, - { "nix-store -q --requisites /run/current-sys_vartem/sw 2> /dev/null | wc -l", "(nix)" }, - { "pacman -Qq 2> /dev/null | wc -l", "(pacman)" }, - { "rpm -qa --last 2> /dev/null | wc -l", "(rpm)" }, - { "xbps-query -l 2> /dev/null | wc -l", "(xbps)" }, - { "zypper se --installed-only 2> /dev/null | wc -l", "(zypper)" } - }; + {"apt list --installed 2> /dev/null | wc -l", "(apt)"}, + {"apk info 2> /dev/null | wc -l", "(apk)"}, + {"dnf list installed 2> /dev/null | wc -l", "(dnf)"}, + {"qlist -I 2> /dev/null | wc -l", "(emerge)"}, + {"flatpak list 2> /dev/null | wc -l", "(flatpack)"}, + {"guix package --list-installed 2> /dev/null | wc -l", "(guix)"}, + {"nix-store -q --requisites /run/current-sys_vartem/sw 2> /dev/null | wc -l", "(nix)"}, + {"pacman -Qq 2> /dev/null | wc -l", "(pacman)"}, + {"rpm -qa --last 2> /dev/null | wc -l", "(rpm)"}, + {"xbps-query -l 2> /dev/null | wc -l", "(xbps)"}, + {"zypper se --installed-only 2> /dev/null | wc -l", "(zypper)"}}; const unsigned long pkgman_count = sizeof(pkgmans) / sizeof(pkgmans[0]); - for (long unsigned int i = 0; i < pkgman_count; i++) { // long unsigned int instead of int because of -Wsign-compare + for (long unsigned int i = 0; i < pkgman_count; i++) + { // long unsigned int instead of int because of -Wsign-compare struct package_manager *current = &pkgmans[i]; FILE *fp = popen(current->command_string, "r"); unsigned int pkg_count; - if (fscanf(fp, "%u", &pkg_count) == 3) continue; + if (fscanf(fp, "%u", &pkg_count) == 3) + continue; fclose(fp); total += pkg_count; - if (pkg_count > 0) strcat(pkgman_name, current->pkgman_name); + if (pkg_count > 0) + strcat(pkgman_name, current->pkgman_name); } return total; } -void print_info() { +void print_info() +{ // store sys info in the sys again // print collected info - from host to cpu info printf("\033[9A"); // to align info text - if (show_user_info) printf("\033[18C%s%s%s@%s\n", NORMAL, BOLD, user, host); - if (show_os) printf("\033[18C%s%sOWOS %s%s\n", NORMAL, BOLD, NORMAL, version_name); - if (show_kernel) printf("\033[18C%s%sKEWNEL %s%s\n", NORMAL, BOLD, NORMAL, kernel); - if (show_cpu) printf("\033[18C%s%sCPUWU %s%s\n", NORMAL, BOLD, NORMAL, cpu_model); + if (show_user_info) + printf("\033[18C%s%s%s@%s\n", NORMAL, BOLD, user, host); + if (show_os) + printf("\033[18C%s%sOWOS %s%s\n", NORMAL, BOLD, NORMAL, version_name); + if (show_kernel) + printf("\033[18C%s%sKEWNEL %s%s\n", NORMAL, BOLD, NORMAL, kernel); + if (show_cpu) + printf("\033[18C%s%sCPUWU %s%s\n", NORMAL, BOLD, NORMAL, cpu_model); // print the gpus - if (show_gpu) { + if (show_gpu) + { int gpu_iter = 0; - while(gpu_model[gpu_iter][0] != '0') { - printf( "\033[18C%s%sGPUWU %s%s\n", - NORMAL, BOLD, NORMAL, gpu_model[gpu_iter]); + while (gpu_model[gpu_iter][0] != '0') + { + printf("\033[18C%s%sGPUWU %s%s\n", + NORMAL, BOLD, NORMAL, gpu_model[gpu_iter]); gpu_iter++; } } // print ram to uptime and colors - if (show_ram) printf("\033[18C%s%sWAM %s%i MB/%i MB\n", - NORMAL, BOLD, NORMAL, (ram_used), ram_total); - if (show_shell) printf("\033[18C%s%sSHELL %s%s\n", - NORMAL, BOLD, NORMAL, shell); - if (show_pkgs) printf("\033[18C%s%sPKGS %s%s%d %s\n", - NORMAL, BOLD, NORMAL, NORMAL, pkgs, pkgman_name); - if (show_uptime) printf("\033[18C%s%sUWUPTIME %s"/*"%lid, "*/"%lih, %lim\n", - NORMAL, BOLD, NORMAL, /*sys.uptime/60/60/24,*/ sys.uptime/60/60, sys.uptime/60%60); - if (show_colors) printf("\033[18C%s%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\n", - BOLD, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, NORMAL); + if (show_ram) + printf("\033[18C%s%sWAM %s%i MB/%i MB\n", + NORMAL, BOLD, NORMAL, (ram_used), ram_total); + if (show_shell) + printf("\033[18C%s%sSHELL %s%s\n", + NORMAL, BOLD, NORMAL, shell); + if (show_pkgs) + printf("\033[18C%s%sPKGS %s%s%d %s\n", + NORMAL, BOLD, NORMAL, NORMAL, pkgs, pkgman_name); + if (show_uptime) + printf("\033[18C%s%sUWUPTIME %s" /*"%lid, "*/ "%lih, %lim\n", + NORMAL, BOLD, NORMAL, /*sys.uptime/60/60/24,*/ sys.uptime / 60 / 60, sys.uptime / 60 % 60); + if (show_colors) + printf("\033[18C%s%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\u2587\u2587%s\n", + BOLD, BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, NORMAL); } -void get_info() { // get all necessary info - char line[256]; // var to scan file lines +void get_info() +{ // get all necessary info + char line[256]; // var to scan file lines // terminal width used to truncate long names ioctl(STDOUT_FILENO, TIOCGWINSZ, &win); @@ -222,33 +257,43 @@ void get_info() { // get all necessary info // os version FILE *os_release = fopen("/etc/os-release", "r"); FILE *cpuinfo = fopen("/proc/cpuinfo", "r"); - if (os_release) { // get normal vars + if (os_release) + { // get normal vars while (fgets(line, sizeof(line), os_release)) - if (sscanf(line, "\nID=%s", version_name)) break; + if (sscanf(line, "\nID=%s", version_name)) + break; while (fgets(line, sizeof(line), cpuinfo)) - if (sscanf(line, "model name : %[^\n]", cpu_model)) break; + if (sscanf(line, "model name : %[^\n]", cpu_model)) + break; sprintf(user, "%s", getenv("USER")); fclose(os_release); - } else { // try for android vars, or unknown system + } + else + { // try for android vars, or unknown system DIR *system_app = opendir("/system/app/"); DIR *system_priv_app = opendir("/system/priv-app/"); - if (system_app && system_priv_app) { // android + if (system_app && system_priv_app) + { // android closedir(system_app); closedir(system_priv_app); sprintf(version_name, "android"); // android vars FILE *whoami = popen("whoami", "r"); - if (fscanf(whoami, "%s", user) == 3) sprintf(user, "unknown"); + if (fscanf(whoami, "%s", user) == 3) + sprintf(user, "unknown"); fclose(whoami); while (fgets(line, sizeof(line), cpuinfo)) - if (sscanf(line, "Hardware : %[^\n]", cpu_model)) break; - } else + if (sscanf(line, "Hardware : %[^\n]", cpu_model)) + break; + } + else sprintf(version_name, "unknown"); } fclose(cpuinfo); gethostname(host, 256); sscanf(getenv("SHELL"), "%s", shell); - if (strlen(shell) > 16) memmove(&shell, &shell[27], strlen(shell)); // android shell was too long, this works only for termux + if (strlen(shell) > 16) + memmove(&shell, &shell[27], strlen(shell)); // android shell was too long, this works only for termux // truncate CPU name truncate_name(cpu_model); @@ -265,11 +310,14 @@ void get_info() { // get all necessary info FILE *meminfo; meminfo = popen("LANG=EN_us free 2> /dev/null", "r"); - while (fgets(line, sizeof(line), meminfo)) { + while (fgets(line, sizeof(line), meminfo)) + { // free command prints like this: "Mem:" total used free shared buff/cache available - if (sscanf(line, "Mem: %d %d", &ram_total, &ram_used)) { + if (sscanf(line, "Mem: %d %d", &ram_total, &ram_used)) + { // convert to megabytes - if (ram_total > 0 && ram_used > 0) { + if (ram_total > 0 && ram_used > 0) + { // data is in bytes ram_total /= 1024; ram_used /= 1024; @@ -280,16 +328,18 @@ void get_info() { // get all necessary info fclose(meminfo); /* ---------- gpu ---------- */ - int gpun = 0; // number of the gpu that the program is searching for to put in the array + int gpun = 0; // number of the gpu that the program is searching for to put in the array setenv("LANG", "en_US", 1); // force language to english FILE *gpu; gpu = popen("lshw -class display 2> /dev/null", "r"); // add all gpus to the array gpu_model (up to 8 gpus) while (fgets(line, sizeof(line), gpu)) - if (sscanf(line, " product: %[^\n]", gpu_model[gpun])) gpun++; + if (sscanf(line, " product: %[^\n]", gpu_model[gpun])) + gpun++; - if (strlen(gpu_model[0]) < 2) { + if (strlen(gpu_model[0]) < 2) + { // get gpus with lspci command if (strcmp(version_name, "android") != 0) gpu = popen("lspci -mm 2> /dev/null | grep \"VGA\" | cut --fields=4,6 -d '\"' --output-delimiter=\" \" | sed \"s/ Controller.*//\"", "r"); @@ -298,13 +348,16 @@ void get_info() { // get all necessary info } // get all the gpus - while (fgets(line, sizeof(line), gpu)) { - if (sscanf(line, "%[^\n]", gpu_model[gpun])) gpun++; + while (fgets(line, sizeof(line), gpu)) + { + if (sscanf(line, "%[^\n]", gpu_model[gpun])) + gpun++; } fclose(gpu); // truncate GPU name and remove square brackets - for (int i = 0; i < gpun; i++) { + for (int i = 0; i < gpun; i++) + { remove_brackets(gpu_model[i]); truncate_name(gpu_model[i]); } @@ -313,215 +366,278 @@ void get_info() { // get all necessary info pkgs = pkgman(); } -void list(char *arg) { // prints distribution list +void list(char *arg) +{ // prints distribution list // distributions are listed by distribution branch // to make the output easier to understand by the user. - printf( "%s -d \n" " Available distributions:\n" - " %sArch linux %sbased:\n" - " %sarch, artix, %smanjaro, \"manjaro-arm\"\n\n" - " %sDebian/%sUbuntu %sbased:\n" - " %sdebian, %slinuxmint, %spop, %sraspbian\n\n" - " %sBSD:\n" - " freebsd, %sopenbsd\n\n" - " %sOther/spare distributions:\n" - " %salpine, %sfedora, %sgentoo, %s\"void\", \"opensuse-leap\", android, %sgnu, guix, %sunknown\n", - arg, - BLUE, NORMAL, BLUE, GREEN, // Arch based colors - RED, YELLOW, NORMAL, RED, GREEN, BLUE, RED, // Debian based colors - RED, YELLOW, // BSD colors - NORMAL, BLUE, BLUE, PINK, GREEN, YELLOW, WHITE); // Other/spare distributions colors + printf("%s -d \n" + " Available distributions:\n" + " %sArch linux %sbased:\n" + " %sarch, artix, %smanjaro, \"manjaro-arm\"\n\n" + " %sDebian/%sUbuntu %sbased:\n" + " %sdebian, %slinuxmint, %spop, %sraspbian\n\n" + " %sBSD:\n" + " freebsd, %sopenbsd\n\n" + " %sOther/spare distributions:\n" + " %salpine, %sfedora, %sgentoo, %s\"void\", \"opensuse-leap\", android, %sgnu, guix, %sunknown\n", + arg, + BLUE, NORMAL, BLUE, GREEN, // Arch based colors + RED, YELLOW, NORMAL, RED, GREEN, BLUE, RED, // Debian based colors + RED, YELLOW, // BSD colors + NORMAL, BLUE, BLUE, PINK, GREEN, YELLOW, WHITE); // Other/spare distributions colors } -void print_ascii() { // prints logo (as ascii art) of the given system. distributions listed alphabetically. +void print_ascii() +{ // prints logo (as ascii art) of the given system. distributions listed alphabetically. // linux - if (strcmp(version_name, "alpine") == 0) { - printf( "\033[2E\033[4C%s. .___.\n" - " / \\/ \\ /\n" - " /OwO\\ɛU\\/ __\n" - " / \\ \\__/ \\\n" - "/ \\ \\\n\n\n", BLUE); - } else if (strcmp(version_name, "arch") == 0) { - printf( "\033[1E\033[8C%s/\\\n" - " / \\\n" - " /\\ \\\n" - " / > w <\\\n" - " / __ \\\n" - " / __| |__-\\\n" " /_-'' ''-_\\\n\n", BLUE); - } else if (strcmp(version_name, "artix") == 0) { - printf( "\033[1E\033[8C%s/\\\n" - " / \\\n" - " /`'.,\\\n" - " /\u2022 w \u2022 \\\n" - " / ,`\\\n" - " / ,.'`. \\\n" - " /.,'` `'.\\\n\n", BLUE); - } else if (strcmp(version_name, "debian") == 0) { - printf( "\033[1E\033[6C%s______\n" - " / ___ \\\n" - " | / OwO |\n" - " | \\____-\n" " -_\n" - " --_\n\n\n", RED); - } else if (strcmp(version_name, "fedora") == 0) { - printf( "\033[1E\033[8C%s_____\n" - " / __)%s\\\n" - " %s> %s| / %s<%s\\ \\\n" - " __%s_| %sw%s|_%s_/ /\n" - " / %s(_ _)%s_/\n" - " / / %s| |\n" - " %s\\ \\%s__/ |\n" - " %s\\%s(_____/\n", - BLUE, CYAN, WHITE, BLUE, WHITE, CYAN,BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE); - } else if (strcmp(version_name, "gentoo") == 0) { - printf( "\033[1E\033[3C%s_-----_\n" - " ( \\\n" - " \\ OwO \\\n" - "%s \\ )\n" - " / _/\n" - " ( _-\n" " \\____-\n\n", MAGENTA, WHITE); - } else if (strcmp(version_name, "gnu") == 0 || strcmp(version_name, "guix") == 0) { - printf( "\033[3E\033[3C%s,= %s,-_-. %s=.\n" - " ((_/%s)%sU U%s(%s\\_))\n" - " `-'%s(. .)%s`-'\n" - " %s\\%sw%s/\n" - " \u00af\n\n", WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW); - } else if (strcmp(version_name, "manjaro") == 0) { - printf( "\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n" - " \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"); - } else if (strcmp(version_name, "\"manjaro-arm\"") == 0) { - printf( "\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n" - " \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" - " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"); - } else if (strcmp(version_name, "linuxmint") == 0) { - printf( "\033[2E\033[4C%s__/\\____/\\.\n" - " |%s.--. %s|\n" - " %s, %s¯| %s| UwU| %s|\n" - " %s|| %s| %s| | %s|\n" - " %s | %s| %s---- %s|\n" - " %s --%s'--------'\n\n", GREEN, WHITE, GREEN, WHITE, - GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, - GREEN, WHITE, GREEN, WHITE, GREEN); - } else if (strcmp(version_name, "\"opensuse-leap\"") == 0 || strcmp(version_name, "\"opensuse-tumbleweed\"") == 0) { - printf( "\033[3E\033[3C%s|\\----/|\n" - " _ / %sO O%s\\\n" - " __. W /\n" - " '----'\n\n\n", GREEN, WHITE, GREEN); - } else if (strcmp(version_name, "pop") == 0) { - printf( "\033[2E\033[6C%s|\\.-----./|\n" - " |/ \\|\n" - " | > < |\n" - " | %s~ %sP! %s~ %s|\n" - "_ ---\\ w /\n" - " \\_/ '-----'\n\n", BLUE, LPINK, WHITE, LPINK, BLUE); - } else if (strcmp(version_name, "raspbian") == 0) { - printf( "\033[0E\033[6C%s__ __\n" - " (_\\)(/_)\n" - " %s(>(__)<)\n" - " (_(_)(_)_)\n" - " (_(__)_)\n" - " (__)\n\n\n", GREEN, RED); - } else if (strcmp(version_name, "ubuntu") == 0) { - printf( "\033[1E\033[9C%s_\n" - " %s\u25E3%s__(_)%s\u25E2%s\n" - " _/ --- \\\n" - " (_) |>w<| |\n" - " \\ --- _/\n" - " %sC__/%s---(_)\n\n\n", - LPINK, PINK, LPINK, PINK, LPINK, PINK, LPINK); - } else if (strcmp(version_name, "\"void\"") == 0) { - printf( "\033[2E\033[2C%s |\\_____/|\n" - " _\\____ |\n" - " | \\ \\ |\n" - " | | %s\u00d2w\u00d3 %s| | ,\n" - " | \\_____\\_|-, |\n" - " -_______\\ \\_/\n\n", GREEN, WHITE, GREEN); - } else if (strcmp(version_name, "android") == 0) { // android at the end because it could be not considered as an actual distribution of gnu/linux - printf( "\033[2E\033[3C%s\\ _------_ /\n" - " / \\\n" - " | %s~ %s> w < %s~ %s|\n" - " ------------\n\n\n\n", GREEN, RED, GREEN, RED, GREEN); - + if (strcmp(version_name, "alpine") == 0) + { + printf("\033[2E\033[4C%s. .___.\n" + " / \\/ \\ /\n" + " /OwO\\ɛU\\/ __\n" + " / \\ \\__/ \\\n" + "/ \\ \\\n\n\n", + BLUE); + } + else if (strcmp(version_name, "arch") == 0) + { + printf("\033[1E\033[8C%s/\\\n" + " / \\\n" + " /\\ \\\n" + " / > w <\\\n" + " / __ \\\n" + " / __| |__-\\\n" + " /_-'' ''-_\\\n\n", + BLUE); + } + else if (strcmp(version_name, "artix") == 0) + { + printf("\033[1E\033[8C%s/\\\n" + " / \\\n" + " /`'.,\\\n" + " /\u2022 w \u2022 \\\n" + " / ,`\\\n" + " / ,.'`. \\\n" + " /.,'` `'.\\\n\n", + BLUE); + } + else if (strcmp(version_name, "debian") == 0) + { + printf("\033[1E\033[6C%s______\n" + " / ___ \\\n" + " | / OwO |\n" + " | \\____-\n" + " -_\n" + " --_\n\n\n", + RED); + } + else if (strcmp(version_name, "fedora") == 0) + { + printf("\033[1E\033[8C%s_____\n" + " / __)%s\\\n" + " %s> %s| / %s<%s\\ \\\n" + " __%s_| %sw%s|_%s_/ /\n" + " / %s(_ _)%s_/\n" + " / / %s| |\n" + " %s\\ \\%s__/ |\n" + " %s\\%s(_____/\n", + BLUE, CYAN, WHITE, BLUE, WHITE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE, CYAN, BLUE); + } + else if (strcmp(version_name, "gentoo") == 0) + { + printf("\033[1E\033[3C%s_-----_\n" + " ( \\\n" + " \\ OwO \\\n" + "%s \\ )\n" + " / _/\n" + " ( _-\n" + " \\____-\n\n", + MAGENTA, WHITE); + } + else if (strcmp(version_name, "gnu") == 0 || strcmp(version_name, "guix") == 0) + { + printf("\033[3E\033[3C%s,= %s,-_-. %s=.\n" + " ((_/%s)%sU U%s(%s\\_))\n" + " `-'%s(. .)%s`-'\n" + " %s\\%sw%s/\n" + " \u00af\n\n", + WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW); + } + else if (strcmp(version_name, "manjaro") == 0) + { + printf("\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n" + " \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"); + } + else if (strcmp(version_name, "\"manjaro-arm\"") == 0) + { + printf("\033[0E\033[1C\u25b3 \u25b3 \u25e0\u25e0\u25e0\u25e0\n" + " \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m\e[0;42m\e[1;30m > w < \e[0m\e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n" + " \e[0;42m \e[0m \e[0;42m \e[0m \e[0;42m \e[0m\n"); + } + else if (strcmp(version_name, "linuxmint") == 0) + { + printf("\033[2E\033[4C%s__/\\____/\\.\n" + " |%s.--. %s|\n" + " %s, %s¯| %s| UwU| %s|\n" + " %s|| %s| %s| | %s|\n" + " %s | %s| %s---- %s|\n" + " %s --%s'--------'\n\n", + GREEN, WHITE, GREEN, WHITE, + GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, GREEN, WHITE, + GREEN, WHITE, GREEN, WHITE, GREEN); + } + else if (strcmp(version_name, "\"opensuse-leap\"") == 0 || strcmp(version_name, "\"opensuse-tumbleweed\"") == 0) + { + printf("\033[3E\033[3C%s|\\----/|\n" + " _ / %sO O%s\\\n" + " __. W /\n" + " '----'\n\n\n", + GREEN, WHITE, GREEN); + } + else if (strcmp(version_name, "pop") == 0) + { + printf("\033[2E\033[6C%s|\\.-----./|\n" + " |/ \\|\n" + " | > < |\n" + " | %s~ %sP! %s~ %s|\n" + "_ ---\\ w /\n" + " \\_/ '-----'\n\n", + BLUE, LPINK, WHITE, LPINK, BLUE); + } + else if (strcmp(version_name, "raspbian") == 0) + { + printf("\033[0E\033[6C%s__ __\n" + " (_\\)(/_)\n" + " %s(>(__)<)\n" + " (_(_)(_)_)\n" + " (_(__)_)\n" + " (__)\n\n\n", + GREEN, RED); + } + else if (strcmp(version_name, "ubuntu") == 0) + { + printf("\033[1E\033[9C%s_\n" + " %s\u25E3%s__(_)%s\u25E2%s\n" + " _/ --- \\\n" + " (_) |>w<| |\n" + " \\ --- _/\n" + " %sC__/%s---(_)\n\n\n", + LPINK, PINK, LPINK, PINK, LPINK, PINK, LPINK); + } + else if (strcmp(version_name, "\"void\"") == 0) + { + printf("\033[2E\033[2C%s |\\_____/|\n" + " _\\____ |\n" + " | \\ \\ |\n" + " | | %s\u00d2w\u00d3 %s| | ,\n" + " | \\_____\\_|-, |\n" + " -_______\\ \\_/\n\n", + GREEN, WHITE, GREEN); + } + else if (strcmp(version_name, "android") == 0) + { // android at the end because it could be not considered as an actual distribution of gnu/linux + printf("\033[2E\033[3C%s\\ _------_ /\n" + " / \\\n" + " | %s~ %s> w < %s~ %s|\n" + " ------------\n\n\n\n", + GREEN, RED, GREEN, RED, GREEN); } // BSD - else if (strcmp(version_name, "freebsd") == 0) { - printf( "\033[2E\033[1C%s/\\,-'''''-,/\\\n" - " \\_) (_/\n" - " | \\ / |\n" - " | O w O |\n" - " ; ;\n" " '-_____-'\n\n", RED); - - } else if (strcmp(version_name, "openbsd") == 0) { - printf( "\033[1E\033[3C%s ______ \n" - " \\- -/ %s\u2665 \n" - "%s\\_/ \\ \n" - "| %s> < %s| \n" - "|_ < %s// %sW %s// \n" - "%s/ \\ / \n" - " /-________-\\ \n\n", - YELLOW, RED, YELLOW, WHITE, YELLOW, LPINK, WHITE, LPINK, YELLOW); - + else if (strcmp(version_name, "freebsd") == 0) + { + printf("\033[2E\033[1C%s/\\,-'''''-,/\\\n" + " \\_) (_/\n" + " | \\ / |\n" + " | O w O |\n" + " ; ;\n" + " '-_____-'\n\n", + RED); + } + else if (strcmp(version_name, "openbsd") == 0) + { + printf("\033[1E\033[3C%s ______ \n" + " \\- -/ %s\u2665 \n" + "%s\\_/ \\ \n" + "| %s> < %s| \n" + "|_ < %s// %sW %s// \n" + "%s/ \\ / \n" + " /-________-\\ \n\n", + YELLOW, RED, YELLOW, WHITE, YELLOW, LPINK, WHITE, LPINK, YELLOW); } // everything else - else printf( "\033[0E\033[2C%s._.--._.\n" - " \\|>%s_%s< |/\n" - " |%s:_/%s |\n" - " // \\ \\ ?\n" - " (| | ) /\n" - " %s/'\\_ _/`\\%s-\n" - " %s\\___)=(___/\n\n", - WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW); + else + printf("\033[0E\033[2C%s._.--._.\n" + " \\|>%s_%s< |/\n" + " |%s:_/%s |\n" + " // \\ \\ ?\n" + " (| | ) /\n" + " %s/'\\_ _/`\\%s-\n" + " %s\\___)=(___/\n\n", + WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW, WHITE, YELLOW); } -void print_image() { // prints logo (as an image) of the given system. distributions listed alphabetically. +void print_image() +{ // prints logo (as an image) of the given system. distributions listed alphabetically. char command[256]; if (strlen(image_name) > 1) sprintf(command, "viu -t -w 18 -h 8 %s 2> /dev/null", image_name); - else { - if (strcmp(version_name, "android") == 0) sprintf(command, "viu -t -w 18 -h 8 /data/data/com.termux/files/usr/lib/uwufetch/%s.png 2> /dev/null", version_name); - else sprintf(command, "viu -t -w 18 -h 8 /usr/lib/uwufetch/%s.png 2> /dev/null", version_name); + else + { + if (strcmp(version_name, "android") == 0) + sprintf(command, "viu -t -w 18 -h 8 /data/data/com.termux/files/usr/lib/uwufetch/%s.png 2> /dev/null", version_name); + else + sprintf(command, "viu -t -w 18 -h 8 /usr/lib/uwufetch/%s.png 2> /dev/null", version_name); } printf("\n"); - if (system(command) != 0) { // if viu is not installed or the image is missing - printf( "\033[0E\033[3C%s\n" - " There was an\n" - " error: viu\n" - " is not installed\n" - " or the image\n" - " is not fount\n" - " Read IMAGES.md\n" " for more info.\n\n", RED); + if (system(command) != 0) + { // if viu is not installed or the image is missing + printf("\033[0E\033[3C%s\n" + " There was an\n" + " error: viu\n" + " is not installed\n" + " or the image\n" + " is not fount\n" + " Read IMAGES.md\n" + " for more info.\n\n", + RED); } } -void usage(char *arg) { - printf( "Usage: %s \n" - " -a, --ascii prints logo as ascii text (default)\n" - " -c, --custom choose a custom image\n" // this options should be different, maybe merged with `-i` - " --config use custom config path\n" - " -d, --distro lets you choose the logo to print\n" - " -h, --help prints this help page\n" - " -i, --image prints logo as image\n" // someone should add an optional argument to change image without using `-c`, but I don't know how to do it. - " %sworks in most terminals\n" - " read README.md for more info%s\n" - " -l, --list lists all supported distributions\n", - arg, BLUE, NORMAL); +void usage(char *arg) +{ + printf("Usage: %s \n" + " -a, --ascii prints logo as ascii text (default)\n" + " -c, --custom choose a custom image\n" // this options should be different, maybe merged with `-i` + " --config use custom config path\n" + " -d, --distro lets you choose the logo to print\n" + " -h, --help prints this help page\n" + " -i, --image prints logo as image\n" // someone should add an optional argument to change image without using `-c`, but I don't know how to do it. + " %sworks in most terminals\n" + " read README.md for more info%s\n" + " -l, --list lists all supported distributions\n", + arg, BLUE, NORMAL); } -void uwu_name() { // uwufies distro name +void uwu_name() +{ // uwufies distro name -#define STRING_TO_UWU(original, uwufied) if (strcmp(version_name, original) == 0) sprintf(version_name, "%s", uwufied) +#define STRING_TO_UWU(original, uwufied) \ + if (strcmp(version_name, original) == 0) \ + sprintf(version_name, "%s", uwufied) // linux STRING_TO_UWU("alpine", "Nyalpine"); @@ -549,14 +665,14 @@ void uwu_name() { // uwufies distro name else STRING_TO_UWU("android", "Nyandroid"); // android at the end because it could be not considered as an actual distribution of gnu/linux // BSD - else STRING_TO_UWU - ("freebsd", "FweeBSD"); - else STRING_TO_UWU - ("openbsd", "OwOpenBSD"); + else STRING_TO_UWU("freebsd", "FweeBSD"); + else STRING_TO_UWU("openbsd", "OwOpenBSD"); - else { + else + { sprintf(version_name, "%s", "unknown"); - if (ascii_image_flag == 1) { + if (ascii_image_flag == 1) + { print_image(); printf("\n"); } @@ -564,18 +680,24 @@ void uwu_name() { // uwufies distro name #undef STRING_TO_UWU } -void truncate_name(char *name) { +void truncate_name(char *name) +{ for (int i = target_width; i < 256; i++) name[i] = '\0'; } // remove square brackets (for gpu names) -void remove_brackets(char *str) { +void remove_brackets(char *str) +{ int i = 0, j; - while (i < (int) strlen(str)) { - if (str[i] == '[' || str[i] == ']') { - for (j = i; j < (int) strlen(str); j++) + while (i < (int)strlen(str)) + { + if (str[i] == '[' || str[i] == ']') + { + for (j = i; j < (int)strlen(str); j++) str[j] = str[j + 1]; - } else i++; + } + else + i++; } } diff --git a/uwufetch_man.md b/uwufetch_man.md index 36dba69..a029236 100644 --- a/uwufetch_man.md +++ b/uwufetch_man.md @@ -1,101 +1,113 @@ % UWUFETCH(1) uwufetch 1.2 % TheDarkBug % April 2021 + + # NAME + uwufetch - A meme system info tool for Linux, based on nyan/uwu trend on r/linuxmasterrace. # SYNOPSIS + **uwufetch** [*OPTIONS*] [*ARGUMENTS*]\ ## OPTIONS --a --ascii\ + +-a --ascii\ prints the logo as ascii text (default) --c --custom\ +-c --custom\ you can choose a custom image path --config\ you can change config path --d --distro\ +-d --distro\ you can choose the logo to print by the distro name --h --help\ +-h --help\ prints a help page --i --image\ +-i --image\ prints image instead of ascii logo --l --list\ +-l --list\ prints a list of all supported distributions # CONFIG FILE + The config file is located in $HOME/.config/uwufetch/config (you need to create it), but you can change the path by using the `--config` option. ## OPTIONS -distribution=name\ \ \ \ \ # use it to change displayed distribution\ -image=/path/to/image\ \ \ # enable images (leave blank), or use custom image path\ -nouser\ \ \ \ \ \ \ \ \ \ \ # disable username and hostname\ -noos\ \ \ \ \ \ \ \ \ \ \ # disable os\ -nokernel\ \ \ \ \ \ \ \ \ # disable kernel\ -nocpu\ \ \ \ \ \ \ \ \ \ \ # disable cpu\ -nogpu\ \ \ \ \ \ \ \ \ \ \ # disable gpu\ -noram\ \ \ \ \ \ \ \ \ \ \ # disable ram\ -noshell\ \ \ \ \ \ \ \ \ \ # disable shell\ -nopkgs\ \ \ \ \ \ \ \ \ \ \ # disable pkgs\ -nouptime\ \ \ \ \ \ \ \ \ # disable uptime\ -nocolors\ \ \ \ \ \ \ \ \ # disable colors + +distribution=name\ \ \ \ \ # use it to change displayed distribution\ +image=/path/to/image\ \ \ # enable images (leave blank), or use custom image path\ +nouser\ \ \ \ \ \ \ \ \ \ \ # disable username and hostname\ +noos\ \ \ \ \ \ \ \ \ \ \ # disable os\ +nokernel\ \ \ \ \ \ \ \ \ # disable kernel\ +nocpu\ \ \ \ \ \ \ \ \ \ \ # disable cpu\ +nogpu\ \ \ \ \ \ \ \ \ \ \ # disable gpu\ +noram\ \ \ \ \ \ \ \ \ \ \ # disable ram\ +noshell\ \ \ \ \ \ \ \ \ \ # disable shell\ +nopkgs\ \ \ \ \ \ \ \ \ \ \ # disable pkgs\ +nouptime\ \ \ \ \ \ \ \ \ # disable uptime\ +nocolors\ \ \ \ \ \ \ \ \ # disable colors # SUPPORTED DISTRIBUTIONS -Distribution name\ \ \ \ \ -d option -Nyalpine\ \ \ \ \ \ \ \ \ alpine\ -Nyarch Linuwu\ \ \ \ \ \ \ arch\ -Nyartix Linuwu\ \ \ \ \ \ \ artix\ -Debinyan\ \ \ \ \ \ \ \ \ debian\ -Fedowa\ \ \ \ \ \ \ \ \ \ \ fedora\ -GentOwO\ \ \ \ \ \ \ \ \ \ gentoo\ -GnUwU gUwUix\ \ \ \ \ \ \ guix\ -Miwint\ \ \ \ \ \ \ \ \ \ \ linuxmint\ -Myanjawo\ \ \ \ \ \ \ \ \ manjaro\ -Myanjawo AWM\ \ \ \ \ \ \ \\"manjaro-arm\\"\ -OwOpenSUSE\ \ \ \ \ \ \ \ \ \\"opensuse-leap\\"\ -Pop OwOs\ \ \ \ \ \ \ \ \ pop\ -RaspNyan\ \ \ \ \ \ \ \ \ raspbian\ -UwUntu\ \ \ \ \ \ \ \ \ \ \ ubuntu\ -OwOid\ \ \ \ \ \ \ \ \ \ \ \\"void\\"\ -Nyandroid\ \ \ \ \ \ \ \ \ android\ -Unknown (tux logo)\ \ \ \ \ unknown +Distribution name\ \ \ \ \ -d option + +Nyalpine\ \ \ \ \ \ \ \ \ alpine\ +Nyarch Linuwu\ \ \ \ \ \ \ arch\ +Nyartix Linuwu\ \ \ \ \ \ \ artix\ +Debinyan\ \ \ \ \ \ \ \ \ debian\ +Fedowa\ \ \ \ \ \ \ \ \ \ \ fedora\ +GentOwO\ \ \ \ \ \ \ \ \ \ gentoo\ +GnUwU gUwUix\ \ \ \ \ \ \ guix\ +Miwint\ \ \ \ \ \ \ \ \ \ \ linuxmint\ +Myanjawo\ \ \ \ \ \ \ \ \ manjaro\ +Myanjawo AWM\ \ \ \ \ \ \ \\"manjaro-arm\\"\ +OwOpenSUSE\ \ \ \ \ \ \ \ \ \\"opensuse-leap\\"\ +Pop OwOs\ \ \ \ \ \ \ \ \ pop\ +RaspNyan\ \ \ \ \ \ \ \ \ raspbian\ +UwUntu\ \ \ \ \ \ \ \ \ \ \ ubuntu\ +OwOid\ \ \ \ \ \ \ \ \ \ \ \\"void\\"\ +Nyandroid\ \ \ \ \ \ \ \ \ android\ +Unknown (tux logo)\ \ \ \ \ unknown --image/ascii only distributions--\ -endeavOwO\ \ \ \ \ \ \ \ \ endeavour\ -KDE NeOwOn\ \ \ \ \ \ \ \ \ neon\ -nixOwOs\ \ \ \ \ \ \ \ \ \ nixos\ -Swackwawe\ \ \ \ \ \ \ \ \ slackware\ -sOwOlus\ \ \ \ \ \ \ \ \ \ solus\ -FweeBSD\ \ \ \ \ \ \ \ \ \ freebsd\ -OwOpenBSD\ \ \ \ \ \ \ \ \ openbsd +endeavOwO\ \ \ \ \ \ \ \ \ endeavour\ +KDE NeOwOn\ \ \ \ \ \ \ \ \ neon\ +nixOwOs\ \ \ \ \ \ \ \ \ \ nixos\ +Swackwawe\ \ \ \ \ \ \ \ \ slackware\ +sOwOlus\ \ \ \ \ \ \ \ \ \ solus\ +FweeBSD\ \ \ \ \ \ \ \ \ \ freebsd\ +OwOpenBSD\ \ \ \ \ \ \ \ \ openbsd # DESCRIPTION + Uwufetch is a program inspired by neofetch and ufetch, that takes system informations\ and prints them in the terminal in an UwU way, with and UwU ascii logo or image. # EXAMPLES -uwufetch -d arch\ \ \ \ \ \ \ \ \ \ # prints arch logo\ -uwufetch -\-custom some_image.png\ \ # prints custom image (does not need full path)\ -ueufetch -i -d artix\ \ \ \ \ \ \ \ # prints artix image + +uwufetch -d arch\ \ \ \ \ \ \ \ \ \ # prints arch logo\ +uwufetch -\-custom some_image.png\ \ # prints custom image (does not need full path)\ +ueufetch -i -d artix\ \ \ \ \ \ \ \ # prints artix image # DEPENDANCES -lshw\ \ better gpu info\ -viu\ \ \ print images instead of ascii logo\ -kitty\ \ better image viewing + +lshw\ \ better gpu info\ +viu\ \ \ print images instead of ascii logo\ +kitty\ \ better image viewing All of this are optional, there is no necessary dependancy. # LICENSE AND COPYRIGTH + uwufetch is provided under the GPL3 license, for copyright info read https://github.com/TheDarkBug/uwufetch/tree/main/res/COPYRIGHT.md.