我有一个在很多台式机上使用过的 conky 设置(这里是康基尔克)。它在 Ubuntu Unity、XFCE、Gnome 和 Openbox 中运行良好,但 Lubuntu (LXDE) 中不行。问题是我无法让它停留在 Lubuntu LXDE 桌面上可靠地运行。如果我单击桌面或者最小化所有窗口(显示桌面),conky 窗口就会消失。
我尝试了配置文件中“own_window”、“own_window_colour”、“own_window_transparent”和“own_window_type”的所有变体,并在 Google 上搜索了不少内容来解决这个问题。如果编辑 conkyrc 文件并将 own_window_type 设置为“normal”,则当我最小化所有窗口时,conky 就会消失。如果我将其设置为“desktop”,则当我单击桌面上的任意位置时,conky 就会消失。如果我使用“override”,则它根本不会显示。而其他选项由于显而易见的原因,效果并不好。
在另一个 Ubuntu Unity 安装中,我遇到了类似的问题,但通过使用 Compiz Config Settings Manager 忽略我的 conky 窗口解决了这个问题。在我的上网本 Lubuntu 安装中,我没有安装 compiz。
我怎样才能让 conky 留在我的桌面上。
答案1
有时将窗口类型设置为桌面似乎还不够。
尝试:
own_window_type desktop
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
来自这里。
在 XFCE 中对我来说是可行的。我猜它对 lxde/openbox 也适用。
答案2
此配置在 Gnome 和 Cinnamon 上有效,并且是实现该功能的方法。
own_window yes
own_window_transparent yes
own_window_type dock
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_argb_visual yes
own_window_argb_value 100
gap_x 940
gap_y 20
最后 2 个属性绝对地将其放置在屏幕上,并需要根据您的配置进行更改。可以找到一个完整的配置文件Github 上。
编辑:来自评论:如果 own_window_type 设置为“dock”对您不起作用,请尝试“override”和“normal”。
答案3
上面的方法对我不起作用。我只需要在 /etc/conky/conky.conf 中将“own_window_type”设置为“normal”即可。
own_window_type normal
答案4
我自己也对此进行了大量研究,似乎解决方法很少,而且效果很好的方法就更少了:
- 您可以将 conky 设置为 Dock 或面板窗口。
- 您可以将其设置为普通窗口,并避免使用显示桌面插件/键绑定。
- 我甚至尝试使用 conky 的 -w 参数让它绘制到虚假桌面/PCManFM 窗口,但这会导致你的桌面像 conky 更新一样频繁地重新绘制 = 混乱。
pcmanfm --desktop-off
如果您可以忍受没有桌面图标,您可以将 conky 设置为桌面窗口,然后在终端上输入内容即可关闭 PCManFM 。- 你可以让 feh 或其他程序管理桌面
我不喜欢上述任何选项。因此,像 Redsandro 一样,我选择的解决方法是将 conky 作为普通窗口(当然是 skip_pager、skip_taskbar、below、undecorated),然后编写一个简单的 bash 脚本并为其创建一个 .desktop 文件,这样我就可以将其包含在面板中以代替 Show Desktop 插件。它使用控制端所以你必须下载它。不幸的是,它不会最小化所有窗口,只会遮蔽它们。但对于我的需求来说,它足够了:
#!/bin/bash
var=($(wmctrl -l | grep -o "0x[[:alnum:]]\+"))
for v in ${var[@]}
do wmctrl -i -r $v -b toggle,shaded
done
exit 0