neofetch/Readme.md

264 lines
7.8 KiB
Markdown
Raw Normal View History

2016-01-06 02:16:52 +00:00
# fetch
2015-12-30 10:20:53 +00:00
2016-01-15 23:21:28 +00:00
[[Features](#features)] [[Dependencies](#dependencies)] [[Installation](#installation)] [[Usage](#usage)] [[TODO](#todo)] [[Thanks](#thanks)]
2016-01-15 23:18:50 +00:00
This is the home of my fetch script! This script gathers info <br />
2016-01-08 23:45:20 +00:00
about your system and prints it to the terminal next to an image of your choice!
2015-12-30 10:18:17 +00:00
2016-01-13 01:47:46 +00:00
![1](http://i.imgur.com/bORHxT5.png)
2015-12-30 10:18:17 +00:00
2016-01-08 23:45:20 +00:00
<!-- Features {{{ -->
## Features
2016-01-08 23:47:55 +00:00
- **Supports Linux, Mac OS X and Windows (Cygwin)!**
2016-01-08 23:45:20 +00:00
- If the script isn't working on your system
open an issue.
2016-01-08 23:47:55 +00:00
- **It's Fast**
2016-01-08 23:45:20 +00:00
- The script makes heavy use of bash builtins
and string manipulation.
2016-01-08 23:47:55 +00:00
- **Display an image next to the info. (or not)**
2016-01-08 23:45:20 +00:00
- The script can use your wallpaper, shuffle through a
directory or just display an image.
2016-01-08 23:47:55 +00:00
- **Highly Customizable**
2016-01-08 23:45:20 +00:00
- You can customize almost everything.
- See Usage below or lines 23-233 in script
2016-01-08 23:47:55 +00:00
- **Take a screenshot at the end.**
2016-01-08 23:45:20 +00:00
- It's disabled by default and you can specify the cmd
to use with ```--scrotcmd cmd``` at launch or by
changing the value of ```$scrotcmd``` in the script.
2016-01-08 23:47:55 +00:00
- **Smart crop (or Waifu crop)**
2016-01-09 00:08:45 +00:00
- See https://github.com/dylanaraps/fetch/wiki/What-is-Smart-Crop%3F
2016-01-08 23:45:20 +00:00
<!-- }}} -->
2016-01-05 22:59:56 +00:00
<!-- Dependences {{{ -->
2015-12-31 22:36:26 +00:00
## Dependencies
2015-12-30 10:18:17 +00:00
2016-01-06 06:07:56 +00:00
2015-12-31 00:21:10 +00:00
These are the script's required dependencies
2016-01-09 22:02:13 +00:00
- Bash **4.0+**
2015-12-31 00:21:10 +00:00
- Text formatting, dynamic image size and padding: tput
2016-01-06 06:07:56 +00:00
- Uptime detection: procps or procps-ng
2015-12-31 00:21:10 +00:00
These are the script's optional dependencies:
2015-12-30 10:18:17 +00:00
- Displaying Images: w3m
2016-01-04 23:24:41 +00:00
- You may also need w3m-img
2015-12-30 10:18:17 +00:00
- Image Cropping: ImageMagick
- Display Wallpaper: feh
- Current Song: mpc
2016-01-04 05:00:19 +00:00
- Resolution Detection: xorg-xdpyinfo
2016-01-04 05:26:09 +00:00
- Window manager detection: wmctrl
- This is used as a fallback to parsing ```.xinitrc``` and ```$XDG_CURRENT_DESKTOP```.
2016-01-08 05:09:07 +00:00
- Take a screenshot on script finish: scrot
- You can change this to another program with a ```--scrotcmd``` and an in script option.
2015-12-30 10:18:17 +00:00
2015-12-31 22:36:26 +00:00
2015-12-31 22:33:08 +00:00
<!-- }}} -->
2015-12-30 10:18:17 +00:00
2015-12-31 22:33:08 +00:00
2016-01-09 02:27:37 +00:00
<!-- Installation {{{ -->
## Installation
### Arch
1. Install ```fetch-git``` from the aur.
### Others
1. Download the latest source at https://github.com/dylanaraps/fetch
2. Make the file executable using chmod. ```chmod +x /path/to/fetch```
3. Move the script to somewhere in your $PATH or just run it from where it is.
<!-- }}} -->
2016-01-05 22:59:56 +00:00
<!-- Usage {{{ -->
2015-12-31 22:36:26 +00:00
## Usage
2015-12-30 10:18:17 +00:00
2016-01-17 06:57:39 +00:00
**NOTE:** For the images to be sized correctly you need to set the ```$font_width``` variable.
If you don't know your font width in pixels keep trying values until the image is sized correctly.
2016-01-17 06:59:11 +00:00
You can customize what info to print by editing the info array near the top of the script.
The array looks like this:
2016-01-17 06:57:39 +00:00
```sh
info=(
"gettitle"
"underline"
"OS: getdistro"
"Kernel: getkernel"
"Uptime: getuptime"
"Packages: getpackages"
"Shell: getshell"
"Resolution: getresolution"
"Window Manager: getwindowmanager"
"GTK Theme: getgtktheme"
"Icons: getgtkicons"
"CPU: getcpu"
"Memory: getmemory"
"linebreak"
"getcols"
)
```
See these comments inside the script for more info:
https://github.com/dylanaraps/fetch/blob/master/fetch#L29
2016-01-13 01:35:38 +00:00
2015-12-31 00:21:10 +00:00
The script now supports dynamic image sizing and padding,
<br\> it's enabled by default and there's a variable you
2015-12-31 00:21:10 +00:00
<br\> need to set for it to work correctly.
You can either change the variable $fontwidth inside of the
<br\> script or launch it with ```--font_width num```.
2015-12-31 00:21:10 +00:00
Once you set the var the script will scale the image and padding
<br\> to fit your terminal window.
2015-12-30 11:40:58 +00:00
```
usage: ${0##*/} [--colors 1 2 3 4 5] [--kernel "\$\(uname -rs\)"]
Info:
--exclude "OS: getos" Disable an info line at launch
--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
--uptime_shorthand on/off --v
Shorten the output of uptime
--packages string/cmd Manually set the package count
--shell string/cmd Manually set the shell
--winman string/cmd Manually set the window manager
--use_wmctrl on/off Use wmctrl for a more accurate reading
--gtk_shorthand on/off Shorten output of gtk theme/icons
--cpu string/cmd Manually set the cpu name
--memory string/cmd Manually set the memory
--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 5 Change the color of text
(title, subtitle, colon, underline, info)
--title_color num Change the color of the title
--subtitle_color num Change the color of the subtitle
--colon_color num Change the color of the colons
--underline_color num Change the color of the underlines
--info_color num Change the color of the info
Text Formatting:
--underline on/off Enable/Disable title underline
--underline_char char Character to use when underlineing title
--line_wrap on/off Enable/Disable line wrapping
--bold on/off Enable/Disable bold text
--prompt_height num Set this to your prompt height to fix
issues with the text going off screen at the top
Color Blocks:
--color_blocks on/off Enable/Disable the color blocks
--block_width num Width of color blocks
--block_range start end --v
Range of colors to print as blocks
Image:
--image Image source. Where and what image we display.
Possible values: wall, shuffle, /path/to/img, off
--shuffledir Which directory to shuffle for an image.
--font_width px Used to automatically size the image
--image_position Where to display the image: (Left/Right)
--split_size num Width of img/text splits
A value of 2 makes each split half the terminal
width and etc
--crop_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
--yoffset px How close the image will be
to the top edge of the window
--gap num Gap between image and text right side
to the top edge of the window
--clean Remove all cropped images
Screenshot:
--scrot Take a screenshot
--scrotdir Directory to save the scrot
--scrotfile File name of scrot
--scrotcmd Screenshot program to launch
Other:
--clear on/off Whether or not to clear the terminal
before printing.
--help Print this text and exit
2015-12-30 11:40:58 +00:00
```
2015-12-30 10:18:17 +00:00
2015-12-31 22:36:26 +00:00
2015-12-31 22:33:08 +00:00
<!-- }}} -->
2015-12-30 10:18:17 +00:00
2016-01-05 22:59:56 +00:00
<!-- TODO {{{ -->
2015-12-31 22:36:26 +00:00
## TODO
2015-12-30 10:18:17 +00:00
Here's what's on my todo list
2016-01-08 10:00:29 +00:00
- Add Windows resolution detection
2015-12-31 22:33:08 +00:00
2016-01-08 10:00:29 +00:00
- Cleanup of info array handling
2016-01-03 09:02:39 +00:00
- Imagemagick optimizations
- More info outputs. Now that it's easy to customize what's printed and
everything is a function we can add optional support for pretty much anything.
2016-01-04 07:27:49 +00:00
- Resolution (Done!)
- GTK themes (Done!)
2016-01-03 09:02:39 +00:00
- Terminal Font
- GPU
- IP
- etc
2015-12-31 22:36:26 +00:00
2015-12-31 22:33:08 +00:00
<!-- }}} -->
2016-01-09 02:27:37 +00:00
<!-- Thanks {{{ -->
### Thanks
Thanks to:
2016-01-04 07:26:34 +00:00
- metakirby5: Providing great feedback as well as ideas for the script.
- Screenfetch: I've used some snippets as a base for a few functions in this script.
- @jrgz: Helping me test the Mac OS X version.
2016-01-09 01:53:20 +00:00
- @xDemonessx: Helping me test the Windows version.
2016-01-09 02:27:37 +00:00
<!-- }}} -->