¿Cómo puedo tener solo íconos de aplicaciones en la lista de tareas en Amazing 3.5?

3

En el impresionante 3.4 había una manera de hacer esto:

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)

Pero en el impresionante 3.5 que ya no funciona, ¿alguna solución?

Gracias

milarepa
fuente

Respuestas:

2

En awesome 3.5 esto ya no funciona ya que las funciones de etiqueta (como la función anónima en su línea modificada) fueron reemplazadas por funciones de filtro que funcionan de manera diferente. Desde el punto de vista del usuario (es decir, solo modificando rc.lua y theme.lua) no veo la posibilidad de cambiar o eliminar el texto de la lista de tareas. Si realmente desea esto, una solución sería modificar el archivo de la lista de tareas:

--- 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

y agregando una opción para alternar esto en su archivo de tema:

+++ theme.lua
+ theme.tasklist_show_names = false
J0hn D0e
fuente
4

Para mantener los íconos y eliminar el texto en la lista de tareas de awesome 3.5, podría escribir una función personalizada que pueda dar como argumento a awful.widget.tasklist en su archivo rc.lua. De esta manera, no tiene que cambiar nada en los impresionantes archivos 'fuente'

Defina la siguiente función en algún lugar encima de su archivo rc.lua o inclúyala

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

y luego agréguelo a su horrible.widget.tasklist como argumento

mytasklist[s] = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, mytasklist.buttons, nil, myupdate)
ddvlamin
fuente
1
Esta solución es mejor porque solo modifica el rc.lua. Pero para trabajar, el usuario debe agregar "local common = require (" awful.widget.common ")"
cedlemo