Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 我可以操纵通过osascript显示的对话框的位置吗?_Macos_Dialog_Applescript_Osascript - Fatal编程技术网

Macos 我可以操纵通过osascript显示的对话框的位置吗?

Macos 我可以操纵通过osascript显示的对话框的位置吗?,macos,dialog,applescript,osascript,Macos,Dialog,Applescript,Osascript,我一直在使用各种UNIX命令,遇到了这个命令来显示一个对话框: osascript -e 'tell app "System Events" to display dialog "Hello World"' 我想更改对话框的位置。对于大多数命令,我只需使用man命令来了解如何为该命令执行某些操作。但是,manosascript没有告诉我如何更改对话框的位置。如何修改命令以将对话框放在其他位置?首先,要获得有关applescript的帮助,只需打开applescript编辑器应用程序并查看“帮助

我一直在使用各种UNIX命令,遇到了这个命令来显示一个对话框:

osascript -e 'tell app "System Events" to display dialog "Hello World"'

我想更改对话框的位置。对于大多数命令,我只需使用
man命令
来了解如何为该命令执行某些操作。但是,
manosascript
没有告诉我如何更改对话框的位置。如何修改命令以将对话框放在其他位置?

首先,要获得有关applescript的帮助,只需打开applescript编辑器应用程序并查看“帮助”菜单下的内容。applescript语言指南在那里和其他工具中。文件菜单下还有“Open Dictionary”,它将向您显示应用程序的特定命令

要查看有关显示对话框的信息,请打开StandardAdditions字典并使用搜索字段查找命令

要回答您的问题,否,您不能指定“显示对话框”窗口的位置。该命令中没有用于定位窗口的参数,您将在字典中看到。此外,也没有其他命令可以帮助您,因为在对话框窗口打开时无法发出其他命令,因为在窗口打开等待对话框窗口的响应时(如按下“确定”按钮时),代码会暂停


如果需要设置窗口位置以向用户显示信息,则需要使用“显示对话框”以外的其他对话框工具。您可以在cocoa或google中创建自己的窗口,用于cocoaDialog、SKProgressBar和Notification Center等选项。

首先,要获得有关applescript的帮助,只需打开applescript编辑器应用程序并查看“帮助”菜单。applescript语言指南在那里和其他工具中。文件菜单下还有“Open Dictionary”,它将向您显示应用程序的特定命令

要查看有关显示对话框的信息,请打开StandardAdditions字典并使用搜索字段查找命令

要回答您的问题,否,您不能指定“显示对话框”窗口的位置。该命令中没有用于定位窗口的参数,您将在字典中看到。此外,也没有其他命令可以帮助您,因为在对话框窗口打开时无法发出其他命令,因为在窗口打开等待对话框窗口的响应时(如按下“确定”按钮时),代码会暂停


如果需要设置窗口位置以向用户显示信息,则需要使用“显示对话框”以外的其他对话框工具。您可以在cocoa或google中创建自己的窗口,用于cocoaDialog、SKProgressBar和Notification Center等备选方案。

有一种方法可以实现这一点,在某些情况下可能会很有用。请尝试以下操作:

on displayMessage(msg)
tell application "Finder"
   activate
   set c to (count windows)
   ignoring application responses
       display dialog msg with icon note
   end ignoring
end tell

tell application "System Events"
   tell application process "Finder"
       repeat until ((count windows) > c)
           delay 0.2
       end repeat
       set position of window 1 to {0, 22}
   end tell
end tell
end displayMessage

displayMessage("I'm over here!")
这个小剧本的功劳归于一篇文章

在我自己实现的过程中,我发现它仅限于被调用的应用程序(
Finder
,在本例中)是否支持
countwindow
命令(或者它是否有API支持)


我意识到我从2013年起就提出了一个问题。我在这里发布这个答案,以防它对OP有用,或者更可能是对其他有类似问题的人有用。

有一个迂回的方法来解决这个问题,这在某些情况下可能很有用。请尝试以下操作:

on displayMessage(msg)
tell application "Finder"
   activate
   set c to (count windows)
   ignoring application responses
       display dialog msg with icon note
   end ignoring
end tell

tell application "System Events"
   tell application process "Finder"
       repeat until ((count windows) > c)
           delay 0.2
       end repeat
       set position of window 1 to {0, 22}
   end tell
end tell
end displayMessage

displayMessage("I'm over here!")
这个小剧本的功劳归于一篇文章

在我自己实现的过程中,我发现它仅限于被调用的应用程序(
Finder
,在本例中)是否支持
countwindow
命令(或者它是否有API支持)


我意识到我从2013年起就提出了一个问题。我在这里发布这个答案,以防它对OP有用,或者更可能是对其他有类似问题的人有用。

man osascript
向您指出有关AppleScript本身的详细信息。您可以扩展该命令以包含位置信息。给了你那个URL,当你追逐它的时候,你最终会在Automator……如果你是一个注册开发者,肯定有关于Automator和AppleScript的手册(大部分是2007年的)。不过,我不确定它们是否公开。@animuson:如果我可以问的话,为什么在这个问题上不合适?tag wiki摘录说“定位通常是指放置可视元素的过程。”这个问题显然与在屏幕上定位用户界面元素有关。@icktoofay:由于模糊性,我正在清理它。标记为的问题中有85%涉及CSS定位,现在CSS定位有自己的标记:。不幸的是,在合并之前,我需要重新标记其他15%。如果你知道一个更好,更具体的标签比,请随意添加它。怎么样。用户界面定位
manosascript
指向,以获取有关AppleScript本身的详细信息。您可以扩展该命令以包含位置信息。给了你那个URL,当你追逐它的时候,你最终会在Automator……如果你是一个注册开发者,肯定有关于Automator和AppleScript的手册(大部分是2007年的)。不过,我不确定它们是否公开。@animuson:如果我可以问的话,为什么在这个问题上不合适?tag wiki摘录说“定位通常是指放置可视元素的过程。”这个问题显然与在屏幕上定位用户界面元素有关。@icktoofay:由于模糊性,我正在清理它。标记为的问题中有85%涉及CSS定位,现在CSS定位有自己的标记:。不幸的是,在合并之前,我需要重新标记其他15%。如果你知道一个更好,更具体的标签比,请随意添加它。怎么样。ui定位我在我的(OS X 10.10)Ma上运行了这个