Shell 命令将一个程序窗口移到另一个程序窗口前面?

Shell 命令将一个程序窗口移到另一个程序窗口前面?

是否存在一个 shell 命令可以将 gnome 中已启动的程序置于另一个程序前面。

IE:

Gedit 和 Nautilus 已启动。Nautilus 在后台,而 Gedit 在前台。

如何使用 shell 命令将 Nautilus 置于最前面?

答案1

笔记:

  • 有关 xdotool 的更多信息可以找到这里

答案2

另一个选择是工具

xdotool search --class Nautilus windowactivate

答案3

使用时xdotool,似乎很难被带到前面全部仅使用一个命令即可为给定应用程序或类提供窗口。我最终通过for在 shell 级别将其包装在循环中获得了更好的结果。使用 Bash:

for WINDOW in $(xdotool search --desktop 0 Firefox); do
   xdotool windowactivate ${WINDOW}
done

几点说明:

  • 默认情况下,xdotool search将在窗口名称、类和类名中搜索模式(此处Firefox)。如果您想限制搜索空间,请使用相关的--class--name--classname选项。
  • --desktop 0选项将搜索限制在第一个桌面。这似乎是一种避免XGetWindowProperty[_NET_WM_DESKTOP] failed (code=1)某些评论中提到的解决方法。
  • 在撰写本文时,该xdotool项目自 2015 年以来一直处于停滞状态。但它仍然是我的首选工具。由于个人原因,Jordan Sissel(原作者)不再像以前那么活跃,所以不要犹豫,为该项目做出贡献。

相关内容