标签: applescript

如何使用 Applescript 构建和运行 Xcode?

我正在尝试在另一个编辑器(即 Vim)中模拟 Xcode 的 ?-R 击键;我以为我可以使用一些 shell 脚本和 applescript 来做到这一点,但它似乎无法正常工作:

open -a Xcode "MyProj.xcodeproj"
osascript -e 'tell app "Xcode"' -e 'build' -e 'launch' -e 'end tell'
Run Code Online (Sandbox Code Playgroud)

问题在于它会启动应用程序,而不管 Xcode 是否报告错误。有没有什么办法解决这一问题?

xcode applescript

4
推荐指数
1
解决办法
5137
查看次数

如何判断菜单项是否被“选中”?

我正在构建一个 Applescript,它将每 X 分钟扫描一次我的网络,检查我家的 Xbox360 或 PS3,并在任一控制台在线时启用我的传输 BitTorrent 客户端限速模式。

目前我只能使用 applescript 暂停所有传输或恢复所有传输,因为启动/停止传输有单独的键盘命令。我希望它进入限速模式,而不是完全停止。

我的问题是限速(海龟)模式是打开/关闭它的同一个键。如果有人手动触摸速度限制,它将不同步,并且在控制台上线时实际上会关闭速度限制。此外,如果一个控制台上线,速度限制将开启,但如果另一个控制台上线,则限制将关闭。

当速度限制处于活动状态时,菜单项变为“已检查”,但我不知道如何对此进行测试。传输应用程序的applescript 字典中没有任何内容。

如何确定 Applescript 中的菜单项是否被“选中”(它甚至显示了一个实际的复选标记)?

[编辑:]我目前正在尝试弄清楚如何通过 RPC 打开速度限制,而不是尝试使用 GUI 或键盘命令编写脚本,因为开发人员不提供任何 Applescript 访问。 http://trac.transmissionbt.com/browser/trunk/doc/rpc-spec.txt

macos applescript

4
推荐指数
1
解决办法
1600
查看次数

如何找到正在执行的AppleScript的文件名

如何找到正在执行的AppleScript的名称?

原因:我想创建一个脚本,根据文件名更改其行为.就像是:

if myname is "Joe" then ACTION1
else if myname is "Frank" then ACTION2
else ACTION3
Run Code Online (Sandbox Code Playgroud)

applescript

4
推荐指数
2
解决办法
3156
查看次数

使emacs在新缓冲区(NOT帧)中打开文件并激活/来到前面的别名?

到目前为止我所拥有的是什么

alias em="open -a /Applications/Emacs.app "$@" && osascript -e 'tell application "Emacs.app" to activate'"
Run Code Online (Sandbox Code Playgroud)

但我很难过.

使用该代码,em file.txt将激活,但不会打开该文件.我得到'22:23:语法错误:预期行结束但发现未知令牌.(-2741)"


干

alias em=open -a /Applications/Emacs.app "$@"
Run Code Online (Sandbox Code Playgroud)

工作正常,然后它将打开文件,但显然不会将emacs带到前面.


而且出于一些奇怪的原因

osascript -e 'tell application "Emacs.app" to activate'
Run Code Online (Sandbox Code Playgroud)

不会激活emacs ....我不知道发生了什么.


我很高兴用别名代码或.emacs代码修复此问题


编辑:看到另一件尝试的评论.

macos emacs applescript dot-emacs emacsclient

4
推荐指数
1
解决办法
1850
查看次数

将变量传递给 AppleScript

在 Xcode 中运行我的 AppleScript 的代码如下:

NSString *path = [[NSBundle mainBundle] pathForResource:@"Script" ofType:@"scpt"];

