web-dev-qa-db-ja.com

awesome 3.5のタスクリストにアプリケーションのアイコンのみを含めるにはどうすればよいですか?

素晴らしい3.4では、これを行う方法がありました。

mytasklist[s] = awful.widget.tasklist(function(c)
  local task = { awful.widget.tasklist.label.currenttags(c, s) }
  return '', task[2], task[3], task[4]
end, mytasklist.buttons)

しかし、もう機能しない素晴らしい3.5では、解決策はありますか?

ありがとうございました

3
milarepa

素晴らしい3.5では、ラベル関数(変更された行の無名関数として)が異なる動作をするフィルター関数に置き換えられたため、これは機能しなくなりました。ユーザーの観点から(つまり、rc.luaとtheme.luaを変更するだけで)、タスクリストのテキストを変更または削除する可能性はありません。これが本当に必要な場合、解決策はタスクリストファイルを変更することです。

--- a/usr/share/awesome/lib/awful/widget/tasklist.lua
+++ b/usr/share/awesome/lib/awful/widget/tasklist_no_names.lua
@@ -61,10 +61,12 @@ local function tasklist_label(c, args)
         if c.maximized_vertical then name = name .. maximized_vertical end
     end

-    if c.minimized then
-        name = name .. (util.escape(c.icon_name) or util.escape(c.name) or util.escape("<untitled>"))
-    else
-        name = name .. (util.escape(c.name) or util.escape("<untitled>"))
-    end
+    if theme.tasklist_show_names then
+        if c.minimized then
+            name = name .. (util.escape(c.icon_name) or util.escape(c.name) or util.escape("<untitled>"))
+        else
+            name = name .. (util.escape(c.name) or util.escape("<untitled>"))
+        end
+    end
     if capi.client.focus == c then
         bg = bg_focus

テーマファイルでこれを切り替えるオプションを追加します。

+++ theme.lua
+ theme.tasklist_show_names = false
2
J0hn D0e

アイコンを保持し、awesome 3.5のタスクリストのテキストを削除するには、rc.luaファイルのawful.widget.tasklistに引数として指定できるカスタム関数を作成できます。このようにして、素晴らしい「ソース」ファイルで何も変更する必要はありません。

Rc.luaファイルのどこかに次の関数を定義するか、それを含めます

function myupdate(w, buttons, label, data, objects)
    w:reset()
    local l = wibox.layout.fixed.horizontal()
    for i, o in ipairs(objects) do
        local cache = data[o]
        if cache then
            ib = cache.ib
        else
            ib = wibox.widget.imagebox()
            ib:buttons(common.create_buttons(buttons, o))

            data[o] = {
                ib = ib
            }
        end

        local text, bg, bg_image, icon = label(o)
        ib:set_image(icon)
    l:add(ib)
        --w:add(ib)
   end
   w:add(l)
end

次に、それを引数としてawful.widget.tasklistに追加します

mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons, nil, myupdate)
4
ddvlamin