终端透明度、Imagemagick 和 X11 根窗口问题

终端透明度、Imagemagick 和 X11 根窗口问题

在 Ubuntu Natty 和 Fedora 12 中,我有urxvt(256 色),并使用ImageMagick( display -window root [...]) 将根窗口设置为图片。当我在 上使用透明度 ( -tr) 选项时urxvt,我得到的是 X11 登录屏幕背景(Ubunutu 中为粉红色/紫色,Fedora 中为蓝色),而不是当前位于根窗口上的图像。请参见底部的图片——取自 Ubuntu,但与 Fedora 类似。

gnome-terminal请注意,如果我运行并设置其透明度,也会存在同样的问题。

我怀疑 ImageMagick 没有在正确的 X11 层上绘制,但我(和谷歌)无法弄清楚正确的选项是什么。

问题是否出在 xorg 配置或窗口组合上?

截屏

我很乐意使用 Imagemagick 以外的其他工具,只要我可以动态调整图像大小(因此它保持当前的纵横比并适合可见屏幕区域)并且我可以将图像置于右下角中心屏幕一角。

答案1

awesome我在窗口管理器中也遇到过类似的问题urxvt,当图像魔术师用于设置背景。根据作者的反馈,该问题很快得到了解决awesome- 您可以在以下位置查看此对话的存档格曼档案馆-这里并进一步这里

解决办法是更改背景设置器我选择使用它是habak因为它是最轻的。您还可以使用其他,例如fehEsetroot(属于启蒙WM)。我想我会推荐你​​尝试feh首先,因为它似乎是为许多发行版打包的。

旁注:如果有人想尝试许多不同的 bg-setter,这里列出了awsetbg(来自 的 bg-setting 包装脚本awesome)尝试使用的那些:

Esetroot habak feh hsetroot chbg fvwm-root imlibsetroot display qiv xv xsri xli xsetbg wmsetbg xsetroot

请注意,其中一些仅随较大的包装一起发货。

编辑:看着西斯瑞联机帮助页,我认为它可能会为您的需求提供最佳的灵活性。

答案2

我可能是错的,但是你尝试过用 xli 设置图像吗?

xli -onroot myimage.png

手册页

NAME
       xli - load images into an X11 window or onto the root window

SYNOPSIS
       xli [global_options] {[image_options] image ...}
       xli [global_options] [image_options] stdin < image

DESCRIPTION
       xli  displays  images  in  an  X11  window  or loads them onto the root
       window.  See the IMAGE TYPES section below for supported image types.

       If the filename stdin is given, xli will read the image  from  standard
       input.  

答案3

好吧,由于 xsri 不再维护,现在这就是问题的解决方案:使用convert转换所有图像,使它们具有正确的尺寸和格式,将它们保存在另一个目录中并使用feh显示它们。确实非常不优雅但有效。

#!/bin/sh
# Run this in your image directory
dir=$HOME/wallpapers
for file in *
do
    echo "Doing $file"
    convert -resize '1600x1200>' -extent 1600x1200 -background '#000000' \
        -gravity SouthEast  $file $dir/$file
done

请注意,调整大小选项必须位于延长一。

然后使用feh或其他方式将图像放在显示器上居中。嗯。

答案4

使用 Imagemagick 转换图像convert并将结果通过管道feh将其显示为背景,这也适用于透明终端:

convert "$file" -resize 1600x1200 png:- | feh --bg-center -

当然,convert几乎可以对您的形象做任何事情。比...多得多任何背景设置器永远会。

相关内容