LINUX.ORG.RU
local function close_client(c)
  if c == client.focus then
    c.kill()
  end
end
local function minimize_client(c)
  if c == client.focus then
    c.minimized = true
  end
end
local function maximize_client(c)
  if c == client.focus then
    c.maximized = not c.maximized
  end
end

Тут описывать нечего, но задавай вопросы, если что не понятно.

Как создавать виджеты рассказано в документации.

r3lgar ★★★★★
()
Последнее исправление: r3lgar (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Что то я в толк взять не могу, каким образом сейчас делаются кнопки. В обзорах на версии 3.5 достаточно понятно что и куда, а вот по четвёртой версии мало информации. По документации не пойму - примеров нет. А пользователи ещё не накатали (или не нашёл). У меня что то вот такое получается, естесственно не работает:

-- widget button
close_button awful.widget.button ( { themes_path .. "zenburn/titlebar/close_focus.png" } )
close_button:buttons(awfull.util.table.join(awfull.button({}, 1, function ()
awful.util.spawn(local function close_client(c)
  if c == client.focus then
    c.kill()
  end
end 
)
и потом, насколько понимаю, кидается в секцию - - Right widgets, посредством добавления просто строки
close_button
без всяких «right_layout add:»

В общем не получается. Можешь пример привести создания кнопки или ссыль кинуть?

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

awful.util.spawn(local function

Что ты делаешь?!

Выше кнопки прописываешь функции как я написал, ничего не меняя, затем так:

close_button awful.widget.button ( { themes_path .. "zenburn/titlebar/close_focus.png" } )
close_button:buttons(awfull.util.table.join(awfull.button({}, 1,
  function()
    close_client(client.focus)
  end 
)

awful.spawn — для выполнения внешнего приложения, он здесь не нужен.

r3lgar ★★★★★
()
Ответ на: комментарий от altworld

Правда, в awesome4 стало как-то скудно с возможностями в меню типа:
{ «Закрыть», function() c:kill() end }

Есть такое.

r3lgar ★★★★★
()
Ответ на: комментарий от altworld

{ «Закрыть», function() c:kill() end }

Только через утилиту xdotool удалось прикрутить.

`{ «Закрыть», function() client.focus:kill() end }`

actionless ★★★★★
()
Ответ на: комментарий от actionless

`{ «Закрыть», function() client.focus:kill() end }`

О, спасибо. А с остальными старыми конструкциями вроде:

{ «OnTop», function() c.ontop = not c.ontop end }

можно как-то решить ?

altworld
()
Ответ на: комментарий от Dreamdrawer
    ...
    { -- Right widgets
        layout = wibox.layout.fixed.horizontal,
        { -- close button
          image  = "/usr/share/awesome/themes/default/titlebar/close_normal.png",
          buttons = awful.util.table.join(awful.button({}, 1, function()
              if client.focus then client.focus:kill() end
          end)),
          widget = wibox.widget.imagebox
        },
        mykeyboardlayout,
        wibox.widget.systray(),
        ...
Worron ★★★
()
Ответ на: комментарий от LiBer

тоже самое

Ага, дошло. Спасибо. Переписал без костылей xdotool.

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