NSAppleScript *script = [[NSAppleScript alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];

[script executeAndReturnError:nil];
Run Code Online (Sandbox Code Playgroud)

在执行它之前,我想知道是否可以设置一些变量供它使用。换句话说,我想将变量从我的应用程序传递给 AppleScript。

macos xcode applescript objective-c

4
推荐指数
2
解决办法
3543
查看次数

AppleScript 在终端中打开新标签不再在 Mountain Lion 中工作?

我曾经在 Lion 中运行以下代码来打开终端,更新一个项目,然后打开一个新选项卡,然后再次运行以更新第二个、第三个和第四个。由于 Mountain Lion 升级,这不再有效。一半时间它似乎在我的主目录中打开 Finder,另一半时间它似乎打开 OSX 字体/文本对话框。我已经确认 Cmd+T 仍然应该打开一个新标签。知道它为什么坏了吗?

tell application "Terminal" to activate

tell application "Terminal"

    do script "cd Projects/blahblah/trunk" in front window
    do script "svn up" in front window

end tell

tell application "System Events" to tell process "Terminal" to keystroke "t" using command down
Run Code Online (Sandbox Code Playgroud)

applescript osx-mountain-lion

4
推荐指数
1
解决办法
3811
查看次数

AppleScript如何在代码中获得STDIN?

谷歌建议

echo "input" | osascript filename.scpt
Run Code Online (Sandbox Code Playgroud)

同 filename.scpt

set stdin to do shell script "cat"
display dialog stdin
Run Code Online (Sandbox Code Playgroud)

但是,我只能得到空白对话框:它没有文字.如何在版本中从AppleScript获取stdin?

我的操作系统版本是OSX 10.8 Mountain Lion.

macos applescript osx-mountain-lion

4
推荐指数
3
解决办法
2626
查看次数

连接到外部显示器时,Applescript 是否可以将 OSX 10.9 Mavericks 上的屏幕亮度调暗/调高 0%/100%?

以前,这可以通过 Mountain Lion 上的 Applescript 完成。这是因为它针对系统偏好设置来调整亮度。OSX 10.9 Mavericks 中的系统偏好设置不再有此设置。任何有关此问题的指导将不胜感激。谢谢。亮度外接显示器

更正,我的投影仪一直插着电源,所以当脚本运行时,它会跳转到“投影仪”窗格而不是滑块所在的“内置显示”窗格。我在想这样的事情会针对具有滑块的“内置显示”窗格。我似乎无法让它工作。

    tell application "System Preferences"
        reveal anchor "displaysDisplayTab" of pane id         "com.apple.preference.displays"
        tell application "System Events" to tell process "System Preferences" to         tell window "Built-in Retina Display"
            delay 1
            set value of slider 1 of group 1 of tab group 1 of window 1 of         process "System Preferences" to 0

        end tell
        quit
    end tell
Run Code Online (Sandbox Code Playgroud)

macos applescript

4
推荐指数
1
解决办法
7954
查看次数

以编程方式确定 MacVim 何时完成编辑文件

我想编写一个脚本,用 MacVim 打开一个指定的文件,然后等到文件关闭再继续。我最初的想法是:

#!/bin/sh
file="some-file.txt"
mvim $file
cat $file | pbcopy
Run Code Online (Sandbox Code Playgroud)

这会用 MacVim 打开指定的文件并立即执行下一个命令。我一直在想一些令人难以置信的骇人听闻的东西,lsof但我希望有更好的方法。

如果使用普通的 shell 脚本无法做到这一点,我愿意接受其他任何想法。(AppleScript 等)

macos vim bash shell applescript

4
推荐指数
1
解决办法
126
查看次数

如何在JavaScript for Automation中获取当前脚本文件夹的POSIX路径?

在AppleScript中,可以使用此行获取当前脚本所在的文件夹的POSIX路径:

POSIX path of ((path to me as text) & "::")
Run Code Online (Sandbox Code Playgroud)

结果示例: /Users/aaron/Git/test/

什么是JavaScript等效项?

macos applescript osascript osx-yosemite javascript-automation

4
推荐指数
2
解决办法
2734
查看次数