LINUX.ORG.RU

Launcher widget

 


2

2

Хочется этого же, но приведённое решение не устраивает, ибо хочется именно выпадающее меню. Пытаюсь сделать так:

somemenu = {
    { "Item 1", "item1" },
    { "Item 2", "item2" }
}
somewidget = awful.widget.launcher({ image = image("someimage.png"), menu = somemenu })
При добавлении виджета на панель он появляется, но при нажатии вылезает ошибка:
error: /usr/share/awesome/lib/awful/widget/launcher.lua:26: attempt to call method 'toggle' (a nil value)

ЧЯДНТ?

Ответ на: комментарий от science

Так же, как и остальные виджеты

    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
        mylauncher,
        {
            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.leftright
        },
        mylayoutbox[s],
        mytextclock,
        ...
        somewidget,
        s == 1 and mysystray or nil,
        mytasklist[s],
        layout = awful.widget.layout.horizontal.rightleft
    }

yulya3102
() автор топика
Ответ на: комментарий от yulya3102

Ты хочешь выпадающее меню?

myLORnucher_menu = awful.menu({ items = { 
    { "Item 1", "item1", "item1_icon" },
    { "Item 2", "item2", "item2_icon" }
                   }
          })
myLORnucher = awful.widget.launcher({ image = image("kool_icon.png"), menu = myLORnucher_menu })

И добавляешь куда нужно в вибоксе:

mywibox[s] = awful.wibox({ position = "top", screen = s, height = "18" })
    mywibox[s].widgets = {
        {
            mylauncher,

            myLORnucher,

            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.leftright
        },
        mylayoutbox[s],
        s == 1 and mysystray or nil,
        mytasklist[s],
        layout = awful.widget.layout.horizontal.rightleft
    }
end
science ★★☆
()
Ответ на: комментарий от yulya3102

Так вроде всё правильно делаешь, проверяй пути к картинкам и права на них. Такая ошибка чаще всего, когда натупил с иконкой.

science ★★☆
()

А, ну всё ясно, смотри как ты меню пишешь:

somemenu = {
    { "Item 1", "item1" },
    { "Item 2", "item2" }
}

А нужно:

somemenu = awful.menu({ items = { 
    { "Item 1", "item1" },
    { "Item 2", "item2" }
                   }
          })
science ★★☆
()
Ответ на: комментарий от science

Спасибо, работает. Своё меню создавалось по образу и подобию стандартного mylauncher, а то, что стандартное меню делается с помощью awful.menu(), от взгляда как-то ускользнуло. Стыд мне >_>

yulya3102
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.