Help getting Conky to work with LXDE & PCManFM

As some of you might be aware, there's a bug with either Conky or PCManFM (the desktop manager aspect of it) that makes the Conky window disappear in one of these situations: - Setting "own\_window\_type override" in .conkyrc (the usual configuration for Nautilus) flat out doesn't show the Conky window at all. - Setting "own\_window\_type desktop" in .conkyrc shows the Conky window, but it disappears if you click on the desktop. - Setting "own\_window\_type normal" in .conkyrc shows the Conky window, it *doesn't* disappear when clicking on the desktop, **BUT**... it disappears if you use LXPanel's "Minimize all windows" plugin ("Show desktop" equivalent). This happens if using the keyboard shortcut as well. There are some workarounds to this, such as [deactivating PCManFM's desktop management](http://www.maces-net.de/2009/02/08/conkylxde/) (and using feh for setting the wallpaper and, presumably, iDesk for the icons) or [using another file manager altogether](http://bbs.archlinux.org/viewtopic.php?id=76562), but I've come to notice these are all subpar solutions. I really like PCManFM and I really like Conky. What's a guy to do? :-/ So I dug in [LXPanel's source](http://sourceforge.net/projects/lxde/files/LXPanel%20%28desktop%20panel%29/LXPanel%200.5.3/lxpanel-0.5.3.tar.gz/download) and found a relevant piece of code that might house my fix. The file is src/plugins/wincmd.c . The idea I have is that when the "Minimize all windows" button is clicked, all windows (class) names would be compared to a static string "Conky" and if it matches, it simply wouldn't minimize that window. Simple, and it should work. But the problem is it has been a few years since I've touched any C code and I haven't really played with Xlib that much. So far, I have done the following changes: 19a20 > #include 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) This compiles correctly, but when I run the new lxpanel and click on "Minimize all windows", Conky still disappears as before. If someone can look into this file and see if my changes make sense, I'd be very grateful. Thanks SO! :)

以上就是Help getting Conky to work with LXDE & PCManFM的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » CSS3 答疑

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