5

Whenever I open an image in feh, the background is set to the standard, dark gray and gray checkboard pattern like this:

enter image description here

As you can see, it's the checkboard background. How do I permanently change this to black?

I've search Google and other places, but I can't seem to find a straight answer. I'm guessing feh's config file is involved, but I can't find any examples of how to do it in the config file. I know you can do it in the command line with --bg-color black (or something) but I'd like to just have it set to black by default.

4 Answers 4

5

It seems that you cannot put your desired default options in a config file.

If you know about $PATH you can resort to a hack.

Create this script:

#!/bin/sh
feh --bg-color black "$@"

Call it feh and place it in your $PATH before /usr/bin/ (assuming that feh itself is in /usr/bin/).

Some distros have ~/bin/ in $PATH by default. So you would put that script into ~/bin/ (and make it executable). Otherwise just create this folder yourself and prepend it to your $PATH.

Also, if you want to set multiple default options, you can group them into themes. (Theme is the feh developer's name for a named group of options.) Create ~/.config/feh/themes and add this line to that file:

default --bg-color black

feh -Tdefault will then start feh with your desired default options. This is handy if you want to set multiple options at once. Unfortunately there is no way to set a default theme either. So, in your case it doesn't help. But you can fallback to the same hack as above:

#!/bin/sh
feh -Tdefault "$@"

Alternative:

If you are just going to call feh manually from the commandline, you can instead set an alias in your shell. In bash you would add this line to your ~/.bashrc and restart the interpreter (e.g. re-open the terminal):

alias feh="feh --bg-color black"

In fish shell you would run:

abbr -a feh feh --bg-color black
3
  • 5
    In feh-3.1.1-1, I get unrecognized option '--bg-color'.
    – Kevin
    Jan 23, 2019 at 0:59
  • 2
    This answer need to be updated, the flag doesn't exist anymore, it is image-bg now. Moreover, we can customize feh by creating a $XDG_CONFIG_HOME/feh/themes instead of creating alias. Using themes file works even when using absolute path to feh. Specifically, the content of themes file for this to work is feh --image-bg black
    – DDMC
    Dec 22, 2020 at 3:49
  • It's been a while since I checked this thread but I'm impressed with the answers. I chose this one, even if it's out date, because the comments have the answer as well. Thanks.
    – M. Knepper
    Jun 1, 2021 at 4:25
4

I would like to add this as a comment to the only answer but I do not have enough reputation.

A look into the man page of feh reveals that the alias should look like this:

alias feh="feh --image-bg black -Z -."

I also added -Z and -. for convenience, -Z zooms pictures to screen size, -. scales down images to fit window geometry

1

The default theme is named "feh", so you can add

feh --image-bg black

to ~/.config/feh/themes and it will be applied by default (unless you call feh with some other theme -Tother).

0

Another option (or in addition to the above) is to create/edit a feh.desktop file for "feh" application in ~/.local/share/applications. That way you'll have your default options for feh as used from your desktop "open with" menu. Normally, one would be created by the installation, but here you can edit your own default launch options out of the rich variety offered by feh program.

Mine looks like this:

[Desktop Entry]
Name=Feh-custom
Name[en_US]=feh
GenericName=Image viewer
GenericName[en_US]=Image viewer
Comment=Image viewer and cataloguer
Exec=feh --cache-size 200 -g 1400x800 --keep-zoom-vp --scale-down --start-at %F
Terminal=false
Type=Application
Icon=feh
Categories=Graphics;2DGraphics;Viewer;
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/webp;image/x-bmp;image/x-pcx;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-tga;image/x-xbitmap;
NoDisplay=true

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.