<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi John,<div class=""><br class=""><div><blockquote type="cite" class=""><div class="">Le 28 sept. 2018 à 21:38, John McIntosh <<a href="mailto:johnmci@smalltalkconsulting.com" class="">johnmci@smalltalkconsulting.com</a>> a écrit :</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div class="">Well there is or was a mac menu bar plugin</div><div class=""><br class=""></div><div class=""><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/iOS/plugins/MacMenubarPlugin/MacMenuOS9ToOSX.m" class="">https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/iOS/plugins/MacMenubarPlugin/MacMenuOS9ToOSX.m</a><br class=""></div><div class=""><br class=""></div><div class="">you'll need to ensure your vm bundle contains that.  I can't say where the smalltalk code you use to talk to it is, nor can I say how you would build the VM with that included. </div></div></div></div></div></div></div></blockquote><div><br class=""></div><div>Good to know. I was not aware of that plugin.</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class=""><div dir="ltr" class="">---------------</div><div dir="ltr" class=""><br class=""></div><div class="">Otherwise you need a VM that has the ObjectiveCPlugin plugin  which I see the pharo people compile. </div><div dir="ltr" class=""><br class=""><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/src/plugins/ObjectiveCPlugin/ObjectiveCPlugin.c" target="_blank" class="">https://github.com/<wbr class="">OpenSmalltalk/opensmalltalk-<wbr class="">vm/blob/Cog/src/plugins/<wbr class="">ObjectiveCPlugin/<wbr class="">ObjectiveCPlugin.c</a><br class=""><br class=""><br class="">Then you need the smalltalk code<br class=""><br class=""><a href="http://www.squeaksource.com/ObjectiveCBridge2.html" target="_blank" class="">http://www.squeaksource.com/<wbr class="">ObjectiveCBridge2.html</a><br class=""><br class=""><br class=""><div class=""><br class=""></div><div class="">Then consider Apple's documentation </div><div class=""><br class=""></div><div class=""><a href="https://developer.apple.com/documentation/appkit/nsmenu" target="_blank" class="">https://developer.apple.com/<wbr class="">documentation/appkit/nsmenu</a></div><div class=""><br class=""></div><div class="">Perhaps someone has written the Smalltalk code to interface to NSMenu ? </div></div></div></div></div></div></div></div></blockquote><br class=""></div><div>A few months ago, I did some experiments with Alien-MacOSX in Pharo (<a href="http://squeaksource.com/Alien" class="">http://squeaksource.com/Alien</a>).</div><div>It was not very successful. I was able to remove menus or menu items but I did not succeed to update existing ones or to create new ones.</div><div><br class=""></div><div>Some snippet of my experiments:</div><div><br class=""></div><div><div>nsApp := #NSApplication inObjectiveC sharedApplication.</div><div>menu := nsApp mainMenu.</div><div><br class=""></div><div><div>menu removeItemAtIndex: 2. "remove Edit menu item"  => ok</div><div><br class=""></div><div><div>menu addItemWithTitle: 'Quit' asNSString autorelease </div><div>        action: #terminate: asObjectiveCSelector</div><div>        keyEquivalent: 'q' asNSString autorelease.  => does not work</div><div class=""><br class=""></div><div class=""><div class="">#NSMenu inObjectiveC setMenuBarVisible: 0.</div><div class="">#NSMenu inObjectiveC setMenuBarVisible: true asAlien.</div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Probably I did not succeed probably because I do not know enough on OS X app dev.</div><div class=""><br class=""></div></div><div class="">It could be an option, but I still think that it would be bettter to be able to customize this static information in the nib file.</div></div></div><div><br class=""></div></div><div class="">Thanks,</div><div class="">Christophe</div></body></html>