neofetch/README.md

422 lines
12 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: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-20 22:52:23 +00:00
**NOTE: See this wiki page for info on the new info function and it's usage**
https://github.com/dylanaraps/fetch/wiki/Customizing-Info
2015-12-30 10:18:17 +00:00
2016-01-21 06:32:31 +00:00
![1](http://i.imgur.com/oTxq5fA.png)
2015-12-30 10:18:17 +00:00
2016-01-20 09:40:17 +00:00
<!-- Table of Contents {{{ -->
## Table of Contents
- [Features](#features)
- [Dependencies](#dependencies)
- [Installation](#installation)
- [Post Install](#post-install)
- [Usage](#usage)
- [Frequently Asked Questions](#frequently-asked-questions)
- [Issues and Workarounds](#issues-and-workarounds)
- [Thanks](#thanks)
<!-- }}} -->
2016-01-08 23:45:20 +00:00
<!-- Features {{{ -->
## Features
2016-01-20 09:40:17 +00:00
- **Supports Linux, Mac OS X, BSD and Windows (Cygwin)!**
- If the script doesn't work on your system, open an issue.
2016-01-08 23:47:55 +00:00
- **It's Fast**
- The script makes heavy use of bash builtins and <br \>string manipulation.
2016-01-27 23:18:18 +00:00
- **Display an image next to the info.**
2016-01-20 09:40:17 +00:00
- Use your current wallpaper, shuffle through a directory or just <br \>display an image of your choice.
- Supports using w3m or iTerm2 to display the images.
2016-01-27 23:18:18 +00:00
- **Display ascii next to the info.**
- Use a file containing ascii art as the 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.**
- It's disabled by default and you can specify the cmd <br \>to use with `--scrotcmd cmd` at launch or by <br \>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-22 07:04:53 +00:00
### Required dependencies:
**All OS:**
2015-12-31 00:21:10 +00:00
2016-01-20 09:40:17 +00:00
- `Bash 4.0+`
2016-01-22 07:04:53 +00:00
**Linux / BSD / Windows:**
2016-01-18 01:55:38 +00:00
- Uptime detection: `procps` or `procps-ng`
2016-01-27 22:14:02 +00:00
2016-01-22 07:04:53 +00:00
### Optional dependencies:
2016-01-18 01:55:38 +00:00
2016-01-27 22:14:02 +00:00
**NOTE:** If `w3m` or `Imagemagick` aren't found then image support will be disabled.
2016-01-22 07:04:53 +00:00
**All OS:**
2016-01-18 01:55:38 +00:00
- Displaying Images: `w3m`
- You may also need `w3m-img`
- **Note:** The script can now also use iTerm2's builtin image rendering instead of w3m!<br \>
Enable it by changing `$image_backend` to `iterm2` or by using the launch flag `--image_backend`.
2016-01-18 01:55:38 +00:00
- Image Cropping, Resizing etc: `ImageMagick`
- More accurate window manager detection: `wmctrl` or `xprop`
2015-12-30 10:18:17 +00:00
2016-01-22 07:04:53 +00:00
**Linux / BSD:**
2016-01-18 01:55:38 +00:00
- Display Wallpaper: `feh`, `nitrogen` or `gsettings`
2016-01-22 07:04:53 +00:00
- Current Song: `mpc` or `cmus`
- Resolution Detection: `xorg-xdpyinfo`
- Take a screenshot on script finish: `scrot`
- You can change this to another program with a `--scrot_cmd` and an in script option.
2016-01-18 01:55:38 +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
2016-01-20 09:40:17 +00:00
1. Install **[fetch-git](https://aur.archlinux.org/packages/fetch-git/)** from the aur.
2016-01-09 02:27:37 +00:00
2016-01-29 01:13:48 +00:00
### Gentoo / Funtoo
1. Add the 3rd party repo
- `layman -o https://gist.githubusercontent.com/z1lt0id/24d45b15800b98975260/raw/2fdf6645cdc3c1ca0b0af83a7bf8f86598e386ae/fs0ciety.xml -f -a fs0ciety`
2. Sync the repos
- `layman -S`
3. To enable w3m and scrot support, enable the appropriate flags.
- `echo "x11-apps/fetch" >> /etc/portage/package.use`
4. Install the package
- `emerge -a x11-apps/fetch`
2016-01-09 02:27:37 +00:00
### Others
1. Download the latest source at https://github.com/dylanaraps/fetch
2. Make the file executable using chmod. `chmod +x /path/to/fetch`
2016-01-09 02:27:37 +00:00
3. Move the script to somewhere in your $PATH or just run it from where it is.
<!-- }}} -->
2016-01-18 01:43:06 +00:00
<!-- Post Install {{{ -->
2015-12-31 22:36:26 +00:00
2016-01-18 01:43:06 +00:00
## Post Install
2015-12-31 22:36:26 +00:00
2015-12-30 10:18:17 +00:00
2016-01-21 11:33:05 +00:00
#### Sizing the image correctly
**NOTE:** For the images to be sized correctly you need to set the `$font_width` variable.
2016-01-17 06:57:39 +00:00
If you don't know your font width in pixels keep trying values until the image is sized correctly.
You can also use the launch flag `--font_width` to set it on the fly.
2016-01-17 07:01:14 +00:00
2016-01-21 11:33:05 +00:00
#### Customizing what info gets displayed
At the top of the script there's a function that allows you to customize all of the info that gets displayed.
Here's what you can do:
- Add new info lines
- Change the ordering of the info
- Remove unwanted info lines
- Use bash syntax to control when info gets displayed
See this wiki page that goes more in-depth about it:
https://github.com/dylanaraps/fetch/wiki/Customizing-Info
#### Customizing the script using a custom alias
2016-01-20 22:03:11 +00:00
If you don't want to edit the script you can customize almost everything using launch flags!
2016-01-18 01:43:06 +00:00
Here's what my fetch alias looks like:
```sh
alias fetch2="fetch \
--block_range 1 8 \
--line_wrap off \
--bold off \
--uptime_shorthand on \
--gtk_shorthand on \
--colors 4 1 8 8 8 7 \
"
```
<!-- }}} -->
<!-- Usage {{{ -->
## Usage
2015-12-30 11:40:58 +00:00
usage: ${0##*/} --option "value"
2016-01-18 02:02:35 +00:00
Info:
2016-01-28 01:44:06 +00:00
--osx_buildversion Hide/Show Mac OS X build version.
--speed_type Change the type of cpu speed to display.
2016-01-24 22:07:53 +00:00
Possible values: current, min, max, bios,
2016-01-24 21:58:56 +00:00
scaling_current, scaling_min, scaling_max
NOTE: This only support Linux with cpufreq.
--kernel_shorthand Shorten the output of kernel
--uptime_shorthand Shorten the output of uptime (tiny, on, off)
--gpu_shorthand on/off Shorten the output of GPU
--gtk_shorthand on/off Shorten output of gtk theme/icons
--gtk2 on/off Enable/Disable gtk2 theme/icons output
--gtk3 on/off Enable/Disable gtk3 theme/icons output
--shell_path on/off Enable/Disable showing \$SHELL path
--shell_version on/off Enable/Disable showing \$SHELL version
2016-01-18 02:02:35 +00:00
Text Colors:
2016-01-25 22:35:12 +00:00
--colors 1 2 3 4 5 6 Change the color of text
(title, @, subtitle, colon, underline, info)
2016-01-18 02:02:35 +00:00
--title_color num Change the color of the title
2016-01-25 22:35:12 +00:00
--at_color num Change the color of "@" in title
2016-01-18 02:02:35 +00:00
--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.
2016-01-27 11:33:22 +00:00
Possible values: wall, shuffle, ascii,
/path/to/img, off
2016-01-25 22:35:12 +00:00
--image_backend Which program to use to draw images.
2016-01-27 04:02:15 +00:00
--shuffle_dir Which directory to shuffle for an image.
2016-01-18 02:02:35 +00:00
--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
2016-01-25 22:35:12 +00:00
NOTE: This only works with w3m
2016-01-18 02:02:35 +00:00
--yoffset px How close the image will be
to the top edge of the window
2016-01-25 22:35:12 +00:00
NOTE: This only works with w3m
2016-01-18 02:02:35 +00:00
--gap num Gap between image and text right side
to the top edge of the window
NOTE: --gap can take a negative value which will
move the text closer to the left side.
2016-01-18 02:02:35 +00:00
--clean Remove all cropped images
2016-01-27 11:33:22 +00:00
Ascii:
--ascii Where to get the ascii from, Possible values:
distro, /path/to/ascii
2016-01-27 11:33:22 +00:00
--ascii_color Color to print the ascii art
--ascii_distro distro Which Distro\'s ascii art to print
2016-01-27 11:33:22 +00:00
2016-01-18 02:02:35 +00:00
Screenshot:
2016-01-22 23:28:16 +00:00
--scrot /path/to/img Take a screenshot, if path is left empty
the screenshot function will use
\$scrot_dir and \$scrot_name.
2016-01-22 10:29:00 +00:00
--scrot_cmd Screenshot program to launch
2016-01-18 02:02:35 +00:00
Other:
--config Specify a path to a custom config file
--config none Launch the script without a config file
2016-01-18 02:02:35 +00:00
--help Print this text and exit
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-20 09:40:17 +00:00
<!-- Frequently Asked Questions {{{ -->
## Frequently Asked Questions
2016-01-28 09:11:18 +00:00
#### How do I enable screenfetch mode?
2016-01-29 01:31:26 +00:00
Launching the script with `--ascii distro` or setting `ascii="distro"` and `image="ascii"` <br \>
inside the script will launch the script in "screenfetch mode". The script will display your<br \>
distro's ascii next to the info, exactly like screenfetch.
2016-01-28 09:11:18 +00:00
![arch](https://camo.githubusercontent.com/972490362219f4aa087a0a9491df24d506590542/687474703a2f2f692e696d6775722e636f6d2f746741504a76322e706e67)
2016-01-20 09:40:17 +00:00
#### Why doesn't fetch support my wallpaper setter?
It's hard to add support for other wallpaper setters as<br \>
they don't provide a way of getting the current wallpaper from the cli.
If your wallpaper setter **does** provide a way of getting the current wallpaper<br \>
or you know where it's stored then adding support won't be a problem!<br \>
<!-- }}} -->
<!-- Issues and Workarounds {{{ -->
## Issues and Workarounds
2016-01-27 22:14:02 +00:00
#### fetch: line 1655: /usr/lib/w3m/w3mimgdisplay: No such file or directory
You're getting this error because the script can't find w3mimgdisplay in it's<br \>
default location. You can fix this by setting the config option `$w3m_img_path`<br \>
to the correct location of w3mimgdisplay.
Other places that `w3mimgdisplay` could located be are:
/usr/lib/w3m/w3mimgdisplay
/usr/libexec/w3m/w3mimgdisplay
/usr/lib64/w3m/w3mimgdisplay
/usr/libexec64/w3m/w3mimgdisplay
2016-01-27 22:14:02 +00:00
#### The image is blank and won't show up.
If the images display in `ranger` and `w3m` then it's an issue with my script and not<br \>
your terminal emulator.
Some terminal emulators don't support viewing images with w3m. You can either disable<br \>
images with `--image off` at launch or `image=off` inside the script.
#### The image is rendering with black lines in Urxvt while using an xft font.
This is an issue with w3mimgdisplay and not the script. You can find a possible workaround here:
https://github.com/hut/ranger/issues/86#issuecomment-17346249
#### The text is too long for my terminal window and wraps to the next line causing the image to not render correctly.
There are a few ways to fix this.
2016-01-25 22:35:12 +00:00
* Disable line wrapping with `line_wrap=off` in the script or with the launch flag `--line_wrap off`
* The uptime and gtk info lines each have a shorthand option that makes their output smaller. You can <br \>
enable them by changing these variables or using these flags.
```sh
# In script options
2016-01-22 07:04:53 +00:00
uptime_shorthand="on"
gtk_shorthand="on"
gpu_shorthand="on"
# Launch flags
--uptime_shorthand on
--gtk_shorthand on
2016-01-21 06:23:29 +00:00
--gpu_shorthand on
```
* Edit the info array to make the subtitles shorter
* Resizing the terminal so that the lines don't wrap.
#### The text is pushed over too far to the right
The easiest way to fix this is to change the value of `--gap` or `$gap`<br \>
to a negative value. For example `--gap -10` will move the text 10 spaces to the left.
2016-01-19 22:29:08 +00:00
#### getgpu doesn't show my exact video card name
2016-01-21 01:25:36 +00:00
If your `lspci | grep "VGA"` output looks like this:
2016-01-19 22:29:08 +00:00
```
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1401 (rev a1)
```
Instead of this:
```
01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 960] (rev a1)
```
Then you're affected by the issue.
This is caused by your `/usr/share/misc/pci.ids\*` files being outdated and you can fix it<br \>
by running this command as root.
```
sudo update-pciids
```
<!-- }}} -->
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.
2016-01-28 09:32:07 +00:00
- Screenfetch:
- I've used some snippets as a base for a few functions in this script.
- I've used the ascii art from here.
- @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
<!-- }}} -->