Hai*_*ood 2 command-line window xdotool
据我所知,下面的代码行应该聚焦打开的 nautilus 窗口
xdotool windowactivate `xdotool search --onlyvisible --class nautilus`
Run Code Online (Sandbox Code Playgroud)
但我收到错误
xdotool:未知命令:21043361
小智 6
xdotool 作者在这里。
您所看到的很可能有两个窗口 ID。您可以尝试找出您想要的确切窗口 id,但在大多数情况下,可以只使用“命令链接”和“窗口堆栈”功能 - 请参阅 xdotool 联机帮助页中的“窗口堆栈”和“命令链接”。
您问题的最简单解决方案是让 xdotool 搜索并将窗口 ID 直接传递给 windowactivate 命令,如下所示:
xdotool search --onlyvisible --class nautilus windowactivate
Run Code Online (Sandbox Code Playgroud)
上面进行了搜索,将结果保存在窗口堆栈上,然后调用 windowactivate,它不带任何参数应用于窗口堆栈上的第一个窗口(又名“%1”)。可以将其视为将搜索结果通过管道传输到同一命令行中的其他 xdotool 命令的方法。
这是获取所有 google chrome 窗口标题的另一个示例,使用“%@”窗口堆栈表示“堆栈中的所有窗口”(与堆栈中的特定窗口 %1、%2 等不同)
% xdotool search --onlyvisible --class chrome getwindowname %@
asdf - Google Search - Google Chrome
CNN.com - Breaking News, U.S., World, Weather, Entertainment & Video News - Google Chrome
Ask Ubuntu - Google Chrome
Google Chrome
Run Code Online (Sandbox Code Playgroud)
通常,任何发出窗口 ID 的命令(search、selectwindow、getactivewindow 等)都将填充窗口堆栈以用于链接命令。另一个例子,通过点击一个窗口(通常是退出一个应用程序):
% xdotool selectwindow windowkill
Run Code Online (Sandbox Code Playgroud)