众所周知(谁拥有 Mac OS X Lion),默认情况下,滚动是反转的,使其有点像 iPhone。
问题:USB 鼠标无法实现“正常滚动”,触控板无法实现“自然/反向”滚动。该设置(即使它在鼠标和触控板设置中都列出)适用于两者。
问题:请有 Automator 或 AppleScipting 经验的人给我一些关于如何制作可以切换倒置设置的快捷方式的提示吗?我需要这个,因为当我在家时,我的 Mac Book Air 已插入我的键盘、鼠标和显示器,我想要一种快速更改此设置的方法
背景:我正在尝试编写一个简单的 applescript 应用程序来启动一个 tcl 应用程序,但是我在脚本的第一部分被卡住了。
我需要获取applescript 路径的父文件夹。当我运行此代码时:
set LauncherPath to path to me
set ParentPath to container of LauncherPath
Run Code Online (Sandbox Code Playgroud)
...我收到此错误:
error "Can’t get container of alias \"Macintosh HD:Users:simon:Downloads:folder with spaces:CrossFire-master:CrossFire Launcher for Mac.app:\"." number -1728 from container of alias "Macintosh HD:Users:simon:Downloads:folder with spaces:CrossFire-master:CrossFire Launcher for Mac.app:"
Run Code Online (Sandbox Code Playgroud)
阅读此答案后,我尝试了以下操作:
set LauncherPath to path to me
set RealLauncherPath to first item of LauncherPath
set ParentPath to container of RealLauncherPath
Run Code Online (Sandbox Code Playgroud)
...但我收到了这个错误:
error "Can’t get item 1 of alias \"Macintosh HD:Users:simon:Downloads:folder with spaces:CrossFire-master:CrossFire …Run Code Online (Sandbox Code Playgroud) 假设我想使用 AppleScript 单击出现在窗口中某处的按钮。click button工作,但你必须知道你想按哪个按钮。
例如:当您总是要等待扫描仪完成,然后切换到 Image Capture.app,然后再次单击扫描时,扫描有点麻烦。
所以,我想在这里自动点击这个按钮……

好吧,我认为这会相对容易,但一开始就我得到了:
tell application "System Events"
tell process "Image Capture"
click button "Scan" of window "Image Capture"
end tell
end tell
Run Code Online (Sandbox Code Playgroud)
当然,按钮埋得更深(即在某些拆分组中)。
使用Accessibility Inspector我可以看到它在哪里,但我真的必须沿着 UI 元素树找到按钮吗?有什么捷径吗?如果没有,我错过了click button "Scan" of window "Image Capture"什么?

更一般的:我在哪里可以找到 UI 元素层次结构中的按钮?
我有一个 Applescript 来启动我的工作环境,但对它有一些小问题。我希望脚本启动几个程序,然后在它们启动后隐藏它们。目前的代码如下所示:
tell application "Firefox" to activate
delay 0.5
tell application "Finder"
set visible of process "Firefox" to false
end tell
Run Code Online (Sandbox Code Playgroud)
显然,延迟 0.5只是一个占位符,理想情况下,我希望在加载完成后立即隐藏程序。不幸的是,我的加载时间变化很大(从 0.2 到 5 秒)是否有类似回调或函数来监视应用程序事件?
我正在尝试生成一个基于 Applescript 的 shell 命令,该命令告诉 Mac OS X 中的预览应用程序关闭特定窗口。
#!/bin/sh
osascript <<EOF
tell application "Preview"
close "$1"
end tell
EOF
Run Code Online (Sandbox Code Playgroud)
但这不起作用:我收到错误消息
25:52: execution error: Preview got an error: "musixdoc.pdf" doesn’t understand the close message. (-1708)
Run Code Online (Sandbox Code Playgroud)
好吧,苏,我有一个有趣的坚果要破解。
我有 8 个屏幕排成一行,全部连接到一个运行 Snow Leopard 的强大 G5(是的,4 个显卡;大约 15,000 像素宽!)。我正在设置一个演示,它使用 8 个全屏 Chrome 浏览器窗口,每个窗口都指向不同的 URL。每次重新启动计算机时手动执行此操作很麻烦。
鉴于此设置,我想编写一个脚本来自动:
我没有使用过 automator,我对 shell 脚本也不是特别熟悉,但我想知道是否有来自人群的任何奇特的建议。
更新:即使我需要将 Automator 用于高级功能,我最终还是希望有一种方法可以从命令行/脚本触发脚本。如果需要,我希望能够从 shell 远程打开这个演示。
我有一个 Applescript,我希望在其中设置文本字段Name和Password属于进程的窗口的值SecurityAgent。
它类似于以下内容:
tell window "Authenticate" of process "SecurityAgent"
tell group 1
set value of text field 1 to "king"
set value of text field 2 to "king1"
end tell
click button "OK" of group 2
end tell
Run Code Online (Sandbox Code Playgroud)
虽然我的脚本也指的是进程SecurityAgent,但有问题的窗口是在您关闭 OS X 并且另一个用户登录时SecurityAgent弹出的窗口。弹出窗口要求输入管理员用户名和密码以完成关闭过程。我不知道如何引用所述窗口中的文本字段。
我的问题是,如何找出这些文本字段的名称、它们所属的组以及它们所属的窗口?是否有映射 OS X 窗口的方法,以便我可以在 AppleScript 中引用它们?我似乎无法在任何地方找到有关此的信息。
我对这些默认的 AppleScript 和cocoaDialog对话框感到厌烦:

我想用更接近这个的东西替换它们:

有没有人制作过像 cocoaDialog 这样的 shell 可执行文件,并具有自定义的 Windows 外观?是否有其他选项可以在 shell 脚本或 AppleScripts 中获得不那么难看的文本对话框?
我有一个文件夹,我想向其中添加文件夹操作。当文件被添加到顶层时,该操作效果很好。但是当一个文件被添加到子文件夹时,该操作不会被启用。有没有办法确保在将文件添加到其任何子文件夹时启用文件夹操作?
在这个论坛的一个帖子中,有一个有趣的解决方案,关于如何在 AppleScript 的帮助下打开一个已经打开的 Finder 窗口的副本: 如何复制当前打开的 Finder 视图?
使用 OS X 10.9 Mavericks 中新的标签式 Finder,我想知道是否有办法实现 AppleScript,在新的 Finder 选项卡而不是新的 Finder 窗口中打开副本?有没有人成功找到解决方案?
applescript ×10
macos ×8
automator ×3
cocoadialog ×1
finder ×1
objective-c ×1
osx-lion ×1
shell-script ×1
tabs ×1