奇怪的conky背景行为


9

我创建了一个自定义conky,显示了3个城市的天气预报,如下所示: conky窗口类型override1

但是最近我开始看到一种奇怪的行为。几秒钟后,下面会出现一个更大的白色背景,如下所示: conky窗口类型override2

我试图通过尝试对配置文件.conkyrc进行一些更改来克服这一问题,唯一有效的更改就是将own_window_type值从override更改为normal。但是,当我选择最小化所有窗口时,不仅会消失,而且还会显示相同大小的透明背景,如下所示:

conky窗口类型正常

我的conky窗口设置如下:

update_interval 1
total_run_times 0
cpu_avg_samples 1
net_avg_samples 1
no_buffers是
double_buffer是
imlib_cache_size 0

是的
own_window是
own_window_type覆盖
own_window_transparent是
own_window_hints未修饰,下方,粘性,skip_taskbar,skip_pager
minimum_size 300480
最大宽度300
对齐top_right
gap_x 2
gap_y 28

draw_borders否
draw_graph_borders否
点缀_边界0
border_inner_margin 0
border_outer_margin 0
border_width 0

text_buffer_size 1024
overlay_utf8_locale是
use_xft是
xftfont Ubuntu:size = 10
xftalpha 1.0
大写否
温度单位摄氏
draw_shades否
draw_outline否
default_color C0C0C0
default_shade_color 000000
default_outline_color C0C0C0
color1 C0C0C0
color2 B2B2B2
color3 808080
color4 D4D4D4

文本
$ {image〜/ .conky / base.png -p 0,0 -s 300x480}

有人可以说出在我的圆滑窗户下面造成这块不需要的画布的原因(以及如何克服)吗?

Answers:


8

一个):

您的.conkyrc状态own_window yes。这意味着conky拥有自己的窗口。通过声明own_window_type normal窗口被告知“正常”运行。因此,当使用“显示桌面”选项时,conky窗口以及其他窗口将最小化。

B):

使conky保持原状的将own_window_type normal变为own_window_type dock。这种方法的缺点是必须使用间隙x和y再次将conky放置在桌面的正确位置上。现在,间隙x是从桌面边缘的左侧而不是右侧开始计算的。间隙y仍从上方计算。因此,假设您的屏幕分辨率为1440x900,并且间隙x过去是2,最大conky为300,则新的间隙x将为1440-300-2 = 1138

C):

此外,要完全丢失任何可见的码头边界,请own_window_transparent yes使用以下线条更改线条:own_window_argb_visual yesown_window_argb_value 0。如果own_window_argb_value设置为255conky,则窗口将不透明且为黑色。

有关其他配置设置:

http://conky.sourceforge.net/config_settings.html


谢谢,但是... 1)您的建议是:透明度也摆脱了我的背景图像,并且天气图标变为白色。2)我将重新考虑own_window_type,尽管它在我更改监视器时也存在定位的缺点。
2013年

好的,另一个解决方案:忽略C。在B)下:将代码行编辑为own_window_type desktop并尝试。我没有白色图标的解决方案。Conky大多数时候都需要一些摆弄,例如,使用您的代码不会使任何图像消失在我的盒子上。更换显示器时,除非分辨率没有变化,否则始终会改变拐角位置。
jeroen

在这里询问之前,我研究了类似上述链接的conky手册,并尝试了以下不同的“ window_type”选项,并获得了以下结果:conky(最小化),桌面(单击桌面后完全消失,无法恢复原状),停靠(默认位置在左上方) ,不可最小化,正常(可最小化),覆盖(默认位置右上角,不可最小化,不时白色背景),面板(造成严重的统一性问题)。因此,在所有这些之中,DOCK似乎是目前最好的解决方案(因为幸运的是,当我更换显示器时,我拥有了节省的宽度)。
2013年

尽管这解决了最小化的次要问题,但是不幸的是这个问题仍然悬而未决,因为我仍然有无法解释的背景。奇怪的是直到最近我才在“ override”模式下没有白色背景,也奇怪的是,其他模式(例如“ dock”)中的半透明背景最初并不存在,而是在我添加更多城市时出现的到初始代码。可能我永远不会知道是什么原因造成的;-)
Sadi

