1

The most popular way to set your background in i3 seems to be using feh, via something like:

exec_always feh --bg-fill /home/user/Pictures/wallpaper.jpg

in your ~/.config/i3/config file. Then, in ~/.Xresources you can configure URxvt to be transparent with something like:

URxvt.transparent:     true
URxvt.shading:         50
URxvt.blurRadius:      0
URxvt.background:      #d3d3d3
URxvt.foreground:      #1d1f21

And as you can see, those two things together work perfectly with feh on my home computer. Ignore the horrific color scheme for now.

enter image description here

Now, for various reasons I don't have access to feh due to limited yum repos at work. I can't download and compile it myself or anything like that either. As a substitute, I've been using ImageMagick and its display functionality to set my background with:

exec_always display -window root /home/user/Pictures/wallpaper.jpg

which by itself, does set the wallpaper and works with i3.

The problem is that when I do this, it seems like ImageMagick has just set an overlay rather than actually setting the root image and as a result URxvt just reads a default grey root image. Note that this is also my home computer, where feh works just fine so it is not a URxvt problem.

enter image description here

  1. Is there a different way to set my background using ImageMagick so that it actually sets the root wallpaper? This is the solution that I would prefer.
  2. Are there other pieces of software, or preferably commonly pre-installed tools (Oracle Linux), that can be used to set my wallpaper? Again, keep in mind that I don't have access to things like feh at work, and anything else I'd have to look and see. I've seen this post that mentions a few but haven't had time to check if they exist at work or not. 1. I also don't have access to things like compton, xcompmgr, etc. for true transparency.

Update: I have tried using xsetroot and converting my .jpg images to .bmp using ImageMagick's convert, but xsetroot only works with .xbm images which only support black and white. This won't work cause I'd like it to still be the same as the .jpg image shown.

ThoseKind
  • 754
  • 2
  • 13
  • 22
  • Please clarify what you mean by root image. JPG does not support transparency. Once you merge two images via transparency, there is no transparency left in the image. Only PNG in 8-bit mode will have transparency without an alpha channel (overlay?). So I am not sure what you are after. If you need the underlying image to be black where the alpha channel makes it transparent then you can modify your transparent image via `convert image.png -background black -alpha background image.png`. Some systems need the image under transparency to be black rather than contain the original texture. – fmw42 Apr 30 '19 at 18:17
  • If you want to convert a PNG image with transparency to JPG, then you will need to flatten it over a background color. `convert image.png -background white -flatten image.jpg`. Here I flatten over white. – fmw42 Apr 30 '19 at 18:19
  • @fmw42 By 'root' I simply mean the wallpaper that is used for the desktop. The transparency is simply a factor of the terminal emulator itself. So, I think your misunderstanding is that I am not trying to modify the image itself, my terminal emulator takes care of all the fake transparency stuff itself. What I am trying to do is figure out if there is a way to set the desktop wallpaper (root window) using ImageMagick's 'display' or with something like 'xsetroot', as 'display -window root image.jpg' seems to just overlay it, not actually set it. – ThoseKind Apr 30 '19 at 18:35
  • The problem with 'xsetroot' is that is appears to only work with .xbm images, which as far as my conversion attempts have gone are only black and white. I want an image that is just as high quality as the original .jpg if I am going to convert to bitmap. – ThoseKind Apr 30 '19 at 18:44
  • So it looks like xsetroot only works with .xbm images, which are monochromatic and can only be black and white, which won't work. – ThoseKind Apr 30 '19 at 18:53

0 Answers0