正如你们中的一些人可能知道的,Conky或PCManFM (桌面管理器方面)存在一个bug,使得Conky窗口在以下情况中消失:
这有一些解决办法,例如停用PCManFM的桌面管理 (使用feh设置壁纸,并可能使用iDesk设置图标)或完全使用另一个文件管理器,但我注意到这些都是不合格的解决方案。我真的很喜欢PCManFM,我真的很喜欢Conky。一个人该怎么做?
因此,我在LXPanel来源中挖掘并找到了一段相关的代码,这些代码可能包含了我的修复程序。文件为src/plugins/wincmd.c。
我的想法是,当单击“最小化所有窗口”按钮时,所有windows (类)名称将被比作静态字符串"Conky“,如果匹配,则不会最小化该窗口。很简单,而且应该能用。但问题是,我已经有几年没有接触过任何C代码了,而且我还没有真正使用过Xlib。
到目前为止,我做了以下修改:
19a20
> #include <string.h>
77a79,82
>
> /* Getting window's class name */
> XClassHint class;
> XGetClassHint(GDK_DISPLAY(), client_list[i], &class);
81c88
< if (((task_desktop == -1) || (task_desktop == current_desktop))
---
> if (((task_desktop == -1) || (task_desktop == current_desktop) || strcmp(class.res_name, "Conky") != 0)这是正确的编译,但当我运行新的lxpanel并单击“最小化所有窗口”时,Conky仍然像以前一样消失。
如果有人能查看这个文件,看看我的更改是否有意义,我将非常感激。
谢谢!:)
发布于 2013-06-23 15:49:04
这还是不可能的afaik。我做了个奇怪的解决办法。只需在无法使用own_window_type normal快捷方式的情况下使用Win+D desktop模式,并在显示桌面上修复conky。
首先,我想,仅仅是重新映射这个不稳定的窗口就行了。但是我发现,只要桌面是聚焦的,就不会有任何东西被吸引过来。然后我想,杀了他再重新开始吧。但是在show desktop模式下,它将在后台创建。
所以为了恢复正常:
安装xdotool;apt-get install xdotool
创建脚本,例如/usr/local/bin/conky-remap.sh
#!/usr/bin/env bash
zenity --info --text "Remapping Conky..." &
pid=$!
sleep 0.3
kill $pid
xdotool windowmap `xdotool search --classname 'conky'`编辑~/.config/openbox/lxde-rc.xml (或发行版中的快捷方式)。
查找:
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
</keybind>改为:
<keybind key="W-d">
<action name="ToggleShowDesktop"/>
<action name="Execute">
<execute>conky-remap.sh</execute>
</action>
</keybind>激活新的键盘快捷方式配置:
openbox --reconfigure
按Win+D键。你会看到闪光灯,康奇回来了!
这一古怪的解决方案是在宇宙中唯一的解决方案,根据谷歌一周的经验,因此鼓励对其进行改进。
Explanation:
pid
xdotool search --classname 'conky'
怪癖:
exit 0的。
发布于 2012-03-11 01:50:44
这是一个古老的“问题”,但当我搜索"Conky LXDE“时,它在Google点击量中出现得相当高,因为我无法让Conky在Lubuntu工作。但是,没有必要黑LXPanel!
经过大量的搜索和错误的试验和跟踪,我在“PCLinuxOS-论坛”中找到了一个.conkyrc文件,该文件刚刚运行了™。事实证明,它是从Lubuntu 11.10上调整的一个极好的基础。
现在我在Linux 13 LTS "Maya“Xfce上使用相同的设置(基于Ubuntu12.04),它继续满足我(非常简单)的Conky需求。我的.conkyrc文件的当前形式是保存在吉斯特里,如果有人认为它可能对他们有帮助。(论坛的原始源链接被注释到rc文件中。)
发布于 2014-03-16 18:44:04
最简单的解决方案可以很好地与Openbox一起工作(也应该与其他WMs一起工作):
.conkyrc文件中:
own_window是own_window_type桌面own_window_class Conky
“桌面”窗口类型防止在执行显示桌面时将conky最小化。此外,您的窗口将通过再次执行“显示桌面”来恢复。xdotool包(它非常轻量级,不要担心),运行以下命令:
xdotool search --class "Pcmanfm" behave %@ focus windowraise $(xdotool search --class "Conky")
当你聚焦一个桌面时,要确保你的小弟弟不会隐藏#!/bin/sh sleep 5 xdotool search --class "Pcmanfm" behave %@ focus windowraise $(xdotool search --class "Conky")
最小所需的睡眠时间应该相应地定义到您的系统。当然,在执行"show_conky.sh“之前,康奇不会在第一次启动时就隐藏起来,您还可以创建另一个脚本,其中包含xdotool focus windowraise $(xdotool search --class "Conky")命令和适当的睡眠时间(或者尝试在”睡眠“和"xdotool的行为”命令中添加它"show_conky.sh")。https://stackoverflow.com/questions/1261716
复制相似问题