列表 windows 在 OSX 的屏幕上可见
List windows visible on the screen in OSX
OSX 中是否有一种方法可以获取屏幕上可见的所有应用程序的列表?我可以得到每个应用程序的所有 windows 的列表,它们的大小和位置吗?
您可以使用名为 wmctrl 的工具来实现。它可能未安装在 Mac OSX 上,但您可以使用 brew install homebrew/x11/wmctrl
获取它(首先,如果您不想弄乱,请获取 brew 或任何知道在哪里可以找到 wmctrl 的包管理器git 回购协议和错误)。
然后,您应该可以通过以下方式激活 windows:
BASH
wmctrl -l
之后您可以将该命令的输出用于其他用途:
BASH
./myProgram $(wmctrl -l)
希望对您有所帮助!
更新:
如果您的 window 管理器与 wmctrl 不兼容,您最好的解决办法是使用 AppleScript。有一些非常简单的方法可以做到这一点,就像 answer 中所建议的那样。我认为这种方法将使您更容易获得 window 属性。
AppleScript
tell application "System Events"
repeat with theProcess in processes
if not background only of theProcess then
[...]
玩得开心,祝你好运:)
OSX 中是否有一种方法可以获取屏幕上可见的所有应用程序的列表?我可以得到每个应用程序的所有 windows 的列表,它们的大小和位置吗?
您可以使用名为 wmctrl 的工具来实现。它可能未安装在 Mac OSX 上,但您可以使用 brew install homebrew/x11/wmctrl
获取它(首先,如果您不想弄乱,请获取 brew 或任何知道在哪里可以找到 wmctrl 的包管理器git 回购协议和错误)。
然后,您应该可以通过以下方式激活 windows:
BASH
wmctrl -l
之后您可以将该命令的输出用于其他用途:
BASH
./myProgram $(wmctrl -l)
希望对您有所帮助!
更新:
如果您的 window 管理器与 wmctrl 不兼容,您最好的解决办法是使用 AppleScript。有一些非常简单的方法可以做到这一点,就像 answer 中所建议的那样。我认为这种方法将使您更容易获得 window 属性。
AppleScript
tell application "System Events"
repeat with theProcess in processes
if not background only of theProcess then
[...]
玩得开心,祝你好运:)