# fetch.sh https://github.com/dylanaraps/fetch.sh This is the home of my fetch script! This script gathers info about your system and prints it to the terminal. I've spent the past few days rewriting this and it now supports other distros as well as a ton of new features and bug fixes. If you're having any issues or have any ideas, please open an issue! I can't test on many other distros and I want this to work for as many people as possible. ![1](https://sr.ht/5aNV.png) ## Dependencies These are the script's dependencies: - Displaying Images: w3m - Image Cropping: ImageMagick - Display Wallpaper: feh - Current Song: mpc These are the script's optional dependencies - Window Manager Detection: wmctrl - You can manually set this at launch with: ```sh scrot.sh --winman string ``` ## Usage The whitespace ``` usage: scrot.sh [--colors 1 2 4 5] [--kernel "$(uname -rs)"] Info: --title string Change the title at the top --distro string/cmd Manually set the distro --kernel string/cmd Manually set the kernel --uptime string/cmd Manually set the uptime --packages string/cmd Manually set the package count --shell string/cmd Manually set the shell --winman string/cmd Manually set the window manager --cpu string/cmd Manually set the cpu name --memory string/cmd Manually set the memory --speed string/cmd Manually set the cpu speed --speed_type Change the type of cpu speed to get Possible values: current, min, max --song string/cmd Manually set the current song Text Colors: --colors 1 2 3 4 Change the color of text (title, subtitle, colon, info) --titlecol num Change the color of the title --subtitlecol num Change the color of the subtitle --coloncol num Change the color of the colons --infocol num Change the color of the info Color Blocks: --printcols start end Range of colors to print as blocks --nopal Disable the color blocks Image: --image Image to display with the script The image gets priority over other images: (wallpaper, \$img) --size px Change the size of the image --cropoffset value Change the crop offset. Possible values: northwest, north, northeast, west, center east, southwest, south, southeast --padding How many spaces to pad the text to the right --xoffset px How close the image will be to the left edge of the window --yoffset px How close the image will be to the top edge of the window --noimg Disable all images --nowall Disable the wallpaper function and fallback to \$img --clean Remove all cropped images Other: --help Print this text and exit ``` ## TODO Here's what's on my todo list - Add an easy way to define info prefixes at launch. - Find a reliable way to set the text padding dynamically. I can get this to
work based on font width but there's no reliable way of getting
fontwidth for every terminal afaik. If you've got any ideas on how to solve these problems, let me know! ## Customization I launch fetch using a shell function and a ton of flags. Here's how it looks: ```sh fetch () { fetch.sh \ --printcols 1 7 \ --cpu "AMD FX-6300" \ --song "$(mpc current | cut -c 1-30)" \ --uptime "$(uptime -p | sed -e 's/minutes/mins/')" \ --title "dylan's pc" \ $@ } ``` Notice how you can even pass commands? This allows you to easily use custom
commands or even just bare strings to change the info. ## Screenshots #### The color script is now builtin. ![2](https://sr.ht/Z9hZ.png) #### You can now customize the color of everything. ![3](https://sr.ht/hy7m.png) #### You can now disable all images with a flag. ![4](https://sr.ht/zujR.png)