【プラグイン】Macで通知を表示する
2 posters
【プラグイン】Macで通知を表示する
v14以降,DISPLAY NOTIFICATIONがMacにも対応し(Windowsはv2004から),OS X 10.8の「通知」が表示できるようになりました。
ただ,通知は4Dが最前面のときは表示されない「仕様」になっています。
Appleのガイドラインに準拠している,ということなのですが,
それでも敢えて通知を表示したいことがあるかもしれません。
Growlプラグインは,通知を表示し,コールバックメソッドで反応を処理することができます。
1. 10.8以降でGrowlが動いていなければシステム通知
2. 10.7以前でGrowlが動いていなければMIST(Growlに依存しない簡単な通知)
3. Growlが動いていればGrowlで通知
(GrowlはApp Storeで480円)
https://github.com/miyako/4d-plugin-growl
ただ,通知は4Dが最前面のときは表示されない「仕様」になっています。
Appleのガイドラインに準拠している,ということなのですが,
それでも敢えて通知を表示したいことがあるかもしれません。
Growlプラグインは,通知を表示し,コールバックメソッドで反応を処理することができます。
1. 10.8以降でGrowlが動いていなければシステム通知
2. 10.7以前でGrowlが動いていなければMIST(Growlに依存しない簡単な通知)
3. Growlが動いていればGrowlで通知
(GrowlはApp Storeで480円)
https://github.com/miyako/4d-plugin-growl
最終編集者 miyako [ 2016-09-15, 3:29 pm ], 編集回数 1 回
miyako- 投稿数 : 483
登録日 : 2016/07/05
Re: 【プラグイン】Macで通知を表示する
DISPLAY NOTIFICATION(Mac)の場合、
ドキュメントは「Appleの仕様に基づけ、通知メッセージは、アプリケーションが前面にない場合にのみ表示されるという点に注意して下さい。しかしながら、メッセージは通知センターのには表示されます。」とあります。(原文ママ)
とするとどういう実装になるんでしょうか。
ウインドウを表示しているあいだ、on timerイヴェントかなにかで通知される内容をチェックするようにするのだとは思いますが、、
ドキュメントは「Appleの仕様に基づけ、通知メッセージは、アプリケーションが前面にない場合にのみ表示されるという点に注意して下さい。しかしながら、メッセージは通知センターのには表示されます。」とあります。(原文ママ)
とするとどういう実装になるんでしょうか。
ウインドウを表示しているあいだ、on timerイヴェントかなにかで通知される内容をチェックするようにするのだとは思いますが、、
shozo Oe- 投稿数 : 21
登録日 : 2016/07/12
Re: 【プラグイン】Macで通知を表示する
欠落しているテキストは「通知センターのリスト」つまり履歴には表示される,だと思います。
つまり,画面の右側から通知がスライドするように表示されることはないが,
メニューバーの「通知センター」アイコンをクリックすると通知の内容が確認できる,ということです。
実装ですが,On Timerなどを使用するのではなく,
飽くまで画面上の通知(たとえば変数にメッセージを代入するなど)を主とし,
DISPLAY NOTIFICATIONはそれを補うサブという位置づけにするのが正しいと思います。
つまり,プログラム上は常に両方の方法でフィードバックを提供するようにし,
4Dが最前面であれば,画面上でメッセージを確認することができるので通知は不要,
4Dが最前面でなければ通知センターで注意を喚起する,という実装をします。
(「メール」や「Xcode」などもそのように通知を使用しています。)
なお,4DのDISPLAY NOTIFICATIONは,ユーザーによるクリックを検出することができません。
通知したらしっぱなし,です。
私が知る限り,BUILD APPLICATIONだけが内部的に通知を使用しているようですが,
もしかしたら他にもあるかもしれません。
アプリケーションが最前面であっても通知を表示したり,
通知がクリックされたときにコードを実行するためには,
Objective-Cレベルで「delegate」を定義する必要があります。
興味ある方はこちらのソースコードが参考になるかもしれません・・・
https://github.com/miyako/4d-plugin-user-notification
つまり,画面の右側から通知がスライドするように表示されることはないが,
メニューバーの「通知センター」アイコンをクリックすると通知の内容が確認できる,ということです。
実装ですが,On Timerなどを使用するのではなく,
飽くまで画面上の通知(たとえば変数にメッセージを代入するなど)を主とし,
DISPLAY NOTIFICATIONはそれを補うサブという位置づけにするのが正しいと思います。
つまり,プログラム上は常に両方の方法でフィードバックを提供するようにし,
4Dが最前面であれば,画面上でメッセージを確認することができるので通知は不要,
4Dが最前面でなければ通知センターで注意を喚起する,という実装をします。
(「メール」や「Xcode」などもそのように通知を使用しています。)
なお,4DのDISPLAY NOTIFICATIONは,ユーザーによるクリックを検出することができません。
通知したらしっぱなし,です。
私が知る限り,BUILD APPLICATIONだけが内部的に通知を使用しているようですが,
もしかしたら他にもあるかもしれません。
アプリケーションが最前面であっても通知を表示したり,
通知がクリックされたときにコードを実行するためには,
Objective-Cレベルで「delegate」を定義する必要があります。
興味ある方はこちらのソースコードが参考になるかもしれません・・・
https://github.com/miyako/4d-plugin-user-notification
miyako- 投稿数 : 483
登録日 : 2016/07/05
![-](https://2img.net/i/empty.gif)
» 【プラグイン】Macでフォルダーの変更を監視する
» 【プラグイン】macOSでウィンドウタイトルバーの背景を透明にする
» 【プラグイン】XLSファイルからセルデータを読み込む
» 【プラグイン】画像を比較して違いをヒートマップで表現する
» 【プラグイン】cURLライブラリを使用したネットワークツール
» 【プラグイン】macOSでウィンドウタイトルバーの背景を透明にする
» 【プラグイン】XLSファイルからセルデータを読み込む
» 【プラグイン】画像を比較して違いをヒートマップで表現する
» 【プラグイン】cURLライブラリを使用したネットワークツール
Permissions in this forum:
返信投稿: 不可
|
|