2013-02-11 1 views
4

В Awesome Window Manager у вас есть главное меню, которое можно вызвать, щелкнув на панели запуска в левом верхнем углу, щелкнув правой кнопкой мыши на рабочем столе или используя keybinding Mod + w. То, что я хотел бы сделать, - иметь разные меню в зависимости от того, какой тег я включен.В Awesome WM можно ли иметь разные меню, в зависимости от того, в каком теге вы находитесь?

Например, в настоящее время в моей Awesome конфигурации у меня есть 4 тега: главная, разработка, видео и офис. Поэтому я хотел бы меню для каждого отдельного тега, например так:

основной: терминал, приостановить, перезагрузка, выключение развития: терминал, Gvim, светлячок, видео: VLC, Brasero офис: писатель известково рисовать впечатлить

Действительно ли это возможно?

ответ

3

я, наконец, создал функцию для создания различных меню для каждого тега:

Изменение линии для мыши и клавиатуры ключевых креплениями для вызова getTagMenu:

-- {{{ Mouse bindings: I USE PRIMARY BUTTON 
root.buttons(awful.util.table.join(
awful.button({ }, 1, function() 
    menutag = getTagMenu() 
    menutag:show({keygrabber=true}) 
end), 
awful.button({ }, 4, awful.tag.viewnext), 
awful.button({ }, 5, awful.tag.viewprev) 

))

-- {{{ Key bindings: I use MENU KEY 
globalkeys = awful.util.table.join(
awful.key({   }, "Menu", function() 
    menutag = getTagMenu() 
    menutag:show({keygrabber=true}) 
end)) 

И теперь функция:

function getTagMenu() 
tagID=awful.tag.getidx(awful.tag.selected(1)) 
screen[1]:add_signal("tag::history::update", function() 
tagName = awful.tag.selected(1).name end) 

if tagName == "main" then 
    menutag = awful.menu({ items = { 
    { "&gvim", "gvim" }, 
    { "&firefox", "firefox" }, 
    { "&software", "software-center" }, 
    { "&config", "zsh -c -i 'awe'" }, 
    { "sleep", "zsh -c -i 'gksu pm-suspend'" }, 
    { "logout", awesome.quit }, 
    { "restart", "zsh -c -i 'sudo shutdown -r now'" }, 
    { "shut", "zsh -c -i 'sudo shutdown -h now'"}}}) 
end 

if tagName == "develop" then 
    menutag = awful.menu({ items = { 
    { "&gvim", "gvim" }, 
    { "&sqlitestudio", "sqlitestudio" }, 
    { "&tkcon", "tkcon" } } }) 
end 

if tagName == "media" then 
    menutag = awful.menu({ items = { 
    { "vlc", "vlc" } } }) 
end 

if tagName == "office" then 
    menutag = awful.menu({ items = { 
    { "&write", "libreoffice --writer" }, 
    { "&calc", "libreoffice --calc" } } }) 
end 
return menutag 
end