2008年05月23日(金)

LSUIElement を 1 に設定した Cocoa アプリで logout を拾う方法がわからない

コンピュータに関するりばにしの記事

最近,とある Mac 用のアプリケーションを作っていました.話題の RubyCocoa を使って.

で,現在ぶち当たっている問題は題目の通り.

Cocoa アプリでは NSWorkspace の Notification として shutdown / reboot / logout 時のイベントが通知されるので,それを拾えばいいようです.

しかし,作っているアプリは,ウィンドウを表示せず,ドックにも表示されず,ステータスバーにアイコンが表示されるタイプのアプリなので(,というか,そうしたいので),そのために LSUIElement の値を 1 に設定しています.

で,その LSUIElement を 1 に設定してしまうと,どうやらその通知がうまくいかないようです.以下がメーリングリストでの同様の問題.

Re: Trapping user shutdown/logout/restart in Cocoa/Foundation tool

& yes I am using same thing i.e. LSUIElement to hide dock icon but as I told
if I hide the dock icon then couldn't able to trap restart/shutdown/logout
using *workspaceWillPowerOff *cocoa notification.

from lists.apple.com at 2008年05月23日18時43分

この問題の解決方法をご存知の方がいらっしゃいましたら,情報お待ちしております・・・.

2008年05月23日18時40分 | Permalink
Trackback URL
Comment Form

▶次の記事:WiiFit 再開
◀前の記事:カラスに襲われた