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

标签 smalltalk pharo

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

为了使其易于访问,我想在 Nautilus 包上下文菜单中添加一个菜单项,这样人们就可以在 Nautilus 中的选定包上打开我的工具。这可能吗?

最佳答案

要向 Nautilus 上下文菜单添加条目,您可以使用 AbstractNautilusUI menu pragmas 协议(protocol)中定义的菜单编译指示之一。

只需在您想要的任何类上使用其中一个编译指示定义一个类端方法即可。例如:

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

   target := aBuilder model.

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

   (aBuilder item: #'Show my selection')
        action: [ self inform: packages ]

对于 Nautilus 软件包菜单,您可以通过以下方式进行选择

aBuilder model selectedPackages

使用 Finder 的 pragma 搜索选项查看示例。

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

关于smalltalk - 如何在 Nautilus 中向上下文菜单添加条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640402/

相关文章:

collections - 删除重复的数组元素并保留顺序

objective-c - ScriptingBridge - 它是如何工作的 "Behind the Scenes"

networking - squeak/pharo 中存在哪些高级网络对象传递设施?

random - 如何在 Smalltalk 的范围内生成随机整数?

version-control - 如何合并蒙蒂塞洛的冲突?

smalltalk - 在smalltalk中实现new with argument

formatting - 如何在 Smalltalk/Pharo 中打印固定字符数的数字

string - 在 Smalltalk VisualWorks 7.9.1 中将 Open Sound Control ByteArray 转换为 String

date - Date dayMonthYearDo : look like in Smalltalk (Pharo/Squeak) 的正确参数是什么

smalltalk - Pharo/Smalltalk中 ">>"的使用