# Fetch 1.1 changelog
![screenfetch mode](http://i.imgur.com/nW3HiNP.png)
New screenfetch mode
- If `w3m` or `imagemagick` aren't installed we gracefully fallback to ascii mode.
- Automatically find the `w3m-img` path and fallback to ascii mode if not found. \[1\]
- Fix padding escape codes on BSD systems.
- Swap escape codes from `\e` to `\033` for consistency.
- We only move the cursor to the bottom of the terminal in w3m/iterm2 rendering modes.
- Cursor position is now dynamic in ascii mode based on the height of the ascii and info text.
- If images and ascii are off, don't clear the terminal
- The script now exits correctly instead of always exiting with status code `1`
- If the script exits for any reason, unhide the cursor.
- Removed duplicate blocks inside `getcpu` and `getmemory`.
- Removed `--colors` as it was apparently broken from day 1.
- Usage has been reformatted so that every flag has a value.
\[1\] Setting `$w3m_img_path` will make the script look there first.
### Image
- Added support for displaying ascii art inside of text files.
- Added "screenfetch mode" which will display your distro's ascii art next to the info. \[1\]
- Added `--ascii_distro` to choose which distro's ascii logo to display.
- Added `--ascii_colors` and `$ascii_colors` which allow you to change the colors of the ascii art
and distro logos. \[2\]
- Added `--size` and `$image_size` to set the image size in pixels.
- Rename `--shuffledir` and `$shuffledir` to `shuffle_dir`.
- Rename `--imgtempdir` and `$imgtempdir` to `thumbnail_dir`
- Removed `--split_size` and `$split_size` as they were weird and confusing to use.
- Default thumbnail directory is now `$HOME/.cache/thumbnails/fetch`. Thanks @tudurom
- If `--image` and `--ascii` are left empty we fallback to ascii distro mode.
Example usage of ascii from file:
```sh
fetch --ascii "path/to/ascii" --ascii_color 2
```
\[1\] **[How do I enable screenfetch mode?](http://github.com/dylanaraps/fetch#how-do-i-enable-screenfetch-mode)**
\[2\] `ascii_colors` takes a range of colors which allows you to color every aspect of
distro and OS ascii art. For custom art the script will color the entirety of it using
the first value of `ascii_colors`. If `ascii_colors` is left empty, color will be disabled.
### Config file
- Fetch now has a config file that you can share with people and keep between
script versions!
- Added `--config` and `$config_file` to specify a custom config location.
- Added `--config off`, `--config none` and `$config` to enable / disable config files
at launch or in script.
### Makefile
- Fetch now has a make file due to the increasing number of files,
this allows the script to be easily installed and uninstalled on
systems it isn't packaged for yet! \[1\]
\[1\] The script will still work just fine on its own, you'll just be missing
the distro ascii art and the automatic config creation.
### Packages
- Fetch now has a Gentoo/Funtoo e-build courtesy of @z1lt0id
### Stdout
- Added `stdout` mode which allows you to fetch info in a plain text format that works
with lemonbar and in your scripts. You can use it by launching fetch with `--stdout` to print all functions enabled
in your `printinfo` function. You can selectively print functions by passing arguments to `--stdout`
like so:
```sh
# Print the output of all info functions enabled in printinfo
fetch --stdout
# Print the output of memory
fetch --stdout memory
# Print the output of memory and disk
fetch --stdout disk
# Print the output of all functions excluding x
fetch --stdout --disable kernel packages gtktheme
```
- Added `--stdout_separator` and `$stdout_separator` which takes a string and adds it
as a separator between the output.
- Added `--stdout_title` and `$stdout_title` which allow you to toggle the `title@hostname`
from appearing in the output.
- Added `--stdout_subtitles` which allow you to toggle the `Info:` titles from appearing in
the output.
```sh
# Hiding subtitles
fetch --stdout --stdout_subtitles off
# Custom separator
fetch --stdout disk gpu --stdout_separator " | "
```
**NOTE:** `stdout_subtitles` and `stdout_title` only work when `--stdout` is used on its own.
### Info
- You can now display info without a subtitle. eg. `info memory`
- Added `--disable` which allows you to stop an info line from appearing at launch.
- Added `--underline` and `$underline` which allow you to toggle visibility of the
underline at launch and in your config.
```sh
# Stop cpu, gpu, disk and shell functions from being called
fetch --disable cpu gpu disk shell
```
**Kernel:** Added `--kernel_shorthand` and `$kernel_shorthand` to print less or more kernel info
**Window Manager:** Added support for `$XINITRC`
**GTK:** Fix incorrect GTK3 theme being displayed
**CPU:** `cpu_shorthand`: New substitutions
**GPU:** `[Linux]` Count the number of identical GPUs. eg. `Nvidia Geforce GTX 970 x 2`
**Memory:** `[Mac OS X]` Added wired memory to memory usage.
**Distro:**
- Added support for showing OS architecture. eg `Arch Linux x86_64`, `Windows 7 Ultimate 64-bit` \[1\]
- Mac OS X: Added support for showing Max OS X build version. \[2\]
- Windows: Distro now displays Windows edition. eg. `Windows 7 Ultimate`
\[1\] You can toggle this using `--os_arch` and `$os_arch`.
\[2\] You can toggle it using `--osx_buildversion` and `$osx_buildversion`.
**Shell:**
- Added `--shell_version` and `$shell_version` to hide/show your shell's version.
- Added `--shell_path` and `$shell_path` to hide/show the path to your shell
**Birthday:**
- Added `birthday` which prints the age of your OS install.
- Added `--birthday_shorthand` and `$birthday_shorthand` to shorten/lengthen
the output of birthday.
- Added `--birthday_time` and `$birthday_time` to show/hide the time in the output.
**Battery:**
- Added `battery` which prints the battery usage percentage for each battery
in your system.
- Linux: Added `battery_num` which allows you to choose which battery to display,
it also takes the value `all` which will print all batteries line by line.
- Linux: Added `battery_shorthand` which when set to `on` prints each battery on the
same line like so:
```sh
# battery_shorthand="on"
Battery: 10%, 5%, 67%
# battery_shorthand="off"
Battery0: 10%
Battery1: 5%
Battery2: 67%
# If there's only a single battery in the system
# we ommit the numbered title.
Battery: 10%
```
- **NOTE:** This currently doesn't support BSD systems as we have no one to help us test
- See **[Issue #46](https://github.com/dylanaraps/fetch/issues/46)**