如何让conky留在桌面上
我有一个很常见的设置,我已经在很多桌面上使用过(这里是conkyrc )。 它在Ubuntu Unity,XFCE,Gnome和Openbox中运行良好,但不适用于Lubuntu(LXDE)。 问题是我无法让它可靠地保留在Lubuntu LXDE桌面上。 如果我点击桌面或者我最小化所有窗口(显示桌面),则可能会消失。
我已尝试配置文件中的所有变体“own_window”,“own_window_colour”,“own_window_transparent”和“own_window_type”,并用Google搜索了相当多的解决方案。 如果它编辑conkyrc文件并将own_window_type设置为“normal”,如果我最小化所有窗口,conky将消失。 如果我将其设置为“桌面”,如果我点击桌面上的任何位置,它就会消失。 如果我使用“覆盖”它根本不显示。 其他选项由于显而易见的原因而无法正常工作。
在另一个Ubuntu Unity安装上我遇到了类似的问题,但是通过使用Compiz Config Settings Manager来忽略我的conky窗口。 在我的上网本Lubuntu安装我没有安装compiz。
如何让我自信地留在我的桌面上。
似乎有时候将窗口类型设置为桌面是不够的。
尝试:
own_window_type desktop own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
从这里得到它。
在XFCE中为我工作。 我猜它也适合lxde / openbox。
这个配置适用于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不适合您,请尝试“覆盖”和“正常”。
以上对我不起作用。 在/etc/conky/conky.conf中将“own_window_type”设置为“normal”的工作原理是什么。
own_window_type normal
根据这个post: http : //ubuntuforums.org/showthread.php?t = 2039399
接受的答案不包括“显示桌面”。
您可以使用我在此答案中解释的hack 在按下Win+D
for Show Desktop
后显示conky:
#!/usr/bin/env bash zenity --info --text "Remapping Conky..." & pid=$! sleep 0.3 kill $pid xdotool windowmap `xdotool search --classname 'conky'`
使用conky与LXDE的问题在于PCManFM以不同于任何其他桌面的方式处理桌面。 LXDE本质上是Openbox,桌面由文件管理器(pcmanfm)分层,如果你删除pcmanfm而不是另一个文件管理器,你将不再拥有LXDE,你基本上拥有带LXDE面板的Openbox。 这有什么关系? 好吧,LXDE的桌面更像是一个窗口管理器的窗口,就像你打开几个窗口,然后点击其中一个窗口一样,它会使它成为焦点。 这正是Conky正在发生的事情。 当你点击桌面时,它会让桌面变得难以置信,正如我所解释的那样,它更像是一个窗口。 在我的情况下,这是修复:
own_window_class Conky own_window yes own_window_type normal own_window_transparent yes own_window_hints undecorate,sticky,skip_taskbar,skip_pager,below
现在,如果你使用面板插件来最小化所有窗口,它仍然会使conky最小化,但是这种修复在正常情况下不会消失。
我自己做了很多关于这方面的研究,似乎很少有解决方法,甚至更少的工作方式:
- 您可以设置conky到dock或panel窗口。
- 您可以将其设置为普通窗口,只是避免使用show desktop插件/ keybind。
- 我甚至尝试将-w参数用于conky,以便将其绘制到虚假的桌面/ PCManFM窗口,但这会导致您的桌面重绘为常见的更新=凌乱。
- 如果你可以没有桌面图标,你可以设置conky到桌面窗口,然后通过在终端输入
pcmanfm --desktop-off
简单地关闭PCManFM。 - 你可以让feh或其他程序管理桌面
我不喜欢上述任何选项。 所以,像Redsandro一样,我确定的解决方法是将conky作为普通窗口(skip_pager,skip_taskbar,下面,当然未修饰)并编写一个简单的bash脚本并为其创建一个.desktop文件,以便我可以在我的面板中包含取代Show Desktop插件。 它使用wmctrl,因此您必须下载它。 此外,它不会最小化所有窗口,它只遮蔽它们。 但是根据我的需要,它就足够了:
#!/bin/bash var=($(wmctrl -l | grep -o "0x[[:alnum:]]\+")) for v in ${var[@]} do wmctrl -i -r $v -b toggle,shaded done exit 0
编辑:
更好:从12.04精确版和所有更高版本的Ubuntu(确认到16.04 xenial),你可以使用compiz – > Windows规则实现与devilspie(下面)相同的function。 我在那里使用了类匹配,它不言自明。 也可以使用我链接的Super + Home脚本。
在浪费了几个小时之后,对于那些无法用上述所有内容进行排序的人(使用Ubuntu 16.04测试),这是我的小贡献:
快速解决方案
- 在〜/ .conky /中相应目录的conkyrc.txt中添加一个’own_window_type dock ‘行(不要让它在桌面点击时消失)
- 安装devilspie
- 使用’match’模式在devilspie中创建一个规则window_name’包含’ conky (没有资本c – 它很重要)。 实际上,通过提供的“获取”按钮,您可以使用任何有效的匹配模式。
- 作为动作,选择’ skip_tasklist ‘,’ unminimize ‘,如果你想在所有工作区上拥有它,也可以’ 坚持 ‘。
- 而已。
请检查“启动时运行devilspie”。
sideeffect:Conky Manager窗口在打开时会表现得类似,具体取决于匹配模式,但不应该是任何问题。
我的问题是这样的:
‘own_window_type override ‘创造了一个问题,即conky的更改项目不会替代,而是在较旧的值之上绘制 – 丑陋且在几秒钟内难以辨认。
‘own_window_type 桌面 ‘只是没有做到这一点。
‘own_window_type dock ‘与devilspie一起解决了原来的问题,但是不会用这个漂亮的小脚本来添加“显示桌面但保持活动窗口保持正常” – 像Windows Win + Home这样的热键。 编辑:最后提到的某种方式停止工作..我出去了: – |
希望我能帮助别人,竖起大拇指,我是新来的;-)
我的系统: UBUNTU Xenial Xerus 64位。
您可以尝试添加在启动时执行的脚本。
例如:
#!/bin/bash conky ;
(别忘了chmod + x吧;)
对于Unity,我的问题通过使用来解决
own_window_type override
对于带有LXDE的Lubuntu:
own_window yes own_window_class Conky own_window_transparent yes own_window_type desktop double_buffer yes
如果按下按钮最小化所有窗口(显示桌面)时,松散的窗口消失,请进入设置 – > LXsession的默认应用程序 – >运行应用程序 – >桌面,然后选择“feh”而不是“filemanager”
在Lubuntu 13.10为我工作。
我自己做了很多关于这方面的研究,似乎很少有变通方法,甚至更少的工作方法。
- 您可以设置conky到dock或panel窗口。
- 您可以将其设置为普通窗口,只是避免使用show desktop插件/ keybind。 我甚至使用-w参数让conky将其绘制到虚假的桌面/ PCManFM窗口,但这会导致您的桌面重绘为常见的更新=凌乱。 如果您不介意没有图标,只需在终端输入
pcmanfm --desktop-off
即可关闭PCManFM。
像Redsandro一样,解决这个问题的方法是编写一个简单的bash脚本并为其创建一个.desktop文件,这样我就可以在我的面板中包含Show Desktop插件。 它使用wmctrl,因此您必须下载它。 此外,它不会最小化所有窗口,它只遮蔽它们。 但是根据我的需要,它就足够了:
#!/bin/bash var="($(wmctrl -l | grep -o "0x[[:alnum:]]\+"))" for v in ${var[@]} do wmctrl -i -r $v -b toggle,shaded done
这适用于Lubuntu 14.10
own_window yes own_window_hints undecorated,below,skip_taskbar background no own_window_transparent yes
我知道这个post已经过时了,但是对于其他还在努力解决这个问题的人我只是想补充一点,格里姆斯的回答对我有用,但需要注意一点。
在/etc/conky/conky.conf中
own_window_type normal
并在.conkyrc或主题文件中:
own_window_type desktop own_window_hints undecorate,sticky,skip_taskbar,skip_pager
经过一些试验和错误,这是我可以开始工作的唯一组合(我使用康普顿的透明度)。 请注意,在own_window_hints中没有“下方”设置,因为尽管仍然有效,但在显示桌面几秒钟后,它会导致conky消失并重新出现(闪烁)。 至少那是我的经历。
HTH
Linux与Mate / Gnome2 GUI Ubuntish;)
use_xft yes .............. ......... ..... .......... own_window_type dock
将停靠在顶部屏幕上,不会影响任何桌面操作。
放置位置设置:
gap_x ... gap_y ...
取决于您的分辨率。
在.conkyrc
设置background=false
并确保您没有使用-d
标志自动启动Conky。 我尝试了我能找到的所有其他建议,有时他们会工作,有时也不会,即使他们工作也只是一段时间。
注意:如果您不小心将所有窗口最小化,请使用Super + D来恢复Conky。
我对此问题的解决方案是在bash脚本中添加这两行
conky -c /home/ajay/.conkycolors/conkyrc >/dev/null 2>&1 &
conky -c /home/ajay/.conkycolors/conkyrc >/dev/null 2>&1 &
在Unity中不要改变任何东西,只需粘贴在终端:
gsettings set org.compiz.core:/org/compiz/profiles/unity/plugins/core/ hide-skip-taskbar-windows false