多くのアプリケーションがQt4で構築され、一部のアプリケーションがJava(Swing)で構築されているが、KDE 3を使用しているという(おそらく?)異常な状況があります。RedHatEnterpriseLinux5以降を使用しています。 KDE 4の公式バージョンはありません。KDE4にアップグレードすることは、可能なオプションではありません。
お客様が必要としているプロジェクトの1つは、特定のアプリケーションをさまざまなデスクトップで開く機能です。KDE 3 APIをふるいにかけた後、KWin::setOnDesktop関数を使用してこれを行う主な方法のようです。
残念ながら、この関数を使用するには、KDEのライブラリ(libkdecore)とリンクする必要があり、Qt3のものを多数含むKDE3ヘッダーファイルをインクルードできる必要があります。したがって、実際にQt4アプリケーションのいずれかをKDEと直接通信させることはできません。
Javaアプリケーションの問題は、X11ウィンドウIDを取得することは、JNI呼び出しを経由する必要があるため、非常に面倒なことです。(JavaとX11の相互作用に関する便利なStackOverflowページがここにあります。)
この状況でデスクトップ間でウィンドウを移動する方法について誰かアドバイスがありますか?アイデアをありがとう。