Список задач по центру при использовании layout.fixed

Я использую следующие настройки для верхней панели:

  -- Create a promptbox for each screen
  s.mypromptbox = awful.widget.prompt()

  -- Create a taglist widget
  s.mytaglist = awful.widget.taglist(s, awful.widget.taglist.filter.all, taglist_buttons)

  -- Create a tasklist widget
  s.mytasklist = awful.widget.tasklist(s, awful.widget.tasklist.filter.currenttags, tasklist_buttons)

  -- Create the wibox
  s.mywibox = awful.wibar({ position = theme.position, screen = s, height = theme.height })

  -- Add widgets to the wibox
  s.mywibox:setup {
    layout = wibox.layout.align.horizontal,
    {
      -- Left widgets
        layout = wibox.layout.fixed.horizontal,
        s.mytaglist,
        s.mypromptbox,
    },
    s.mytasklist, -- Middle widget
    {
    -- Right widgets
      layout = wibox.layout.fixed.horizontal,
      theme.systray,
      theme.spr_left,
      theme.volume,
      theme.battery,
      theme.clock,
      theme.spr_right
    },
  }

В результате получается: введите здесь описание изображения

Я отключил названия задач. Чего я хочу добиться, так это отображения значков списка задач в центре. Как я могу это сделать, сохраняя при этом теги слева и системный трей справа?

Изменить

При применении expand = external я получаю следующее:

введите здесь описание изображения

Изменить2

Когда я добавляю эти настройки контейнера:

-- Tasklist container
local tl = wibox.container.background(s.mytasklist, theme.bg_normal, gears.shape.rectangle)
local pl = wibox.container.margin(tl, 2, 2, 3, 3)
local tasklist = wibox.container.place(pl, {halign="center"})

Я получил:

введите здесь описание изображения

Что немного лучше, но все еще не полностью по центру.


person user1213904    schedule 16.12.2017    source источник
comment
Добавление expand = "outside" после layout = wibox.layout.align.horizontal делает то, что вы хотите?   -  person Uli Schlachter    schedule 17.12.2017
comment
Он центрируется, но не учитывает, что правильные виджеты остаются справа. Я обновил вопрос парой примеров и достижений   -  person user1213904    schedule 17.12.2017


Ответы (1)


Я решил проблему, применив expand = "none" к горизонтальному выравниванию. Следующим образом:

-- Add widgets to the wibox
s.mywibox:setup {
    layout = wibox.layout.align.horizontal,
    expand = "none",
    {
      -- Left widgets
        layout = wibox.layout.fixed.horizontal,
        s.mytaglist,
        s.mypromptbox,
    },
      -- Middle widget
      s.mytasklist,
    {
    -- Right widgets
      layout = wibox.layout.fixed.horizontal,
      theme.systray,
      theme.spr_left,
      theme.volume,
      theme.battery,
      theme.clock,
      theme.spr_right
    },
  }
end)

Что идеально выравнивает полосу следующим образом на Awesome v4.2-257-g59aa4ac7:

введите здесь описание изображения

person user1213904    schedule 12.02.2018