Smalltalk 如何在Nautilus中向上下文菜单添加条目?

Smalltalk 如何在Nautilus中向上下文菜单添加条目?,smalltalk,pharo,Smalltalk,Pharo,我有一个适用于Pharo包(RPackages)的工具 为了便于访问,我想在Nautilus软件包上下文菜单中添加一个菜单项,这样就可以在Nautilus内的选定软件包上打开我的工具。这是可能的吗?要向Nautilus上下文菜单添加条目,可以使用AbstractNautilusUI菜单pragmas协议中定义的菜单pragmas之一 只需在您想要的任何类上定义一个带有pragma的类端方法。例如: MyClass class >> myMenuEntry: aBuilder &

我有一个适用于Pharo包(RPackages)的工具


为了便于访问,我想在Nautilus软件包上下文菜单中添加一个菜单项,这样就可以在Nautilus内的选定软件包上打开我的工具。这是可能的吗?

要向Nautilus上下文菜单添加条目,可以使用
AbstractNautilusUI
菜单pragmas
协议中定义的菜单pragmas之一

只需在您想要的任何类上定义一个带有pragma的类端方法。例如:

MyClass class >> myMenuEntry: aBuilder
   <nautilusGlobalPackageMenu>
   | target packages |

   target := aBuilder model.

   (packages := target selectedPackages) ifNil: [ ^ target ].

   (aBuilder item: #'Show my selection')
        action: [ self inform: packages ]
使用Finder的pragma搜索选项查看示例

(感谢本杰明·范瑞塞格姆)

aBuilder model selectedPackages