AWesome WM 中的打印屏幕

mim*_*c83 5 shortcut-keys awesome

我正在尝试这样做,以便我可以使用 Awesome WM 中的 PrintScrn 按钮进行屏幕截图。我在 Wiki 中找到了一个带有键绑定ImageMagick 脚本,但我无法让它工作。如果我在命令行中调用它,脚本就可以工作。我无法理解的是键绑定应该对脚本做什么。摘自维基:

脚本:

 #!/bin/bash
 timestamp="$(date +%Y%m%d%H%M%S)"
 targetbase="$HOME/capscr"
 mkdir -p $targetbase
 [ -d $targetbase ] || exit 1
 import -window root $targetbase/$timestamp.png
Run Code Online (Sandbox Code Playgroud)

键位绑定:

 -- bind PrintScrn to capture a screen
  awful.key(
     {},
     "Print",
     function()
         awful.util.spawn("capscr",false)
    end
  )
Run Code Online (Sandbox Code Playgroud)

我假设 Lua 代码中的“capscr”正在调用脚本?(脚本以相同的名称保存在我的 /home 文件夹中;特别是 ~/.bin 就像它在 Wiki 中所说的那样)。如果没有,我是否需要对脚本和/或 Lua 代码和/或 ??? 让两人相见?我也试过把脚本的路径放在代码中,看看它是否有效,但什么也没有。

nix*_*kid 4

首先,您需要使其可执行。然后将其移动到 /bin 目录(需要 root 权限):

$chmod +x capscr
$sudo mv ./capsrc /bin
Run Code Online (Sandbox Code Playgroud)

我还建议您编辑 capscr 文件,例如我的:

#!/bin/bash
timestamp="$(date +%d.%m.%Y"_shot_"%H:%M:%S)"
targetbase="$HOME/Pictures/screenshots"
mkdir -p $targetbase
[ -d $targetbase ] || exit 1
import -window root -quality 98 $targetbase/$timestamp.png
Run Code Online (Sandbox Code Playgroud)