このページの hello world の例に従って lua-lgi と libnotify をセットアップし、 を使用した場合と同じように見えて動作する通知を正常に取得しましたos.execute("notify-send...")
。Notify-send は、私が収集したものから、ユーザー アクションを許可しないため、libnotify ライブラリを直接使用して、ボタンで通知を表示しようとしています。通知をクリックすると、ファイルが開きます。ここで説明されている関数を lua で呼び出すことができます(Hello World の例からのビルド):
Hello:add_action("button", "Open", function(notification, action, user_data) os.open("gedit tmp") end)
これにより、通知に「開く」というラベルの付いたボタンが正常に表示されます。ただし、コールバック関数が呼び出されないため、ファイルは開きません。また、スクリプトを実行しているときに、通知が完全に表示される前に実際に実行が終了していることに気付きました。そのため、通知のボタンがクリックされたときにプログラムが実行されていない場合、それがコールバックが呼び出されない理由の 1 つです。それまでは正常に動作しています。これは lua-lgi の私の最初の経験なので、これらのタイプのコールバック関数がどのように lua に変換されるか、またはサポートされているかどうかはわかりません。これはおそらく、ここで本当に理解しようとしていることです。この問題に関するヘルプ、またはボタンを使用して通知を表示し、他の手段によるコールバックに代わる方法についての洞察をいただければ幸いです。