你知道wmctrl有什么替代方案吗?这是一个可以让你从命令行操作窗口和窗口管理的程序。
wmctrl的一个缺点是,虽然您可以操作当前窗口,但您无法让wmctrl列出有关当前窗口的信息(它忽略了-r)。
发布于 2011-12-31 22:22:47
要查找当前活动窗口的id,请使用:
xprop -root -f _NET_ACTIVE_WINDOW 0x " \$0\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}"使用此id,您可以获得有关当前活动窗口的大量信息:
xprop -id $(xprop -root -f _NET_ACTIVE_WINDOW 0x " \$0\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}")从那里,您可以grep您需要的东西,或者使它只显示所需的字段,与我上面提取_NET_ACTIVE_WINDOW的方式相同。因此,要找到当前活动窗口的PID,您可以将-f _NET_WM_PID 0c " \$0\\n" _NET_WM_PID附加到上面的命令,使其成为:
xprop -id $(xprop -root -f _NET_ACTIVE_WINDOW 0x " \$0\\n" _NET_ACTIVE_WINDOW | awk "{print \$2}") -f _NET_WM_PID 0c " \$0\\n" _NET_WM_PID | awk "{print \$2}"请注意,结合使用-i标志,wmctrl也接受相同类型的id。
发布于 2011-10-19 23:13:31
您可以通过打开详细模式并告诉wmctrl使用无效参数移动活动窗口来欺骗wmctrl输出活动窗口的ID号:
wmctrl -v -r :ACTIVE: -e dummy虽然这确实会以错误状态退出,但它还会输出活动窗口的ID号:
envir_utf8: 1
Using window: 0x08400004
The -e option expects a list of comma separated integers: "gravity,X,Y,width,height"获得活动窗口的ID号后,您可以列出所有窗口并搜索该ID号:
wmctrl -l使用wmctrl获取有关活动窗口的信息很笨拙,但这是可能的。
发布于 2013-10-12 20:35:06
xdotool是一个合理的替代方案(github project here),尽管不幸的是the author doesn't seem to care about it much any more。
https://stackoverflow.com/questions/4272232
复制相似问题