在i3中使用ImageMagick在URxvt中伪造透明度
在i3中设置背景的最流行方式似乎是使用在i3中使用ImageMagick在URxvt中伪造透明度,imagemagick,wallpaper,i3,urxvt,Imagemagick,Wallpaper,I3,Urxvt,在i3中设置背景的最流行方式似乎是使用feh,例如: exec_always feh --bg-fill /home/user/Pictures/wallpaper.jpg URxvt.transparent: true URxvt.shading: 50 URxvt.blurRadius: 0 URxvt.background: #d3d3d3 URxvt.foreground: #1d1f21 在~/.config/i3/config
feh
,例如:
exec_always feh --bg-fill /home/user/Pictures/wallpaper.jpg
URxvt.transparent: true
URxvt.shading: 50
URxvt.blurRadius: 0
URxvt.background: #d3d3d3
URxvt.foreground: #1d1f21
在~/.config/i3/config
文件中。然后,在~/.Xresources
中,您可以将URxvt
配置为透明,如下所示:
exec_always feh --bg-fill /home/user/Pictures/wallpaper.jpg
URxvt.transparent: true
URxvt.shading: 50
URxvt.blurRadius: 0
URxvt.background: #d3d3d3
URxvt.foreground: #1d1f21
正如你所看到的,这两件事在我的家用电脑上完美地结合在一起。暂时忽略可怕的配色方案
现在,由于各种原因,我无法访问feh
,因为工作中的yum-repos有限。我自己也不能下载和编译它。作为替代,我一直在使用ImageMagick
及其display
功能设置我的背景:
exec_always display -window root /home/user/Pictures/wallpaper.jpg
它本身可以设置壁纸并与i3配合使用
问题是,当我这样做时,似乎ImageMagick
只是设置了一个覆盖,而不是实际设置了根图像,因此URxvt
只是读取一个默认的灰色根图像。请注意,这也是我的家用电脑,feh
工作正常,因此它不是URxvt
问题
ImageMagick
设置我的背景是否有不同的方法,以便它实际设置根墙纸?这是我更喜欢的解决方案更新:我尝试使用
xsetroot
并使用ImageMagick的convert
将我的.jpg
图像转换为.bmp
,但xsetroot
仅适用于只支持黑白的.xbm
图像。这不起作用,因为我希望它仍然与所示的.jpg
图像相同。请澄清您所说的根图像是什么意思。JPG不支持透明度。通过透明度合并两个图像后,图像中就没有透明度了。只有8位模式下的PNG才有透明度,没有alpha通道(叠加?)。所以我不确定你想要什么。如果您需要在alpha通道使其透明的地方将基础图像设置为黑色,则可以通过convert image.png-background black-alpha background image.png
修改透明图像。某些系统需要透明度下的图像为黑色,而不是包含原始纹理。如果要将透明度为JPG的PNG图像转换为JPG,则需要在背景色上将其展平convert image.png-背景白色-展平image.jpg
。在这里,我用白色压平。@fmw42的“根”我只是指用于桌面的墙纸。透明度只是终端模拟器本身的一个因素。所以,我想你的误解是,我并不是在试图修改图像本身,我的终端模拟器自己处理所有虚假的透明度。我想做的是找出是否有一种方法可以使用ImageMagick的“display”或类似“xsetroot”的东西来设置桌面墙纸(根窗口),因为“display-window root image.jpg”似乎只是覆盖它,而不是实际设置它。“xsetroot”的问题是它似乎只适用于.xbm图像,就我的转化尝试而言,这些都是黑白的。如果我要转换为位图,我需要一个与原始.jpg一样高质量的图像。因此,看起来xsetroot只适用于.xbm图像,它是单色的,只能是黑白的,这不起作用。请澄清你所说的根图像是什么意思。JPG不支持透明度。通过透明度合并两个图像后,图像中就没有透明度了。只有8位模式下的PNG才有透明度,没有alpha通道(叠加?)。所以我不确定你想要什么。如果您需要在alpha通道使其透明的地方将基础图像设置为黑色,则可以通过convert image.png-background black-alpha background image.png
修改透明图像。某些系统需要透明度下的图像为黑色,而不是包含原始纹理。如果要将透明度为JPG的PNG图像转换为JPG,则需要在背景色上将其展平convert image.png-背景白色-展平image.jpg
。在这里,我用白色压平。@fmw42的“根”我只是指用于桌面的墙纸。透明度只是终端模拟器本身的一个因素。所以,我想你的误解是,我并不是在试图修改图像本身,我的终端模拟器自己处理所有虚假的透明度。我想做的是找出是否有一种方法可以使用ImageMagick的“display”或类似“xsetroot”的东西来设置桌面墙纸(根窗口),因为“display-window root image.jpg”似乎只是覆盖它,而不是实际设置它。“xsetroot”的问题是它似乎只适用于.xbm图像,就我的转化尝试而言,这些都是黑白的。如果要转换为位图,我需要一个与原始.jpg一样高质量的图像。因此,看起来xsetroot只适用于.xbm图像,它是单色的,只能是黑白的,这是行不通的。