哎呀,还有其他东西... :-):Conky使用“伪”透明性,而不是真正的“透明”窗口。它读取根窗口的背景,并将其自身的背景更改为找到的图像部分。某些窗口或桌面管理器会将其背景放在根窗口上方的图层上。要解决此问题,可以使用fluxbox(fluxbox.org)附带的“ fbsetbg” 或“ feh”(linuxbrit.co.uk/feh)之类的应用程序。在〜/ .xinitrc中使用“ feh”:#!/bin/sh下一行:sleep 1 && feh --bg-center ~/background.png &fbsetbg -f /path/to/picture.jpg
jeroen

3

我在这里找到了不需要的阴影的解决方案:http : //linuxexchange.org/questions/821/how-to-a-void-ugly-compizgnome-shadow-for-conky

  1. 启动CompizConfig设置管理器
  2. 选择效果 > 窗户装饰
  3. 进入暗影窗户框和值后的任何附加&!(类= Conky的)这一规则适用于除Conky的所有窗口

这实际上是一种解决方法,而不是解决方案,因为为什么Conky绘制的窗口比需要的,这仍然是我的一个谜;-)

  • 注意:可能还需要将以下行添加到conky配置文件中: own_window_class Conky

  • 注意:在Ubuntu 13.04下几分钟内出现黑色背景的解决方法:在conky命令之后添加一个命令来回更改桌面墙纸,例如sleep 5 && conky -c /home/user/.conkyrc && sleep 2 && gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/bckgrnd.jpg && gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/background.jpg


1

我在12.10上遇到了完全相同的问题,但是发现打开面板或终端(我将其设置为透明)会使白色背景消失。烦人但很容易解决-我认为这与显示器如何处理任何透明度有关。

虽然只有13.04,但是现在这个技巧不起作用了。挑选它,到目前为止,如果我设置以下内容,我将使透明度发挥作用:

own_window yes
own_window_type dock
own_window_transparent yes

唯一的缺点是Conky窗口现在将其自身对齐到屏幕的左侧(过去在右侧),因此我不得不使用以下内容进行移动:

alignment tr
gap_x 1120
gap_y 55

烦人的是,这意味着如果我的显示分辨率发生变化(例如,我经常在工作中插入投影仪),Conky窗口就不会出现,但这只是一个开始。希望这可以帮助。


谢谢,但这对我来说也很烦,因为我使用笔记本电脑,并经常将更大的外接显示器连接到笔记本电脑上。结果,我决定放弃Conky并改用Screenlets
2013年

我刚刚发现,更改桌面墙纸也会迫使conky重新绘制伪造的透明度(如您所说的打开面板或终端)。那么也许
Sadi

1

这是我使用的一些参数:

override_utf8_locale yes
own_window no
own_window_colour 313131    # Black
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#own_window_hints below,sticky,skip_taskbar,skip_pager
own_window_transparent no
own_window_type normal  ## normal

${image ~/BOX/conkybg1.png -p -50,-44 -s 380x500}

我的图片太小了。我刚刚开始调整大小参数,并使其起作用。

您可能会注意到将own_window设置为no。如果为yes,则我的图像将不起作用。只是一团糟。这可能会也可能不会有帮助。希望对您有所帮助。


谢谢,但是相反,当我将其设置为“ no”时,我的桌面变得一团糟;-)古怪的行为;-)
Sadi

0

这个怎么样:

在文件〜/ conkyrc上找到

own_window_type override

替换为

own_window_type desktop

并添加

own_window_argb_visual yes

对我来说就做到了。


谢谢,但至少在我的情况(Ubuntu 13.04 64位)中,将“ own_window_type”值更改为“ desktop”会使conky窗口在您单击鼠标左键时消失了,这比在conky窗口后面看到一个黑色背景要糟糕得多或两秒钟
2013年

你是对的。最好将该字段的值设置为“正常”。
Damiao
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.