如何使用 applescript 获取当前 Aquamacs window 的标题
How to get the title of the current Aquamacs window using applescript
我正在尝试以编程方式检索 aquamacs 的主要模式。我有几个想法:获取菜单栏项,获取 window 标题并使用正则表达式对其进行解析。
我都试过了,运行 遇到了问题,菜单栏和 window 数组都是空的,这使得无法做到这一点:
on test()
try
tell application "System Events"
if application "Aquamacs" exists then
-- display notification "It's aquamacs"
tell application "Aquamacs" to activate
if menu bar item "File" of menu bar 1 exists then
display notification "File exists"
--Fails when the file menu bar item clearly is there
else
display notification "File doesn't exist"
end if
else
display notification "It isn't aquamacs"
end if
end tell
end try
end test
test()
或者这个:
on getAppTitle(appN)
tell application appN
activate
end tell
tell application "System Events"
# Get the frontmost app's *process* object.
set frontAppProcess to first application process whose frontmost is true
end tell
# Tell the *process* to count its windows and return its front window's name.
tell frontAppProcess
if (count of windows) > 0 then --never runs because count is always zero
set window_name to name of every window
end if
end tell
end getAppTitle
getAppTitle("Aquamacs")
然后查看文件扩展名。
我不明白为什么系统和 AppleScript 之间存在如此不一致:它显然有 windows 肯定有标题,但脚本无法访问。
你的代码有问题!
在第一个代码块中,if menu bar item "File" of menu bar 1 exists then
位于 tell application "System Events"
块中,没有任何指定的应用程序或应用程序进程来查询该信息及其失败的原因。
在第一个代码块中,修复它的方法不止一种,一种是更改:
if menu bar item "File" of menu bar 1 exists then
收件人:
if menu bar item "File" of menu bar 1 of application process "Aquamacs" exists then
在第二个代码块中,tell frontAppProcess
等同于:
tell application process "Aquamacs"
这就是失败的原因,它需要是:
tell application "Aquamacs"
在带有 Aquamacs 的脚本编辑器中 运行ning,运行 以下代码:
tell application "Aquamacs" to count windows
它会 return 一个 window 计数。
我正在尝试以编程方式检索 aquamacs 的主要模式。我有几个想法:获取菜单栏项,获取 window 标题并使用正则表达式对其进行解析。
我都试过了,运行 遇到了问题,菜单栏和 window 数组都是空的,这使得无法做到这一点:
on test()
try
tell application "System Events"
if application "Aquamacs" exists then
-- display notification "It's aquamacs"
tell application "Aquamacs" to activate
if menu bar item "File" of menu bar 1 exists then
display notification "File exists"
--Fails when the file menu bar item clearly is there
else
display notification "File doesn't exist"
end if
else
display notification "It isn't aquamacs"
end if
end tell
end try
end test
test()
或者这个:
on getAppTitle(appN)
tell application appN
activate
end tell
tell application "System Events"
# Get the frontmost app's *process* object.
set frontAppProcess to first application process whose frontmost is true
end tell
# Tell the *process* to count its windows and return its front window's name.
tell frontAppProcess
if (count of windows) > 0 then --never runs because count is always zero
set window_name to name of every window
end if
end tell
end getAppTitle
getAppTitle("Aquamacs")
然后查看文件扩展名。
我不明白为什么系统和 AppleScript 之间存在如此不一致:它显然有 windows 肯定有标题,但脚本无法访问。
你的代码有问题!
在第一个代码块中,if menu bar item "File" of menu bar 1 exists then
位于 tell application "System Events"
块中,没有任何指定的应用程序或应用程序进程来查询该信息及其失败的原因。
在第一个代码块中,修复它的方法不止一种,一种是更改:
if menu bar item "File" of menu bar 1 exists then
收件人:
if menu bar item "File" of menu bar 1 of application process "Aquamacs" exists then
在第二个代码块中,tell frontAppProcess
等同于:
tell application process "Aquamacs"
这就是失败的原因,它需要是:
tell application "Aquamacs"
在带有 Aquamacs 的脚本编辑器中 运行ning,运行 以下代码:
tell application "Aquamacs" to count windows
它会 return 一个 window 计数。