2010-02-21 77 views
2

我想知道在OSX中是否可以在bash中创建一个脚本,并将其输入为应用程序名称和数字N,以便此应用程序在Space中打开空间数字N.Bash和Mac OS X,在空间中打开应用程序N

我想用这个来创建一个元脚本,所以当计算机启动和登录后,在每个空间我得到不同的应用程序,重要的是,我可以在脚本文件中更改它,并且不是通过Mac OS X的空间的喜好

感谢

+0

我不认为这可能使用bash,但你可以使用'osascript'命令启动一个applescript,它可能能够实现你正在寻找的东西。 – ZeissS 2010-02-21 12:29:08

+0

你能指点一些教程吗?谢谢 – flow 2010-02-21 13:45:55

+0

搜索AppleScript教程。然而,支撑它的影响 - AppleScript实际上是糟糕的语言,讽刺的是,它试图变得太“人性化”。 – 2010-02-21 21:01:50

回答

1
#!/bin/sh 
APPNAME=$1 
SPACE=$2 
APPID=$(osascript - <<EOF1 | tr '[:upper:]' '[:lower:]' 
tell application "Finder" 
    get id of application file "$APPNAME" of folder "Applications" of startup disk 
end tell 
EOF1 
) 
osascript - <<EOF2 
tell application "System Events" 
    set x to application bindings of spaces preferences of expose preferences 
    set x to {|$APPID|:$SPACE} & x 
    set application bindings of spaces preferences of expose preferences to x 
end tell 
EOF2 
+0

P.S.最好是编辑和扩展你的原始问题,而不是打开第二个几乎相同的问题。而且你会很快收到答复。 – 2010-02-21 20:50:03

+0

此外,所介绍的脚本仅适用于/ Applications中的应用程序。将它扩展为适用于其他文件夹中的应用程序是读者的一项练习。 – 2010-02-21 20:55:18

+0

嗨,是的,你是对的,抱歉缺乏好的解释。下次我会这样做。 – flow 2010-02-23 19:10:02

2

defaults write com.apple.dock workspaces-app-bindings -dict-add com.apple.safari 4

从命令行执行的操作与更改空间首选项以将Safari浏览器置于第4号空间中相同。65544将它放在所有空格上。

正如你所看到的,它是空间绑定的基座。

+0

嗨,你确定吗?我在终端上键入该信息,我已经调整了6个空格,并且safari不显示 – flow 2010-02-21 12:34:30

+0

您可能需要'killall Dock'才能让您的码头重新加载其默认设置。 – 2010-02-21 12:38:59

-1

此功能在OSX的最后一个版本直接在系统偏好设置中实现 - >Exposé的&空间 - >空间 - >应用程序分配

相关问题