问题标签 [simbl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 如何将 SIMBL 插件加载到 SystemUIServer
我有开发两个 SIMBL 插件的经验。
目前这些都在 Mac OS X 10.6.6 上正常工作。
我打算制作一个新的SIMBL 插件来修改 Menu Extra 的行为。
Menu Extra 属于 SystemUIServer。
SystemUIServer 存在于这个地方:
/System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer
SystemUIServer 的捆绑标识符是 com.apple.systemuiserver。
所以我在 Info.plist 中添加了一个关键的 SIMBLTargetApplications,如下所示:
- 构建一个 Foo.bundle。
- 复制到 $HOME/Library/Application Support/SIMBL/Plugins。
- 运行“killall SystemUIServer”。
- 使用 Console.app 仔细观察日志消息。
但是 Foo.bundle 在重新启动时不会加载到 SystemUIServer。
如果将 BundleIdentifier 更改为其他类型的通用应用程序名称,它可以正常工作。
那有什么问题?
--
莫亚希
ttp://hitoriblog.com/
objective-c - 如何实现方法调配?
我正在尝试使用 SIMBL 修改程序的行为(我没有它的源代码)。我使用了类转储,发现我需要覆盖一个实例方法
此方法在称为控制器的类中。我需要做的就是获取参数 arg1 就可以了。也许 NSLog 它或发布通知...我阅读了有关在 Objective-C 中调配的方法,但我该如何使用它?我需要参考我没有课程的 MessageController 类。
谢谢!
objective-c - SIMBL 实施 - 为什么要加载 SIMBL 插件?
在 SIMBL Agent 的源代码中,有几个代码将 Apple 事件发送到目标应用程序。就像是:
和
我不知道为什么目标应用程序会在此触发后加载 SIMBL 插件。这样做似乎是一种非常hacky的方式,并且很难从官方文档中获得帮助。
macos - SIMBL/Bundle/dylib 注入 Dock.app
我正在开发一个简单的 SIMBL 捆绑包,以减少 Lion 中的全屏动画时间。改变窗口的动画没什么大不了的,但是对于菜单栏/桌面动画部分(菜单栏+桌面向左滑动)是一个问题。我认为 Dock.app 负责该动画。但是,SIMBL 不能将包注入 Dock.app(与 Finder 相同)。
我尝试创建一个 .dylib,然后通过在 Dock 的 Info.plist 中设置 LSEnvironment 将其加载到 Dock 中,但失败了。
有什么好方法可以将 bundle/dylib 注入 Dock.app 吗?提前致谢
PS:Dock 是 root:wheel :(
macos - SIMBL 插件无法加载框架
在控制台上,我收到以下错误:
该文件FScriptAnywhere.bundle/Contents/Frameworks/FScript.framework/Versions/A/FScript
存在。因此,我不明白错误/问题。
任何的想法?
objective-c - 无法从 SIMBL 插件发送 NSDistributedNotification
我正在为 TextEdit 开发一个 SIMBL 插件,该插件添加了一个额外的菜单。菜单有许多项目(除其他事项)时,将消息发送到我自己的应用程序。为此,我一直在使用 NSDistributedNotificationCenter,但是我无法从 TextEdit 中的包发送通知。
我检查了我在一个单独的应用程序中使用的代码,它似乎可以工作,所以我不明白为什么我在 TextEdit 中的包无法发送消息。
发布通知代码:
以及接收器中的代码:
如果我将这段代码添加到我的另一个应用程序中,它似乎可以工作,所以它让我觉得 TextEdit 或 SIMBL 中发生了一些我不知道的事情。
我已经通过在执行方法后立即在 TextEdit 中显示 NSAlert 来检查菜单项是否正确执行了该方法。
任何帮助表示赞赏。
(编辑)我发现,当我发布通知时,如果 userInfo 字典为零,我的应用程序会收到通知,因此我发送的 NSDictionary 或接收器方法签名似乎存在问题。
google-chrome - Google Chrome:OpenScripting.framework - 找不到入口点 InjectEventHandler
我尝试将几个 SIMBL 插件(例如 Afloat 和 FScriptAnywhere)注入 Chrome 和其他应用程序。
它适用于所有其他应用程序,但不适用于 Chrome。我在控制台上得到这个输出:
我认为eventDidFail:'tvea'
可以忽略该错误,因为我在所有应用程序上都得到了它(尽管我想知道它是什么)。
但是,我认为最后一个错误Google Chrome: OpenScripting.framework - can't find entry point InjectEventHandler in scripting addition /Library/ScriptingAdditions/SIMBL.osax
是相关的。
这是什么意思?会是什么呢?
objective-c - 如何在应用程序启动时在 mac 应用程序中加载注入库?
我有一个动态库,我打算注入正在运行的应用程序和新启动的应用程序。
我可以借助以 root 用户权限运行的进程将其注入正在运行的应用程序中。
现在我正在尝试在应用程序启动后立即加载该库。我知道一个这样的库能够做到这一点,称为应用程序增强器。我正在寻找类似的行为。
有没有人有一个想法如何实现?
plugins - 带有沙盒应用程序的 SIMBL 插件
我在 Lion 中为 TextEdit 创建了一个 SIMBL 插件,但是我无法发送带有 userInfo 对象的 NSDistributedNotification,因为沙盒会阻止发布通知。
我收到以下消息:TextEdit: *尝试发布被沙盒阻止的分布式通知。
我认为这与以下权利有关;com.apple.security.temporary-exception.apple-events
如何在我的插件中实现这一点?或者我是否需要更改 TextEdit 的权利才能发送通知?