-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Images in the terminal
I get a lot of comments/questions about how to get w3m-img mode working with<br > neofetch. This wiki page will guide you through setting up neofetch/w3m-img and<br > will try to explain the various quirks of this mode.
-
w3m-img
- Image rendering in the terminal.
- This is sometimes bundled together with
w3m
. -
Terminology
andiTerm
users don't need to install w3m-img.
-
imagemagick
- Generating thumbnails and cropping the images.
-
A terminal emulator that supports
\033[14t
orxdotool
or<br >xwininfo + xprop
orxwininfo + xdpyinfo
- Getting the terminal window size in pixels so that we can size the image correctly.
Image mode requires a terminal emulator that plays nicely with w3m-img and<br >
supports the following escape sequence.
-
\033[14t
Prints terminal window size in pixels.Used to dynamically size the images.Used to dynamically pad the text.
The table below lists my testing of various terminal emulators, what works and<br > what doesn't.
Terminal Emulator | w3m-img | Quirks |
---|---|---|
Gnome-terminal | Yes | - Image disappears on window focus and resize<br>- Possible issues on Fedora, see #295 |
iTerm | N/A | See [1] |
konsole | Yes | |
st | Yes | Image disappears on window focus and resize |
Terminator | Yes | Image disappears on window focus and resize |
Terminology | N/A | See [2] |
Termite | Yes | |
tilda | No | |
URxvt | Yes |
|
Xfce4-terminal | Yes | |
Xterm | Yes |
[1] iTerm doesn't require w3m-img
to display images. Instead it uses a<br >
set of escape sequences built into iTerm.
[2] Terminology doesn't require w3m-img
to display images. Instead it uses<br>
a builtin program called tycat
.
Note: For image mode to work, the w3m-img
column must say yes
and you must have<br >
the dependencies installed.
Neofetch by default will try to use your current wallpaper as the image. If the<br >
wallpaper detection fails we fallback to ascii mode, when ths happens you should<br >
try and launch neofetch with --image path/to/image
or --image path/to/dir/
.
The list below shows the current wallpaper setters we support.
Linux / BSD
- feh
- nitrogren
- gsettings
Mac OS X / Windows
- Builtin wallpaper setter
If your wallpaper setter isn't listed here and there's an easy way to find where<br > the current wallpaper is stored, open an issue and I'll gladly add support for it.
Once you've installed w3m-img
, imagemagick
, have a terminal emulator that<br >
meets the criteria above and have a working image source, neofetch should<br >
display images correctly.
If neofetch still won't display the images then you should open a new issue on<br > github and provide me with a verbose log.
Neofetch has various flags/options that let you customize the image output.
Option Name | Launch Flag | Config Option | Args | Notes |
---|---|---|---|---|
Source | --image | image |
wall ascii /path/to/img /path/to/dir/ off
|
If an invalid image mode is specified neofetch will fallback to ascii mode. |
Size | --size | image_size |
auto 00px 00% none
|
|
Position | --image_position | image_position |
left right
|
Doesn't work with iTerm2 and Terminology |
Crop Mode | --crop_mode | crop_mode |
normal fit fill
|
See this wiki page for more info. What is waifu crop? |
Crop Offset | --crop_offset | crop_offset |
northwest north northeast west center east southwest south southeast
|
How this works: crop_gravity |
X offset | --xoffset | xoffset | num |
Doesn't work with iTerm2 and Terminology |
Y offset | --yoffset | yoffset | num |
Doesn't work with iTerm2 and Terminology |
Gap | --gap | gap | num |
Gap between image and text |
Clean | --clean | N/A | N/A | Remove all cropped images |