sniqtにすべてのトレイ機能を認識させる(またはQtで動作インジケーターを作成する)


9

私のこの古いスレッドがあります:Qt / C ++で動作するインジケーターを作成するにはどうすればよいですか?ここで、Ubuntuでアプリケーションのトレイアイコンを作成するためにQSystemTrayライブラリを使用するよう提案されました。

Sniqtは残りの部分を処理するプログラムです。知られているように、Ubuntuはトレイアイコンを取り除きました。代わりに、インジケーターのみを使用するようになりました。SniqtはQtトレイアイコンを動作インジケーターに変換します。

問題は、それが非常にまともな変換を行わないことです。シングルクリック、ミドルクリックなどのアクションは機能しませんが、トレイアイコンをサポートするシステムでは機能します。

これらのアクションを取り戻す方法はありますか?QSystemTrayアイコンを使用しても、Ubuntuでこれらの興味深い(私の場合は非常に役立つ)アクションを使用できますか?

私が以前に話した他のスレッドへの答え(GTKライブラリを使用して動作するインジケーターを作成し、クラッシュを防ぐ方法)も知って嬉しいです。

Sniqtバグのリンク:https ://bugs.launchpad.net/sni-qt/+bug/1027652


これはすべてのインジケーターの通常の動作ではありませんか?左クリックイベントとスクロールイベントのみを受け入れます。
Timo

いや!たとえばサウンドアイコンを中クリックすると、サウンドがミュート/ミュート解除されます。私のアプリケーションでは、それを終了させたいと思います。
hytromo

@ mateo_salta、askubuntu.com
questions /

回答:


0

Qtは、信号が「アクティブ化」されていても、少なくともUbuntu Unityではこのことをサポートしていないようです。したがって、GTKと通常のトレイアイコンを使用することをお勧めします。Qtに代わるものはありません。これについては、Qtの開発者に問い合わせてください。


1
申し訳ありませんが、Qtの実際のトレイアイコンにはこの機能があります。私のトレイの動作は他のシステムでも問題なく動作します。それはUbuntuの問題であり、指標の頑固さです。Sniqtが問題を解決できる可能性があります
hytromo

2
これはQtのせいではないことを確認できます。また、問題がにあるのではないかと思いますsniqt。アプリケーションインジケーターに左クリックと右クリックを区別する機能さえあることを私は知りません。これは私にとっても常に不満の原因でした。
Nathan Osman

1

Unityは、選択により、「まともなトレイアイコン」と呼ばれているものをサポートしません。それは指標か何もありません。そこからいくつかのオプションがあります:

  • 限られたインジケーター機能で間に合わせてください。標準のQSystemTray.setContextMenu()メソッドを使用して、インジケーターで使用されるメニューを設定できます。

  • システムトレイからアプリを完全に切り離します。同様に、それをデスクトップ上のフローティングアイコンに変更します。これにより、神とマティアスエトリッヒが意図したとおりに、中央クリックと右クリックを受け入れることができます。:あなたはここにこれを行う方法の簡単な例を見つけることができますhttp://kde-apps.org/content/show.php/KEyes?content=51493、(必要に応じて、あなたはユニティの下で実行されていることを検出した場合にのみこれを行うにつまり、$ DESKTOP_SESSIONが 'ubuntu'に設定されている場合)。

  • サポートされていないUnityを宣言します。これはあまり良いオプションではありません。

オプション1と2のどちらを使用するかは、主にアプリケーションの動作によって異なります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.