У нас есть (возможно?) Необычная ситуация, когда у нас много приложений, построенных на Qt 4, и некоторые приложения, построенные на Java (Swing), но мы используем KDE 3. Мы работаем в Red Hat Enterprise Linux 5 и поскольку официальной версии KDE 4 для него не существует, обновление до KDE 4 невозможно.
Одной из вещей, которые требуются нашим клиентам в нашем проекте, является возможность открытия определенных приложений на разных компьютерах. После анализа KDE 3 API кажется, что основной способ сделать это - использовать функцию KWin :: setOnDesktop.
К сожалению, использование этой функции требует связывания с библиотеками KDE (libkdecore) и того, что вы можете включить заголовочные файлы KDE 3, которые включают в себя кучу Qt 3. Следовательно, мы не можем напрямую взаимодействовать с приложениями Qt 4 с KDE.
Проблема для приложений Java заключается в том, что получение идентификатора окна X11 является огромной болью, поскольку требует прохождения вызовов JNI. (Здесь есть удобная страница StackOverflow о взаимодействии Java и X11 здесь .)
У кого-нибудь есть советы о том, как в этой ситуации перемещать окна между рабочими столами? Спасибо за любые идеи.