ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

帮助Conky与LXDE和PCManFM合作

2019-08-27 17:51:18  阅读:144  来源: 互联网

标签:c-3 linux x11 pcmanfm


正如你们中的一些人可能知道的那样,Conky或PCManFM(它的桌面管理器方面)存在一个错误,使得Conky窗口在以下某种情况下消失:

>在.conkyrc(Nautilus的常用配置)中设置“own_window_type override”并不会显示Conky窗口.
>在.conkyrc中设置“own_window_type desktop”会显示Conky窗口,但如果单击桌面则会消失.
>在.conkyrc中设置“own_window_type normal”会显示Conky窗口,单击桌面时它不会消失,但是如果你使用LXPanel的“最小化所有窗口”插件(“显示桌面”等效),它就会消失.如果使用键盘快捷键也会发生这种情况.

有一些解决方法,例如deactivating PCManFM’s desktop management(并使用feh设置壁纸,可能是iDesk用于图标)或using another file manager altogether,但我注意到这些都是低于标准的解决方案.我真的很喜欢PCManFM,我真的很喜欢Conky.什么人要做? : – /

所以我在LXPanel’s source挖了一个相关的代码片段,可以解决我的问题.该文件是src / plugins / wincmd.c.

我的想法是,当单击“最小化所有窗口”按钮时,所有窗口(类)名称将与静态字符串“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仍然像以前一样消失.

如果有人可以查看此文件并查看我的更改是否有意义,我将非常感激.

谢谢!

标签:c-3,linux,x11,pcmanfm
来源: https://codeday.me/bug/20190827/1742987.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有