arm*_*712 5 kde keyboard-shortcuts window-management
我想要几个应用程序的快捷方式来执行以下操作:
我正在使用 Debian 和 KDE。实现这一点的最佳方法是什么?
分为几个步骤,您可以首先按名称查找任务,如果找不到则运行它:
APPID=`pgrep <taskname>`
if [ $APPID == "" ] ; then
<app-command-with-options>
exit 0
fi
Run Code Online (Sandbox Code Playgroud)
如果必须运行应用程序,脚本现在将退出,否则继续查找属于该任务的窗口:
known_windows=$(xwininfo -root -children|sed -e 's/^ *//'|grep -E "^0x"|awk '{ print $1 }')
for id in ${known_windows}
do
xp=$(xprop -id $id _NET_WM_PID)
if test $? -eq 0; then
pid=$(xprop -id $id _NET_WM_PID|cut -d'=' -f2|tr -d ' ')
if test "x${pid}" = x${APPID}
then
echo "Windows Id: $id"
fi
fi
done
Run Code Online (Sandbox Code Playgroud)
此时,脚本已遍历匹配窗口列表。您可以简单地在循环后添加一个命令来激活由“$id”表示的窗口;这将切换到列表中的最后一个窗口,并应将其提升到顶部......
xdotool windowactivate $id
Run Code Online (Sandbox Code Playgroud)
您可以找出不同的策略来按对您有用的顺序选择窗口。xdotool
此外,通过更巧妙地使用命令及其搜索选项,可以简化脚本。