如何在awesomeWM v3.5.6中为任务列表设置任何客户端的自定义图标?

     c.icon = capi.image( "/home/art-attack/.config/awesome/icons/chrome.png" )
end

我尝试过,但总是出现错误,即尝试调用字段'image'(空值)

{ rule = { class = "Google-chrome" },
  properties = { icon = beautiful.icon_chrome } },

然后我发现在 awful.rules 中使用icon特性的另一种方法,它起作用了,但没有改变客户端的图标,反而禁用了该客户端的图标。

点赞
用户436275
用户436275

为了修复你的第一次尝试,请尝试以下代码:

if c.class == "Google-chrome" then
    local icon = gears.surface("path/to/chrome.png")
    c.icon = icon._native
    icon:finish()
end

其中的 icon:finish() 语句不是必要的,但是它存在是为了确保你不要优化此代码。其中有一些阴暗的垃圾回收避免魔法,你不想知道,但简短的故事是:除非你已经将表面本身保存在变量中,否则永远不要使用 _native

2015-05-21 16:50:14
用户4985469
用户4985469

如果c.class等于"Google-chrome",则执行以下操作:

local icon = gears.surface("path/to/chrome.png")
return text, bg, bg_image, icon

在以下代码行之前添加上述代码:

if capi.client.focus == c then
2015-06-08 08:40:02