Como você tem argumentos na linha de comando, deve-se usar awful.util.spawn_with_shell (). Este
awful.util.spawn_with_shell("sleep 0.5 && scrot -s")
funciona bem para mim.
Tentei:
awful.util.spawn("scrot -s")
awful.util.spawn("urxvt -e \"scrot -s\"")
os.execute("scrot -s")
e todas as combinações possíveis, mesmo com sleep
.
Também tentei daemonize.
Nada funciona = (
P.S. Todos os comandos estão em atalhos de teclado, se eu substituir scrot -s
por scrot
, todos os trabalhos, exceto a área de seleção.
Eu tenho lutado com isso também. spawn_with_shell não é a solução que faz funcionar para mim. A tela pisca quando eu pressiono a tecla de atalho, de modo que é configurado corretamente e quando eu pressiono Win + r (run) e digite caminho / para / screenshot.sh, isso também funciona. Este é o script que segue o shebang
scrot -s '%Y-%m-%d_$wx$h_scrot.png' -e 'mv $f /home/sam/Pictures/Screenshots'
Estas são as coisas que eu tentei: captura de tela="/home/sam/run/screenshot.sh" escroto -s '% Y-% m-% d_ $ wx $ h_scrot.png' -e 'mv $ f / home / sam / Imagens / Capturas de tela' awful.spawn.with_shell (captura de tela)
O que funciona é executar os scripts bash com o terminal: Estas são as minhas definições de variáveis no topo da página
screenshot = "/home/sam/run/screenshot.sh"
screenshot_cmd = terminal .. " -e " .. screenshot
E mais abaixo, eu tenho esses (ambos trabalhando)
awful.key({ modkey , }, "#107", function () awful.spawn.with_shell(screenshot_cmd) end,
{description = "take screenshot", group = "launcher"}),
awful.key({ modkey , "Shift" }, "p", function () awful.spawn(screenshot_cmd) end,
{description = "take screenshot", group = "launcher"}),
Infelizmente, o último também abre uma janela de terminal, que não é um comportamento desejável (Mas pelo menos, alguma coisa está funcionando
Tags bash lua linux awesome-wm