2010-08-05 1 views
0

У меня есть класс под названием XClient, написанный с помощью Xt (X Tools Intrinsic library) для установки многозадачного соединения. Этот класс XClient предназначался для GUI OSF/Motif для расширения XClient (так что графический интерфейс мог бы говорить о сокетах).Миграция из OSF/Motif & Xt в GTK +

Я пытаюсь перейти в среду GTK +, которая НЕ использует библиотеку Xt для соображений переносимости. Возможно ли создать оболочку, позволяющую GTK + использовать вызовы библиотеки Xt или это нет?

ответ

1

Я бы не ожидал, что Xt и GTK + будут работать хорошо или вообще в том же процессе. Они оба пытаются «владеть» дисплеем X, основным контуром события и т. Д.

0

Вы должны иметь возможность запускать Xt независимо от GTK, вызывая XtAppInitialize(), который откроет свое собственное подключение к X-серверу, который будет рассматривать как независимых клиентов.

Вы можете иметь отдельный цикл событий, поместив вызов в XtAppMainLoop() в отдельный поток. Просто будьте осторожны, чтобы вы не пытались что-либо сделать с ним нигде, кроме одного потока, потому что я не уверен, что Xt является потокобезопасным. (Возможно, к настоящему времени у меня не было Xt в течение почти 20 лет, и это было не тогда.)

Смежные вопросы